Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Incredible Snake Rony Bershadsky Naama Mayer Michal Gefen Nimrod Talmon.

Similar presentations


Presentation on theme: "The Incredible Snake Rony Bershadsky Naama Mayer Michal Gefen Nimrod Talmon."— Presentation transcript:

1 The Incredible Snake Rony Bershadsky Naama Mayer Michal Gefen Nimrod Talmon

2 Original Game Everyone knows the cell phone snake game. The snake needs to eat apples. After each meal, the snake grows, and another apple is added to game. The snake shouldn’t touch the outside walls or collide with itself. The snake can move to the left, right, or straight forward The snake tries to eat as many apples as it can.

3 And now for something completely different… The same as the original game, but: Full 3D. Continuous (and not discrete) movement. The snake is built from different component which are connected to each other.

4 Snake’s goal After each meal, we search for the “best” collision-free path to the next apple. “Where “best” means: Relatively short Search time bounded. If there is a path, the algorithm should find it.

5 Snake representation The snake object holds a member for the snake’s head and a member for the snake’s body. The body is a list of XYZ coordinates, each representing a vertebra. We control the head (the first component) which can move in almost 360 degrees, and all the vertebras follow it.

6 Motion planning While searching path, the snake receives suggested paths from the motion planning algorithm and checks its legality by actual movement of the snake. We developed algorithms & heuristics for suggesting the best paths. There is a default algorithm which was built carefully from the best heuristics order, but it is also configurable by the user

7 Motion planning – cont’ “Basic algorithm” – choose random points (0 – n points) and try to build a path through those points. “Enhanced apple” – Enhance the apple until it touches a vertebra and then find a path from the head to a random point on the perimeter. “Make room” – When the snake is gathered, we try to clear the way in order to make the path search easier.

8 Graphical user interface Implemented in AWT & SWING (two of java’s GUI libraries) and contains several panels: 3D GUI, implemented using LWJGL. 2D GUI, implemented as a projection of our 3D world on some axis. Second life.

9 Incredible example…

10 The End


Download ppt "The Incredible Snake Rony Bershadsky Naama Mayer Michal Gefen Nimrod Talmon."

Similar presentations


Ads by Google