about

jeff smith is a
software developer currently working in .NET, PHP, and Javascript. you can follow him on twitter or on tumblr.

current projects

ngdom

ngdom is an open-source 2D game engine written in javascript. (Pronounced like kingdom, without the k.) It avoids the use of Flash*, trading performance for a wider array of device compatibility. ngdom is suitable for adventure games, RPGs, puzzle games, and more.

Features include:

  • Open Worlds

    Create large, free-roaming environments. Paint maps in your favorite image editor, unrestrained by tiles or textures. The scene engine tracks the state of every object in each area, and provides several transition animations to choose from.

  • Physics, AI, & Collision Detection

    Populate your maps with items and enemies; watch them interact with the world around them. A robust class-based sprite engine handles all of the game objects, tracking movement, actions, animations, and more. Need to customize a behavior? Simply extend the class and override the appropriate method.

  • Real-time Combat

    Fight with swords or guns. Control speeds, health, and damage rates, invulnerabilities and weaknesses. Each enemy can be outfitted with its own behaviors and attacks.

  • Power-ups and XP

    Change the game on the fly. Assign experience points to enemies, customize and deploy an array of items. Each object can modify any property of any sprite in the game, player or otherwise. Set levels and upgrades. Choose whether an item is collectible or stationary, invisible or physical, temporary or permanent.

  • Automatic, cloud-based saving & loading

    Design grand, time-consuming adventures. Players can save their game at any time, and retrieve it from anywhere. Save automatically at checkpoints, periodically, or as a result of a custom trigger. Control exactly what information is saved down to the scene and object level.

  • More

    Beyond this, ngdom provides user input tracking, multi-channel sound, checkpoints, mini-maps, projectiles, doors & keys, player hud, weapon types, and triggers. The feature list continues to expand.

* ngdom makes use of the SoundManager 2 library, which may include a Flash component, depending on the target platform.