Submitted by , posted on 29 July 2003

Image Description, by

Because of all the new 3D these days, programming isn't so much knowing how a computer works, but the 3D math. I always wanted to do stuff in software, knowing each step of what happens when my code is executed. Therefore, I made this sofware "3D" engine using the same technique as the old SNES Mode-7 (hence I named my engine "Mode7").

Here are four shots from my up-coming Mario Kart clone. The lower left pic was taken in 512x384x32, and the rest taken in 640x480x32. As you can see, the FPS count isn't at all bad. The sprites and the background are blitted using hardware, the rest is drawn on a per-pixel basis. So, how can the FPS be that high? Well, the first reason is that I'm running it on a XP2400+ :). The second (main) reason, is because the renderer is written in inline assembly. Running it in the optimized 16-bit mode in 320x240 gives an amazing FPS count. It runs quite well even on a P200 (in 320x240x16). I don't remember the exact FPS I got, but I know that it ran smoothly on a P166. That was one of my main goals: getting it to run well on an old computer without hardware support. I'm pretty proud of it, even if I say so myself -_^.

Here's the obligatory feature list:
  • Fast software 3D renderer written in inline assembly
  • Runs in any resolution and bit depth (selectable by the user)
  • Tile based maps
  • Uses logical cameras to make it easy to understand and use.
  • Renders to definable viewports so that you can easily make it split screen
  • Simple to setup
  • Support for sprites, using a sprite list.
  • Sprite sorting for correct draw order
  • Simple frustum culling for the sprites
  • Supports sprites from 8 different angles
  • Editor that runs in 3D mode
  • Maps can be of any size and have any number of spirtes
  • What I could still add is more optimization using MMX, But lately I've been rather lazy and havn't worked on it for a month (>_<). I hope to be getting the Mario Kart clone up 'n running this autumn with split screen and multiplayer support. Any questions or comments can be sent to :

    Niklas Wahrman

    Image of the Day Gallery



    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.