First shmup game done!

Post your finished games or work-in-progress here.
Posts: 11
Joined: Wed Nov 02, 2016 2:52 am

First shmup game done!

Postby xmzhang » Sat Feb 25, 2017 1:25 pm

well, I am quite new about making shmup games, but I really like it. Now I have finished my first work, I could not wait to show it and want some guidance.

I write in Python/pygame, nearly from scrach, my code is herehttps://github.com/xinmingzhang/Wing_Craft

I know it is not popular, I tried to package it,google drivehttps://drive.google.com/file/d/0B0HMExpvnwWQdkgxN3pQODRYR0U/view?usp=sharing
Last edited by xmzhang on Mon Feb 27, 2017 12:23 am, edited 1 time in total.

Site Admin
User avatar
Posts: 240
Joined: Thu Jul 26, 2012 2:32 pm
Location: Melbourne

Re: First shmup game done!

Postby monoRAIL » Sun Feb 26, 2017 1:54 pm

Yes the google drive link works - however it has to zip the whole thing before it can be downloaded. You could make the download faster by zipping it yourself first (using 7zip) and uploading that. It's only 79MB when zipped.

The game is very good for a first shmup. You have some great bullet patterns from the bosses and mini-bosses. I felt the rapid fire was much weaker than the laser, particularly when it would miss the quick-moving enemies at the start. I think the player's weakest gun should still kill the early enemies.

Also I felt that the invulnerable time given to the player after respawning was too short. It's common in shmups to give the player at least two seconds of invulnerability after they lose a life.

The difficulty got pretty crazy in stage 4. I can't imagine anyone playing through this on one credit!

Posts: 11
Joined: Wed Nov 02, 2016 2:52 am

Re: First shmup game done!

Postby xmzhang » Mon Feb 27, 2017 1:31 am

monoRAIL wrote:Yes the google drive link works - however it has to zip the whole thing before it can be downloaded. You could make the download faster by zipping it yourself first (using 7zip) and uploading that. It's only 79MB when zipped.

The game is very good for a first shmup. You have some great bullet patterns from the bosses and mini-bosses. I felt the rapid fire was much weaker than the laser, particularly when it would miss the quick-moving enemies at the start. I think the player's weakest gun should still kill the early enemies.

Also I felt that the invulnerable time given to the player after respawning was too short. It's common in shmups to give the player at least two seconds of invulnerability after they lose a life.

The difficulty got pretty crazy in stage 4. I can't imagine anyone playing through this on one credit!


Thank you very much! monoRAIL, you helped me a lot ! I have uploaded the zip file, it is really smaller. Thank you for your suggestions, well I have some questions, would you kind to answer :)


First, I still confused about the bullet damage and the enemies health in the game. how to set them? Especially I have my weapon 5-level upgrade system, now I set the level 5 is 1.5 times of level 1. And also about the laser weapon, I set its damage is 2 times of wide weapon, I also let the player moving speed decrease when using laser, but the effect is not obvious. And also how to set laser weapon, I just make the bullet closely one by one, but I think most of the shmup game laser weapon is not what I do.

I also confused how to design the stages, I am not good at playing shmup, I can only pass 2 stages in my own game though I designed myself, if I died at stage 3, I will keep dying. I do not know how to design stages, I use computer to randomly generate the stage 2 - 5. I know it is an irresponsible attitude, but I really do not know how to design it. And also if I set my game can be played by two players, the difficulty would be decreased half, is it true?

Finally, what is the main language in shmup games, I use python just because I am familiar with it, but I have to say it is really awkward in dealing with images, and it is slow, also hard to package. If I want to make a long-term develop plan, what should I choose? And also about images, I nearly spend 80% of my time to search images on web, to modify them, to be honest, I really tired of doing this, :D is that ok to sell my own game (not this one) and then use the money to pay profession people help me doing this ? :D

Site Admin
User avatar
Posts: 240
Joined: Thu Jul 26, 2012 2:32 pm
Location: Melbourne

Re: First shmup game done!

Postby monoRAIL » Mon Feb 27, 2017 3:39 am

I noticed the slow movement speed of the laser, that was very useful. I think the initial damage of the wide-spread weapon is too low, because some small enemies were able to get right through it and go past me. Your multipliers for the damage increase sound good.

Designing for high-level players is very hard, because you want to challenge them, but the difficulty is higher than you can achieve yourself. I recommend you don't create levels that you cannot complete yourself, however the game should naturally become harder for advanced players because they are trying to do more than just survive, they are chasing a high score.

Ikaruga is probably the best example of this - nearly anybody can complete the first two levels by simply holding down the fire button and killing all the enemies, but you will not get a good score doing this. When the player moves past 'playing to survive' and on to 'playing for a high score' the game becomes harder because they have added a conflicting objective for themselves. Ikaruga also spawns additional enemies if you kill a wave of enemies quickly, meaning beginners don't see most of the enemies in the game, but expert players can get a really high score if they can kill enemy waves efficiently.

Lastly, randomizing the enemies is a quick way for the developer to add content to the game, but often it's not very satisfying for the player, because achieving a high score is more a matter of getting a good random-enemy pattern than high player-skill.

As for the language you use - it really doesn't matter so long as the game is fun and runs well. If you're not enjoying writing in Python then definitely switch, it should be fun for the developer or the game will never get made! For 2D shmups many people use Game Maker, and Unity 3D is also a popular engine these days. I like Unity 3D because it can do 2D or 3D games and you can program in C# which is a very powerful but easy to use language.

Posts: 11
Joined: Wed Nov 02, 2016 2:52 am

Re: First shmup game done!

Postby xmzhang » Mon Feb 27, 2017 4:38 am

monoRAIL wrote:I noticed the slow movement speed of the laser, that was very useful. I think the initial damage of the wide-spread weapon is too low, because some small enemies were able to get right through it and go past me. Your multipliers for the damage increase sound good.

Designing for high-level players is very hard, because you want to challenge them, but the difficulty is higher than you can achieve yourself. I recommend you don't create levels that you cannot complete yourself, however the game should naturally become harder for advanced players because they are trying to do more than just survive, they are chasing a high score.

Ikaruga is probably the best example of this - nearly anybody can complete the first two levels by simply holding down the fire button and killing all the enemies, but you will not get a good score doing this. When the player moves past 'playing to survive' and on to 'playing for a high score' the game becomes harder because they have added a conflicting objective for themselves. Ikaruga also spawns additional enemies if you kill a wave of enemies quickly, meaning beginners don't see most of the enemies in the game, but expert players can get a really high score if they can kill enemy waves efficiently.

Lastly, randomizing the enemies is a quick way for the developer to add content to the game, but often it's not very satisfying for the player, because achieving a high score is more a matter of getting a good random-enemy pattern than high player-skill.

As for the language you use - it really doesn't matter so long as the game is fun and runs well. If you're not enjoying writing in Python then definitely switch, it should be fun for the developer or the game will never get made! For 2D shmups many people use Game Maker, and Unity 3D is also a popular engine these days. I like Unity 3D because it can do 2D or 3D games and you can program in C# which is a very powerful but easy to use language.



Again, THANK YOU VERY MUCH! I think I should go back playing games to make clear their score system. :) I will check them then update my work.

Return to Showcase

Who is online

Users browsing this forum: No registered users and 3 guests