Ixeko
3D Puzzle Platformer
3D Puzzle Platformer
Ixeko is a 3D Puzzle Platformer taking place in a fictionnal world, inside a mystical giant. The game's unique selling point are the AI and the way you can interact with them with your flute. The project was made in 5 months by 3 Game Designers, 6 Game Artists and 2 Game Programmer including myself. On this project, I was gameplay programmer and was reponsible of the development of all features except AI.
Of all the features I made for the game, including the 3D controller, the most intresting one was for sure the procedural animation for our snake AI. We wanted for our snake to move like a real one, even on a hilly terrain.
First I made a tool using bezier curves to draw the path that my snake will follow.
Then I improved the tool to make it place points on the curve. My idea was to move the snake from point to point, and this way making it follow the path i want.
I improved the tool again so the curve pattern could duplicate itself infinitly, as far as needed to reach the final target destination.
I also had to make it work in a three-dimensional space, because the snake had to be able to move up or down slopes.
In order to make it works on a non-flate area, I made a raycast-based system that allows the points on the curve to be placed on the highest point of the current terrain. This way, the path drawn by the points adapt itself depending of the terrain.
Finally the time has come to make a 3D object follow the path!
Before making it all works together, I had to make sure the skeletal mesh for my snake was working properly, with all bones following the previous bone in a realistic way.
Here is the result of my procedural animation before implementing it in game!
Here is a complete walktrough of the game, in which you can see my work on the controller and the final result of the procedural animation at th end! Sadly we didn't have enough time to use the snake as much as we wanted (was orginally planned to be the main ennemy and obstacle), but I'm still proud of the result!