|
Submitted by , posted on 24 March 2004
|
|
Image Description, by
Behold the screenshots from the addictive little game we've been developing over the past 16 months! Built from scratch using DirectX, the game was inspired by the 2-player mode of lemmings(tm) for the super nintendo. It is a real-time network multiplayer strategy game in which you try to save your own creatures (called 'clones') while trying to stop your opponent from accomplishing the same task by giving actions to your clones such as 'build', 'fly', etc.. It sounds simple, but try playing the 4-player map in which every player is trying to fend off 3 other opponents at once and you'll find out how complex the game can become. We have recently added a singleplayer aspect to the game as well to round it out a bit.
The upper-left pic shows a saved game being played back. We built the gamefrom the ground up with multiplayer in mind, so saving games is as simple assaving the network messages.. very easy, but a nice feature as it allows forpre-recorded solutions to single player levels, and we use save games as the background for the main menu.
The upper-right pic shows a multiplayer match on a level which has anti-gravity traps. Playing this level could possibly break your brain :)In addition to antigrav traps, there are also size traps which double or halve the size of a clone, water traps, electricity traps, slingshot traps,and more.
The big middle pic is of the built-in mapeditor. This was probably the biggest challenge in working on this project. It is a WYSIWYG editor which allows for free scaling, free tinting, free rotation, and alpha blending of the landscape objects. You can see some the levels we've created here (www.tomkorp.com/clones/levels.asp). The mapeditor still has a ways to go before it will be complete.
The bottom-left pic shows the local-multiplayer mode of the game. The splitscreen was made using DirectX viewports. The grey group is controlled by the mouse, and the green group is controlled with a gamepad. We had planned to support multiple mice, but DirectX doesn't make it easy so we went with the gamepad.
The bottom-right pic shows the new singleplayer interface we've implemented. Originally you would just play the singleplayer levels sequentially from a list.. very boring :) Now there is a 3d model of a brain which you can rotate around to find 'regions', each region is made up of a neuron map like the one shown in the screenshot. Each neuron represents a level, and solving enough levels lets you move on to more brains. All regions on a brain can be played at once, which allows for non-linear play as well as the possibility of 'hidden' regions.
Generating the landscapes built by the mapeditor could involve rotating and scaling several hundred different images, and to be practical, we wanted it to take no more than 4 seconds to load a level. At first we tried using various image manipulation packages (such as imageMagick), but found that none of them offered the speed, robustness, and quality which we desired. So we rolled up our sleeves, boiled some coffee, and coded our own ImageTransformation Engine! Our custom ITE allows for arbitrary scaling, rotation, tinting, and alpha blending while keeping memory overhead to an absolute minimum. We take advantage of dozens of special cases to speedup transformations. It also features an optimal double caching system to eliminate redundant transformations and a custom bilinear filtering routine that renders very smooth, artifact free edges. The final step was to replace a few key functions with inline assembly code which resulted in dramatic speed gains. We also added some specific code to guarantee image transformations will be exactly the same on different processors, so that client and server will always be in sync. Our ITE loads almost any level in under 2 seconds :)
Being a multiplayer game we wanted to make it easy for players to find each other, so we created a world ranking system and an 'ansi c' world server (similar to UT or HL, but on a much smaller scale) which allows players to find active servers from anywhere in the world! The current demo is available from www.tomkorp.com. We would welcome any feedback you might have!
rt & ttk
|
|