Wing Craft
ESC for Quit
{ 1P: 5 for coin, 1 for start, WSAD for directions, JK for button A B,
2P: 6 for coin, 2 for start, arrow key for directions, num 1,2 for button A B}
And also in title page, press Tab key to set you own buttons
Hope you enjoy it, any comment and suggestions are welcomed! ^ v ^
Awards
Scores
Ratings (show detail)
Overall: 3.8
Fun: 3.8
Production: 4.4
Innovation: 3.1
Files
File | Uploader | Date |
---|---|---|
pyweek23.zip
— final
single-mode |
xmzhang1 | 2017/02/25 09:13 |
Wing_Craft-master.zip
— final
ver 0.1 |
xmzhang1 | 2017/02/24 14:42 |
title.png
screenshot |
xmzhang1 | 2017/02/24 09:10 |
screenshot.png
boss1 |
xmzhang1 | 2017/02/21 00:15 |
Diary Entries
7days left
Day 0
Day 1
To be honest, my first choice is 'Obsoloetely Fabulous', I made an old fashioned game framework last week (or it should be last month), and bad luck, the theme is "The Lesser of Two Evils", I saw that Futurama episode, so I just made my game a two-player game. I creat enemy attack method, enemy will attack the nearest player if it is an two-player game. In fact, I do not know the exact meaning at that time. I am not good at English. Anyhow, I get the meaning finally, and I made the player have two choice in the game. So if only one player plays, both of his choice may be aweful, but as the theme ordered, "The Lesser of Two Evils". I think he should choose the first one to play.
For the game itself, I meet a problem, I do not use the tmx map this time, how to creat the enemies in the map is a problem to me. I try to let the enemy appear by game frame, I make a enemyspawn dict, the key is frame, the value is enemy, I use dict.get() to creat the enemy. Well, bad luck, all the enemy instances will be created when the dict is created, so it would drop the game framerate. So I have to use another method, Hope I have a good day today.
Day 2
well, every thing goes well, now it is boss 1, graphics OK. I am not good at designing stages. I intend to creat 5 stages, for stage 1, eveyone can pass, even with bombs. For stage 2 and afters, the enemy number will increased, and player need some patience and skill. The next days, I will focus on boss design. They should have several attack mode according to their health. For innovations, I will give boss some skill, say the boss would give poison to the player, let the player weapon level down, let the boss health increase. All in all, my game is a shoot them up genre (well, how to pronounce this word ), Traditionally, the bullet should go straight, because delta_move = speed * direction, well, I will break it this time on pyweek 23. but I really do not know it is OK or not. Just try it. OK, go on designing my bosses.
Day 3
Day 4 & 5
Anyhow, I am struggling about try to finish my 5-stage game in plan, I have to stay up these days. Or I just finish 3-stage game, polish my code, fully tested it and try to modified all the errors and bugs. For myself, I still want to finish the 5-stage game according to my schedule, because I want to do some challange, and also I know, if I just finish 3 stages, the stage would be 3 stages forever...
And I think 5-stage is fine, I can generate the stage enemies randomly by computer, I just creat the boss class. In fact, boss class is fine, bosses are seperate classes, if one class can not solve the problem, use two classes. But I meet problem on bullet class :) there are many conditions on bullet, I use pygame.sprite.Sprite, Bullet, EnemyBullet classes to manage my enemy bullets. It is really a mess, and with a lot of copy and paste, I do not think I am OOP. Anyhow, first let my code work, then clean it :)
I want to post my code tomorrow, for one thing, I am not sure I have time to test my game, maybe other people run it can tell me the error, then I have one day to fix it, for another, If I know tomorrow is the deadline, I will go straight to the theme, though I still want to make a clear how the Rect.colliderect in pygame works, is it use quadtree? is it fast than boundary comparison?
Day 6
OK, I have finished my game with 5 stages, my_game Generally, I think it is fine. I would not make many changes during the last day, just find errors and try to package my game into .exe file. I tried pyinstaller but never success, I searched on web and someone said because of the graphics path is not correct, but I still do not know how to do it. Could you help me? ;)
I would be very glad if you try to play my_game and tell me you feelings, any guidance and cristism is welcomed.
Good night!
Day 7
About my game, when first run it, there would be a game loading before start, so the black screen at first is normal. It would last several seconds, I think that is because a lot of class.__init__ runs, I do not know how to solve it, or add a loading screen to give a hint. And if you know how to solve it, please tell me :) For the game, I prefer to choose 'cricket' in game according 'The Lesser of Two Evils', its damage is bigger but speed is slower. For enemies, high speed is easy to attact bullets and make them wide spread, but for boss, you need laser beam to quickly defeat it. And yes, as I said. Bomb is a good thing,it can save life and make a massive damage. Remember to use it.
Good night!
Day 21
Time to say goodbye, see you all in pyweek24 :)
I want to thank all your suggestions and feedbacks, especially who report the bug in boss 3. I really do not realized it until you said that. And also I really like all the entries, for some entry, I just feel my IQ is not enough to play it. :) And some entry, I do not know how to get it work, I remebered Gato's game using SDL2, I really want to see it, but I did not get it work. And also some entry,like Gumm, show a very good example how to using logging module, I will carefully check it in the future. I have some sugggestions, for one thing, maybe we should add some tags to all the project, like Python 2, pygame, pyglet, etc, or the game genre, STG, ACT, PUZ, etc. For another, how about we can upload vedios here, to introduce our game, how to play it, how to install it. I know there is youtube, but just for me, I have to use VPN to access youtube.
All in all, game is over, life is still on.