Adam Lenart
 
  Hyper Bomberman (with Map Editor)  
  • 2D tile engine with dynamic/animating tiles written in C, uses DirectDraw 7:
    • Fast assembler drawing routines for alpha-blending, shapes, and lines.
    • Supports multiple rendering layers (background, level, blocks, overlay).
    • Tileset definition compiler/loader (text-based definitions as loadable).
    • Supports windowed and fullscreen video modes at any resolution.
    • Supports 32-bit (24-bit + alpha), 16-bit (565+555 pixel formats), and 8-bit (with JASC palette file loader) color depths.
    • Fast bitmap font drawing function with printf(...) style syntax.
  • Sprite system using velocity/acceleration/time based movement and frame animation:
    • Text-based sprite definition file loader (using struct serialization system).
  • Quake-style console with fast runtime parser/interpreter/event manager that handles:
    • Commands: that support multiple arguments and are directly linked to functions prototyped with the function(int argc, char *argv[]) syntax.
    • Variables: that can be strings, integers, floats, or booleans (toggles) and are directly linked to in-code variables.
    • Aliases: that can define new commands as sequences of multiple commands seperated by semicolons.
    • Actions: that are commands with on/off dualities (+command/-command).
    • Bindings: that tie key input events to commands or actions that trigger +command for key down events and -command for key up events.
  • Menu system with nestable sub menus:
    • Passes through console interpreter for variables and commands.
    • Has extendible menu item types including: commands, textboxes, listboxes, sliders, checkboxes, labels, and seperators.
  • Input using DirectInput 7 to poll keyboard/mouse and generate events for interpreter.
  • Sound using DirectSound 7 with multiple channels to mix multiple sound clips.
  • Music using DirectMusic 7 for MIDI files to change tempo and set loop points.
  • Multiplayer network support using DirectPlay 7 lobby/session system:
    • Game logic for hosting is NOT fully implemented yet.
    • Event messaging system for queuing, processing, and serialization of game messages.
    • TCP/IP and IPX protocols are available.
  • Map and tileset editor using pure Win32 API and DirectDraw 7.
    • Reads/writes to custom binary map format.
    • Supports editing of multiple map layers, including layer drawing toggles.
    • Unlimited map dimensions (width/height).
    • Built in tileset editor and external text file tileset compiler.
    • Supports bitmaps for tilesets with width of 256 and unlimited height.
    • Map editing and tile selection frames are scrollable by mouse (right-click/hold/drag) or arrow keys.
    • Alpha-blending and inverting used for selected and hovering tiles.
    • Tileset selection and player start position editor tabbed dialogs.