Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Ah okay! Then I got your question wrong. Sorry ^^. I didn want to sell you GDevelop, I just thought, the question was: Should I use Pygame or is there an alternative. I should practice reading a bit ^^. So for Pygame, I'm sure you know how to google some tips and tricks and video on how to create a simple game in general. But as an advice for making a Bullet Hell Platformer in general I would still say: start super simple! Then advance if there is time left.

So I would focus on one level and make a schedule like:

1. Setup the environment of pygame and create a first empty game scene that I can start: (by using the video below this should take not more than some minutes but I'll give it 1h since you may have to download stuff and install it and then something will go wrong and you will watch the clock and see that 30 Minutes are already gone. So when you take 1h you have plenty of time to do it.) 1h

2. Create a super simple main character sprite in paint or some other program and add it to the scene (fixed without movement yet). 1h

3. Implement the movement of the main character (without heavy animations of the character) so that the character moves left and right and can jump (maybe using the video as a reference) 2h ... (again a high estimation but you want to have a good feeling and don't feel under pressure to be most creative)

4. paint some platform sprites and add them to the game. They do not have to be fancy yet. Implement that the character can hop on platforms and can stay on platforms. 2h

5. paint ONE simple bullet. add it to the game so that it appears somewhere when a certain button is pressed. If that works, then always add it at the players position. When this is working add it at the players position and make it move in a direction by itself so we have bullets to shoot. (Take care, that you delete the bullet when it flies "out of the game" or when it flies too long. Else every bullet you shoot will take up some memory and in a bullet hell game, your memory will be full in no time) - 2h

7. Paint a simple enemy and add it to the game at some static point. When done, implement some code so that, when a bullet hits an enemy the enemy disappears and the bullet disapears. (google "pygame collisions") - 2h

--- This marks 10 hours now --- We now have a moveable character, that can shoot enemies that are on a fixed position. Build a first executable of this minigame now and share it with someone to get the first feedback and check if the process of creating and shipping the game works.

8. Add a score counter to the game that shows 0 points. Then add some points to the score when a bullet hits an enemy and make sure the correct points are displayed. Also add a counter for the players health. - 1h

9. Let this first type of enemy slowly move (or fly) towards the player. When it hits the player, it disappears and the players health is reduced by some amount. Make sure the displayed health of the player shows that some HP are lost. - 2h

10. End the Game with a nice end screen if the player dies. Add a Restart button to start over. - 2h

11. Now let enemies spawn at random positions over time - 2h

12. Add something that makes the game harder the longer it goes. for example the enemies now take 2 or more hits to die or they do more damage or they are faster. This way the game processes and feels more like a game. Again: You could go for a story in your game to drive the game but that takes too much time! So keep it simple. Think of something that is guaranteed to end the game over time by either killing the player because the enemies get stronger or adding a score limit or a time limit. Something like that. - 1h

--- This marks 18 hours into the development if everything goes according to the plan. This should be somewhere on day 2. If you are faster: good for you! If you are slower: No Problem you already have a game! The next steps can be done in any order according to your preferences and the time left. ---

Next Steps:

- add some sound effects and/or music

- add background

- refine your graphics

- add a start menu

- add more enemies, more types of enemies, make the enemies shoot!

- make the camera follow your player

- instead of simply disappearing, enemies now drop points to collect or weapon upgrades, 

- add more types of bullets (burning damage, ice bullets, that freeze enemies in their movement)

- add a high score at the end. It does not have to be persisted. Players can simply make a screenshot if needed (keep it simple)

- enemies drop some boosters, so you can move faster or have more HP (get a shield)


I think if you can manage all of the above within the jam time you are really good! Don't try to add too much too fast. Always start with something simple and add upon that, that's way easier and more fullfilling since you always see progress and you can play the game from a very early stage on. That will keep you motivated.

I hope this helps a bit :)


In case you don't want to google: here's a good start for the very basics.