If this is your first year doing game development make sure you have worked through the basics in the Learning Godot and Piskel page.
In your second year, you’ll build on the skills you learned last year, with a focus on advanced techniques and the chance to specialize. You'll also work in teams, simulating real-world development environments. This is a great opportunity to dive deeper into areas like, programming structures, advanced pixel art, shaders, particle effects, or optimizing levels.
Below are resources to help you get started with some of these advanced skills. Remember, just like any craft, mastering video game design comes from deliberate practice. The more you work on projects, experiment, and solve challenges, the better you’ll become.
Effectively managing your GitHub repository is essential for successful teamwork. All team members must understand the basics of Git management and branching, while one member should take responsibility for merging branches as the project progresses. These skills can only be mastered through practice, so during this learning cycle, you will actively branch and merge your project. This hands-on experience will help you navigate both the challenges and rewards of using Git.
This video provides a refresher on the basics of Git. Each team member should be added to the project and regularly push changes to their own branch. As a team, aim to merge all completed features into the main branch approximately once a week. Remember: do not merge features that are incomplete or broken!
Everyone should at a minimum understand the "Hello World" tutorial of Github.
At a minimum everyone in the team should understand the basics of Github as outlined in this walkthrough document.
With each new feature you should create a new branch. For instance someone might be working on the Enemy AI. They might make a brach called "Beatle Enemy AI"
One member of the team needs to become an expert in Github. Their job is when a feature is ready it needs to be committed back into the main.
Over the past year, you’ve laid the foundation by learning core programming concepts, exploring the Godot interface, and creating functional 2D and 3D projects. Now it’s time to build on those skills and take your game development expertise to the next level. Now it is about being more deliberate with your codebase and learning some useful systems for making better and easier to debug Godot systems.
Designing character and NPC logic can be challenging. Finite State Machines (FSMs) offer a way to simplify these complex systems, making them an essential tool if you're developing a metroidvania or similarly intricate game.
In this guide, you will learn how to create a Finite State Machine (FSM) in Godot 4. It looks at the problem this pattern tries to solve and see two ways to implement it: using a simple variable and functions, and using nodes for a visual representation.
Often you are wanting to pass information or signals to a node that is far away from the emitter. Instinctually you may want to connect distant nodes using the editor or convoluted paths. This is not best practice and instead using a powerful event bus you can simplify and more easily debug
This tutorial introduces the Event Bus system and further explains why it is important.
Shaders in Godot are small programs that run on the graphics card to create cool visual effects, like glowing lights, water ripples, or unique textures. They are written in Godot's Shader Language, which is easy to learn if you know basic coding. Shaders can make objects react to things like player movement or changes in the environment. They are also great for improving performance by letting the graphics card handle visual effects. Learning shaders helps programmers add exciting, polished visuals to their games.
The Godot Shaders library is an online collection of free, community-made shaders that developers can use to add visual effects to their games. Shaders control how objects look by modifying things like colors, lighting, and textures in real-time. The library includes effects like water, fire, glowing objects, and more, which can save developers time and effort. Using the Shaders Library is a great way to learn how shaders work, experiment with advanced graphics, and make games look more polished.
Last year you looked at using Piskel to make simple pixel art. You now need to do some deliberate study in order to level up your pixel art game. You should still incorporate the use of colour pallets and animations from last year but you should start expanding on more advaned skills. Pedro Medeiros a professional pixel artist has written an excellent series for Medium which includes a number of more advanced techniques that you should include in your pixel art this year.
At a minimum you should read each of these articles in the series and spend a week deliberatly practising the skills discussed. Art Prompts is a great place to just generate and idea that you can just make without wasting time in indecision.
While you can continue using Piskel this year, upgrading to a more professional tool like Aseprite could be highly beneficial. Aseprite is available for $20 USD on their website and includes a Steam key.
https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-2-bcd705cb04d7
https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-4-f57f51dcfa02
https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-4-ff4bfcd2d085
Godot's TileMap system makes it easy to create large 2D game levels by arranging reusable tiles. Instead of drawing everything by hand, you can quickly build environments using tiles from a TileSet. TileMaps also handle important features like collisions and navigation, which help characters move around and interact with the world. You can even use scripts to change the map while the game is running. Learning about TileMaps helps developers build better 2D games faster and with less effort.
Particles in Godot are great for adding dynamic effects like fire, smoke, rain, or explosions to bring levels to life. They use small, moving sprites or meshes to create these effects and can be customized with properties like size, speed, and direction. Level designers can use particles to add atmosphere, highlight important areas, or make interactions feel more exciting. With Godot's CPUParticles and GPUParticles, you can balance performance and visual quality depending on the project’s needs. Learning to use particles effectively helps make levels feel more immersive and visually engaging.
Lighting is a key tool for setting the mood and guiding players through a level. In Godot, level designers can use 2D and 3D lights, including DirectionalLight, PointLight, and SpotLight, to shape the look and feel of a scene. Adjusting properties like brightness, color, and shadow settings allows for dramatic or subtle effects. For 2D games, LightOccluders can create realistic shadows, while in 3D, environment settings like fog and global illumination can add depth and realism. Good lighting helps focus player attention, adds atmosphere, and makes levels look polished and professional.