![ScreenShot] (https://cloud.githubusercontent.com/assets/3908463/5158073/b11b8072-7328-11e4-9233-5c2fd8efcee3.gif) ![ScreenShot] (https://cloud.githubusercontent.com/assets/3908463/5158032/de1bacac-7326-11e4-8b84-60f7d24145f7.gif)
##Introduction
This is a game developed in Java within 10 weeks with 3 other teammates: Han Jiang(https://github.com/Han-Jiang), Issac Lam and Hei Yin Wong.
- Game name: Dark Destiny
- Game type: Real Time Strategy game
- Game theme: zombie-themed survival game
- Language: Basic Java, without any additional library or game engine
- Development team: 4 people
- Development time: 10 weeks
##System requirement
- JRE1.6_65 (IMPORTANT) as in other JRE there would be inconsistent functions
- 1 GB free memory for JVM Mac 10.9 Mavericks 10.9.0 or above
##How to run
- Change the JRE environment to Java 1.6_65 (IMPORTANT)
- Allocate at least 1 GB memory to your JVM (i.e.: Add "-Xms1024m -Xmx1024m" to your JVM argument)
- Click Run in your IDE, and choose the main class as com.darkdensity.main.Main
##Feature
-
Control the sprites and run away from the zombie as easily as a single click
-
Scrout the building for food, other survivors and wood to maintain health
##User Interface
-
Selection Sprite/Building Panel:The sprite or building being selected.
-
Time and Resources Indicator Panel:The remaining time needed to survive in order to win.
-
Minimap:A minimap, the yellow points on it are the zombies, and the blue points are the survivors
##Game Control After entering the game world, the following controls would be:
-
Select the Sprite/Building: Click the sprite, or use your mouse to drag a square to enclose the sprites within the dragging square. If the selection is successful, the sprite would surrounded by yellow glows, and the status bar on the bottom of the user interface would show the sprite, or the first sprite being selected (if multiple sprites are selected).
-
Control the Sprite: After selection of the sprite, right click on the game world, the sprite would find them the way there (implemeted by efficient path-finding algorithm).
-
Add a barricade: Click the construction icon
on the left of your User Interface, a barricade would appear in your mouse, simply add it to the place available. To see if a place is available for adding a barricade, just see the indicating color of the barricade.
-
Scout a building: Select a sprite and right click a building.
##Efficient Path-Finding Algorithm Based on A* Algorithm, but we have some improvement on the performance:
- Insead of finding every tiles (in our game, one tile is 16px *16px) to the destination, we first found the crossroads we need to go to the destination.
- We smoothed the path where we don't neccessarily go to thoses crossing points, see the path on the testing.
- When there was some changed on the path, e.g. a barricade is added to the path, the path would be changed accordingly. There is a path manager to manage all the pahts, and it listens to the change of the path all the time.
Testing Output
##Demo Video Check out full one-minute game playing video on YouTube (http://youtu.be/1po4sz6yDoU) or Youku in China (http://v.youku.com/v_show/id_XODMzNDU2NDA0.html) check out this project on GitHub(https://github.com/SeffyVon/DarkDestiny)!
![ScreenShot] (https://cloud.githubusercontent.com/assets/3908463/5158073/b11b8072-7328-11e4-9233-5c2fd8efcee3.gif) ![ScreenShot] (https://cloud.githubusercontent.com/assets/3908463/5158032/de1bacac-7326-11e4-8b84-60f7d24145f7.gif)
Thank you!