GameFramework Interface
GFI
is
Here


GameFramework Interface is a program that provides core services to plug-in DLL modules, designed primarily for games. The core provides an interface to the DLL that allows direct calls and calls via message queueing to perform or provide a service to the DLL.

The core services provided include:
  • Video control
  • Audio control
  • Input device control
  • Proprietary format resource archive interrogation
  • Audio resource loading/cache (wav format)
  • Bitmap resource loading/cache (BMP, TGA, PCX formats)
  • Bitmap font resource loading/cache
  • Ancillary routines to perform common tasks (blits etc)
  • Integrated console
  • 6581 SID emulator

Video - Provides detection, initialisation, and shutdown of video system. Screen resolution, bit depth, depth buffer mode (Z, W), gamma, brightness, contrast, alpha blending fully controllable.

Audio - Custom mixing engine using 90% assembly language. Message-based control for playback of game, menu, and ambient channels in mono, stereo or fake stereo for mono sounds.
Audio engine currently set to mix 10 game channels. Tests with up to 256 channels increase processing time by only a small amount compared to 10 channels.

Input - Fully message-based system for initialising and reading keyboard, joystick, and mouse devices. Analogue and digital joystick compatibility.

Archives - Prioritised archive/filesystem scanning for location and loading of resources.

Bitmaps - Loading/cache of bitmap resources, including automatic reloading on device recovery after loss. Independent caches for lightmap and dynamic textures.

6581 SID emulator - Emulation of the 6581 SID chip as used in the classic Commodore 64. All functions available except the filter. Full ADSR, ring modulation, multiple waveforms on a single channel implemented.
Primarily for use with my C64 remakes. An early version of the emulator is included in some of my older games. Check it out in the Older Programs section.


Still to come:

Audio engine spatialisation. This is not yet fully implemented in the current engine. Useful for hearing what direction a sound is coming from.

NoiseTracker compatible player. For playing Amiga tracker tunes. There are some great tracks on the web. Get yourself a REAL Amiga and check some out.

MP3 player. Just because they take up so much less space than WAV files.

Shader support. For pixel and vertex shaders.

Force feedback support for joysticks.

General code improvements. Since some of the engine code is now over 2 years old.

Art lessons for me. As you will notice most of the games have original graphics. There are two reasons for this:
  • Authenticity with the original game.
  • I am crap at art.




GameFramework Interface - GFI screenshot at 640x480 showing a 640x480x16 background image from Kingpin and the male model from Quake 2. The model is fully animated and displayed in 3D using my own MD2 loader.

This screenshot shows only a fraction of what GFI can do.......




GameFramework Interface - GFI 640x480x16 of 100% converted version of C64 Jet Set Willy reprogrammed for GFI. The graphics and sounds are original C64.





GameFramework Interface - GFI 640x480x16 screenshot of 100% converted C64 Manic Miner




GameFramework Interface - GFI 640x480x16 screenshot of partially (75%) completed Asteroids




GameFramework Interface - GFI 640x480x16 screenshot of partially completed C64 Jet Set Willy 2




GameFramework Interface - GFI 640x480x16 screenshot of 98% complete Space Invaders


Copyright © GyroCorp 2001 - 2009
Site optimised for IE 6.0 at 1024 x 768 x 16m