Game Surface

Created by Jijith Nadumuri at 27 Jul 2010 16:24 and updated at 27 Jul 2010 19:46

This is a unique application that I developed which I call a Game Surface. I call it thus because this is like a surface where characters can be dragged and dropped. As soon as the characters are dragged and dropped to the surface, they started acting various actions encoded into them.

GameSurfSmall.png
Game Surface

Some of the actions may involve walking, flying, or running. If some of the moving characters happen to collide they will quickly negotiate at run time and avoid the collision. Not only characters, you can also drag and drop audio files, video files and text files. When audio files are dropped onto the surface and if the name of the audio file matches with the character existing in the surface, that sound gets attached to the character. For example if we drag and drop a character named cow into the surface and then drop an audio file named cow.wav, the sound inside the cow.wav (could be the cry of cow) get attached to the character cow. Thus you get a character with motion, animation and sound just by drag-and-drop. If video files are dropped the DirectShow engine which is part of this application intercept it and play the video file. If a text file is dropped (an ordinary notepad file) the SAPI (speech application programming interface) engine will intercept it and play it.

ControlSurface.png
Control Surface

There is also a control surface overlaid on top of the of this Game Surface. When user clicks on a character, all the actions (animations) encoded for that character is listed on the control surface as a control layout as action buttons. User can then click on various action buttons to make the character act out that particular action. Currently the engine support sprite animation and uses 2.5 dimension (simulated 3D or two-and-a-half-dimension). Hence not only action but action performed in a particular direction also can be controlled. The sprites can be 4-directional (East, West, North, South), 8-directional (NN, NE, EE, SE, SS, SW, WW, NW) or variable directional; the number of directions supported by the sprite too is detected automatically by the application. The application used DirectXGraphics for 2D / 3D graphics and DirectXAudio for sound. It also used DirectMusic API to render midi files.

See The Video Demo

These are Shockwave-flash video files. Make sure that your browser has shock wave plug in. Install shockwave (swf) support for your browser. If you have a slow connection wait for the video to load fully.

  1. Draggin and Dropping the Characters into the Game Surface
  2. Controlling a single Character using Control Surface
  3. Controlling many Characters using Control Surface
  4. All Characters under control

See the full Application Snapshot

If you are not able to view the video due to some reasons you can see this snap shot image:-

Further note

This application is not a Game Engine, but roughly falls into the genre of a Game Editor. However like a Game Engine it has subsections like Graphics Engine (built using DirectXGraphics), Audio Engine (built using DirectAudio), Music Engine (built using DirectMusic), Video Rendering Engine (built using DirectShow) and a speech engine (built using SAPI).

The control surface is useful to test the actions performed by each character individually and collectively. When we make an actual game, we need to wire the interconnection between the characters and their actions as game-logic. Thus your game code can focus on what is the game rules and goals and this engine will take care of graphics, audio, music, video and speech for your game application.

Share:- Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License