GithubHelp home page GithubHelp logo

pkwagner / breakout Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 0.0 21.12 MB

A remake of the game Breakout using LWJGL / Slick2D / EEA

License: MIT License

Java 100.00%
lwjgl slick2d eea game java breakout-style-game university

breakout's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

breakout's Issues

Level-Changing

  • Create more default levels
  • Level-Switching on level complete

Redesign artwork

  • New block images
  • New stick image
  • Animations?
  • Game icon
  • Item images (slomo, speedup, speeddown, bigger, smaller, smash, healing)
  • Menu background
  • Back button (arrow)

Fancy items

  • Multi-hit (smash?) ball [temporary]
  • Additional balls
  • Slo-Mo (ball, stick and clock speed (!) decrease)

* implementation pending until the improved collision model is implemented

Block

  • block view
  • block controller
  • IHittable implementation
  • Switch/Case for enums (BlockType)
  • Correct block collision bump velocity
  • Comments

HighScore

  • Load data file
  • Save data file based on internal representation
  • Display Menu (State)
  • Write Javadoc comments
  • Write Adapter code
  • Unit test file loading

Branch: highscore

Time/Stopwatch

  • Start watch
  • Update ongoing time
  • Display time on screen

Music

  • Background music (maybe just ambiace sounds)
    Audio-Clips:
    • Block hit
    • Stick hit
    • Item-Sound?
  • Sound controller for better error management

Reset the ball if it overlaps with another entity

During testing, I found out that in some cases the ball overlaps with another entity (in this case the border and the stick).

So the ball could also collide with a border and will stuck in it, because after the next tick it's not fast enough and still collides with it. Since we are only inverting the movement vector, it moves forth and back.

  • Side collision with the stick
  • JavaDoc BallCollideEvent
  • JavaDoc onCollide
  • Correctly detect collision direction with blocks
  • Separate logic of block collision (block health)
  • JavaDoc BlockCollideAction
  • Reset position on border, stick and block collision

Branch: ball-collision

Back-Button

  • HighScore - > Main menu
  • Paused game -> Main menu
  • Bring pause image to the foreground
  • Credits - > Main menu
  • JavaDoc

Branch: back-button

Main Menu

  • Buttons
  • Switch to state if button is pressed

Settings-State

  • Volume
  • Music checkbox
  • Sound effects checkbox
  • Keymap
  • Fix back-button
  • Change value listener
  • Check for duplicate key bindings

Credits

  • New main menu entry
  • Credits-State
  • Show developer information

Pause

  • Pause game rendering
  • Pause game updating
  • Keyboard Shortcut
  • Display pause text on screen
  • Write Javadoc comments

Branch: pause

Player-model

  • Lives handling
  • Amount of destroyed blocks
  • Elapsed time? -> Clock [solved]
  • Game started (boolean) -> Clock [solved]

Ball speedup

Ball speed increases using a constant value (inside the GameParameters)

Items

  • Shorter/Bigger Stick
  • Slower/Faster Ball
  • Items fall
  • Items pickup

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.