Skip to content

Latest commit

 

History

History
84 lines (75 loc) · 4.15 KB

README.md

File metadata and controls

84 lines (75 loc) · 4.15 KB

LSD

Game Information:

A casual physics based arcade game where you fire the character around, avoiding the obstacles, to hit and destroy all the black platforms in order to beat the level. This is a port of the original game idea (which was written in Lua by a friend) but this one is written in Java using the awesome libGDX framework.

Original Game: [https://github.com/paranoiax/LSD] (https://github.com/paranoiax/LSD)

Running the current game:

It can compile to the following platforms:

  • Desktop (requires Java 1.6+ and OpenGL 3+) Tested current version
  • Mobile (iOS / Android) Tested (only android)
  • HTML5 (any modern browser, Internet Explorer requires Google Chrome Frame) Tested (Box2D error cropping up for now)

A compiled (but not regularly updated) HTML5 version is at: [basimkhajwal.freeoda.com] (http://basimkhajwal.freeoda.com)

They should all work but only desktop and HTML5 builds have currently been tested. For the latest version, download this repository and run the gradle-based projects on your computer -- more here.

Development:

TODO:

  • Improve menu/title colours and design
  • Improve the graphics for the laser
  • Improve the pause menu
  • Improve level select and pack select (make them look nicer)
  • Add smooth transitions between screens
  • Add a loading screen with delayed / asynchronous resource management
  • Change GUI scale so it feels more comfortable on a smaller device
  • Write Android specific code to run ads
  • Add the ability to gain stars over a time period (day streaks)
  • Add ability to buy more stars (Android only again)
  • Create more levels (on going)

Currently Working:

  • Platforms are loaded from a Tiled map (.tmx) format
  • Platforms destroy correctly when player launched off them
  • Platform count / destroyed
  • Player moves accurately and the aim is precise
  • Camera movement to follow the player
  • Add ability to restart the level
  • Implement player death when reaching map boundaries
  • Add moving down jump animation
  • Create solid blocks the player has to avoid
  • Implement player death with solid blocks
  • Update the GUI and create a flat theme
  • Add better buttons and make the menu screen more attractive
  • Change the font rendering to BitmapFontData scale rather than many pre-loaded image files
  • Create a player died menu
  • Create a level finished menu
  • Add particle effects when platform is destroyed
  • Add camera shake effect when platform is destroyed
  • Add a sound manager
  • Implement background music and sounds for player death, jump etc.
  • Different sized particles
  • Add ability to progress from level to level
  • Create a loader to load levels from the previous version of LSD
  • Add custom shaders for the background
  • Add parallax effect for the game
  • Create a sub-menu / level selection screen
  • Particles for player death
  • Slow-motion level complete / player death
  • Add timer for each platform
  • Add a central event queue / re-organise code
  • Gesture detection and pinch zoom in/out
  • Prevent player movement after death
  • Prevent firing through a block
  • Add a pause option/screen
  • Add JSON read/write for a persistent Settings value
  • Create a settings screen
  • Create an extensible map format that will allow various objects
  • Add moving platforms
  • Customize shader for the game (add a new one)
  • Add lasers that automatically toggle on intervals
  • Add option of having multiple map packs (with a scroll screen in between)
  • Prevent accessing end levels until unlocked
  • Allow incrementing levels unlocked
  • Add sounds for button clicks / randomize explosion sounds
  • Add a 3-star collection per level and a total star count
  • Add "reset game" option
  • Create a generic dialog box screen
  • Add a currency system with stars in order to unlock new packs
  • Introduce variable level numbers within a pack
  • Create a different launch system and allow a choice between default and new type