Chip's Challenge DS is a project by 3 dutch students from the "Hogeschool Utrecht". It's an attempt to recreate the Microsoft version chip's challenge on the Nintendo DS. The project is a school assignment and the deadline was on Wednesday the 27th of January 2010.
The project is still under development. The following features are present:
- Walking around
- Dying from water fire and monsters
- An implementation of the Pink ball, Glider, Fireball
- Picking up items (keys, shoes and chips)
- Opening locks
- Swimming in the water and walking on fire
- Collision with walls
- Levels are build with multiple layers
- Completing levels and moving on to other levels
- Inventory screen
- Alternative walls
- Green button (toggle walls)
Features currently under development are:
- AI for the Blob, Walker, Bug, Paramecium and the Teeth
- Clone machines
- Bear traps
- Music and sound effects
A web based level editor (written in PHP) is available. Because it is written in PHP it needs a webserver to run on. It's currently not available on a public host, but is announced to do so shortly.
The editor's output is automatically saved on the server. It generates C code (the main language of the project), which can be pasted into the game's source code. A level can be build by clicking on the tile of your choice, and then on the grid to the left of the screen. The number of chips to collect and the time limit can be set at the home page, before editing the level. With every click the source generated and saved on the server.
The engine is based on the Microsoft version of the game by Tony Kreuger. The tileset is the same as the original 32 by 32 set. The low resolution of the Nintendo makes the viewport a lot smaller. Only 8 objects can fit on a horizontal row and 6 on the vertical row. Some of the engines features are:
Multi Layer Gameplay
One of the bigger challenges in the game engine is the multi layer system. This system allow chip to move over other objects like fire and water. The difference with the Microsoft engine is that in the original engine objects are initially placed on the top layer. Objects moving over other objects are moved back one layer when needed. The DS version has a foreground and a background layer. The background layer contains al static objects like floors and walls. The foreground contains all moving objects like monsters and items and mainly consists of transparent objects (objects ignored by the rendering engine). When chip tries to move to a new tile it checks both layers for objects, if the top layer is empty the bottom layer is checked, if the toplayer has items on it the bottom layer is ignored.
The code is compiled with the devkitpro compiler and outputs a NDS rom file. The rom will work on most emulators (no$cash, ideas) and on R4 flashcards. The beta rom's will soon be put online for testing.