Giter VIP home page Giter VIP logo

kill-the-aliens's People

Contributors

pi-tmn avatar tnibert avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

b1zguy

kill-the-aliens's Issues

Improve Boss AI

Boss AI is handled in obj.py, in the move() method of the Boss class. The Boss has three modes: 0 is no movement, 1 is aimless moving, 2 is chase ship, 3 is fire at ship. There is an if elif block in the move() method to determine mode and do appropriate behavior. Mode 3 hasn't been implemented yet and its place is denoted with a comment.

It is possible that implementing mode 3 will make the game to hard, yet to be determined.

So mode 3 should be implemented or AI can just be totally overhauled and made way more awesome. If anyone wants to play with it, have at it, totally encouraged. If someone who knows more about AI than me wants to make it better, by all means, please.

Any questions or discussion, just drop a post. Cheers!

Player Boss Collision Bug

When player collides with boss, all life is lost, health goes into negative. Need to make only one health be lost, player explode, reset position. Working in new branch.

Make power ups able to be shot and explode

We want to increase the difficulty of the game by making it possible to shoot and explode the power ups before getting them, making the player have to be a bit more strategic about how they move and what they shoot.

Player disappears under boss chunks

At the end of the game, after you kill the boss, the boss will explode leaving little blocks for chunks taken out of it where the explosions occurred. If at this point, you fly the space ship over the boss, the ship will disappear under the blank boxes. E.g. the blank boxes are being rendered to the screen after (and therefore over) the ship.

This may be a very simple fix. It may be more complicated in that the blank boxes are part of the explosion animation and the explosion animation must be rendered over top of the ship/saucers/boss etc.

Ship respawning over saucer

As it stands, ship can respawn over a saucer. When this happens the ship automatically dies again as it registers as a collision. We should perform a check before respawning to ensure that this cannot occur.

Improve art

As of right now the artwork is kind of thrown together for the purpose of getting the game made. If someone who is a better artist than I would like to make some art for the game, it would be greatly appreciated. If you make an image file of the same dimensions as the sprite image files with the same file name, it should just plug right into the program. The opening and closing screens are especially bad, and the game map is just a bunch of green dots on a black background.

In theory you can adjust the sprite image sizes and it will work without any code modification. The exception to this is the explosion image which is split into frames. The width of each frame is defined by the xstep parameter of the toframes() function in obj.py (currently 120 pixels, should be put into it's own variable). There is code to for sprite animation (eg like the explosion), but it will need more code added to implement it, but it's definitely not a huge step if desire is there.

We can extend it as much as we want to make it look cool and have special effects and all that. Ideas are more than welcome.

Add variety in scoring

Must make score for killing saucers a function of how far up you are vertically. E.g. closer to top of screen is higher score. Must make score for boss a function of how many lives player has left. E.g. more life equals higher score.

Player gets stuck in respawn loop until death in boss battle

Currently, if the player is shot by the boss while fighting the boss, the player will explode and respawn. When the player respawns, the boss may shoot them before they are able to move again repeatedly until they die. This is caused by the player taking time to explode without being able to move. Need to perhaps add in an if condition specifying to not shoot if the player is exploding.

Add Power Ups

Self explanatory enough. I was thinking one for the ability to shoot three bullets at a time for an amount of time and one for a force field or enhanced defense for an amount of time. Could extend MoveableObject class and fly down the screen at random times. Other ideas are welcome.

Add networked multiplayer

Project goal to add capacity for networked multiplayer. Network code should probably be put into its own py file. Might be good to make space ships able to fly vertically up and down active game screen.

Make boss explosions end in transparency

Right now, when you kill the boss, he explodes and each of the explosions have a black square appended to the end of the explosion that stays on screen to give the appearance of chunks being taken out of the boss.

This has two unintended consequences.

When you fly the space ship over these chunks, the chunks are rendered over top of the space ship so the space ship disappears. In addition, working on implementing new art that does not feature a black background and the black squares do not integrate well into this.

Making the black square be a transparent square will solve these issues.

Audio Implementation

Audio support needs to be implemented. Music in background. Possibly sound effects for explosions and the like. Open to input, not sure how music and sound effects will go together given the amount of explosions constantly occurring.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.