A downloadable 2D shooter gun fight for Windows
A 2D platformer shooter.
You can get code here at github : https://github.com/JingShing/2D-Platformer-Pygame-shooter
keyboard & mouse
- w, a, s, d to move t, y, g, h to move camera
- f to shoot in front of character
- m to switch mouse control camera
- l to open test camera box
- O to active enemy hatred
- mouse to aim
- left mouse key to shoot
- right mouse key to melee attack
- Q, R to switch weapon
- 0 to switch shader
- 9 to resize camera
- + , - to scale camera
- T, Y, G, H to move camera
- 8 to fullscreen
- left joystick to move
- dpad to move. also can move camera by activing camera mode.
- left joystick button to active dpad camera mode.
- right joystick to aim.(need to open aim mode first)
- right joystick button to active aim mode.
- A to jump.
- Y, B to switch weapon.
- RT to shoot.
- LT to melee attack.
- RB, LB to scale camera.
Can use mouse to aim and used keyboard to control camera : scale camera, move camera, mouse control camera.
Add enemies and blood effect.
Enemy has a simple ai to aim player. And need to be trigger.
- Add entity class to collect similar function and variable from player and enemies.
- Fixed aim line to make it more correct.
- Using weapon fail fixed.
- Shooting will shake weapon now.
- Add China variable to control blood is green or red.
- Add switch weapon feature. Using list and index to change weapon.
- Add melee attack system. Use right mouse button to melee attack.
- AI can melee attack now. Improved AI_attack function.
- Melee attack is part from up pos, down pos and middle pos has different value to edit.
- Enemy will being intense if you attack in front of them.(多方位調整，目前有高、中高、中、低等攻擊位置，有正反兩面，所以有八位攻擊角。)
- Create bullet function fixed. Now will record user.
- Player shoot 8 direction.
- press 8 to fullscreen.
- Classify entity and weapon more graceful.
- Add a dict to control shot bullet type.
- Add resource path to each load to make sure exe will success.
- bullet has health now.
- Add a dict to collect weapon data
- Add shield
- Q can switch last weapon, E can switch next weapon.
- Add map border
- Add invinsible time
- Dynamic bullet amount in map
- Add a object class for item or moving particles.
- Add flesh explode from dying entity.
- Change Entity type and object type setting.
- Add health bar. UI system first part done.
- Add Weapon UI
- Add object pool and 3 function about object pool. Now can store bullet in it.
- move_to_object_pool(self, object)
- take_from_object_pool(self, object)
- seek_object_from_object_pool(self, object_type)
- Update flesh move. Can add x direction by bullet hit.
- Add particle to object pool.
- Add joystick control.
- Add player, enemy and weapon to object pool. -> weapon float bug
- Fixed joystick aim.
- Weapon spawn error fixed.
- Add custom cursor.
- Fixed cursor offset and aiming deviation.
object pool format process
- Set used_groups to store groups and old_self function to load new info\
- Find where you kill this object replace with move_to_object_pool(self)
- Find where you spawn this object replace with code below
old_object = self.seek_object_from_object_pool('object_type') if old_object: self.take_from_object_pool(old_particle) old_object.old_object(self, reference...)
Up to do
- background particle -> reference sword rain
- Drop item -> new class?
- Ammo limit -> do it with UI
- more weapon -> need data dict and file to edit
- switch map system
- networking -> socket?
- Improve AI move
- Change Character sprite -> I hate spritesheet
- Add crouch system
- Parkour system -> wall jump or something
- Boss Fight
- Random mode
- Store System -> need money or credit
- melee weapon and melee attack system
- switch weapon
- bullet across wall hack
- enemy body flesh explode effect
- UI -> HP, Enemy info , Ammo, Item Info, Map info ...
- object pool to keep bullet and weapon.
- xbox controller
|Genre||Platformer, Action, Shooter, Simulation|
|Tags||2D, Arcade, Casual, Retro, Short, Singleplayer|
|Code license||BSD 3-clause 'New' or 'Revised' License|
|Average session||A few minutes|
|Languages||English, Chinese, Chinese (Simplified), Chinese (Traditional)|
|Inputs||Keyboard, Mouse, Xbox controller, Playstation controller|
Click download now to get access to the following files:
Leave a comment
Log in with itch.io to leave a comment.