HGE version 1.6 Copyright © 2003-2006, Relish Games. All rights reserved. http://hge.relishgames.com # Overview HGE is an easy to use yet powerful hardware accelerated 2D game engine. It is a full featured middleware for all who want to develop commercial quality 2D games rapidly and easily. It covers all imaginable 2D game genres: you could create everything from a simple puzzle to advanced multilayered platformer or strategy without even thinking of any non game logic code! And you don't have to know anything about "window messages", DirectX programming and all that stuff. Instead you can start developing your own game within 15 minutes! HGE runs on Microsoft Windows 98, 2000, NT, ME, XP and requires DirectX 8.0. It will run even on low-end video cards, including built in video cards such as Intel Solano (i815 chipset). HGE can be used with virtually any C++ compiler including Visual C++, Borland C++, MinGW and Metrowerks Codewarrior.
# Key features
| Strict concentration on subject "2D games" Task oriented design. Nothing redundant and lots of higher level features.
| Simple interface and extreme easiness You don't have to know anything about system programming and don't need any additional libraries. Classes and headers that make sense. Very easy to set up and use.
| Technical advanceness HGE is built upon modern Direct3D API what allows lots of special effects and great performance. Alpha blending, color tinting, geometry transformations etc. without performance hit at all!
| Complete and clear documentation All the features thoroughly grouped and described, lots of general game development hints provided.
| HGE just feels right! HGE is highly consistent. Every minor feature is carefully planned and interconnected with others.
| Free HGE is distributed under The zlib/libpng license, i.e. it is completely free for any uses including commercial ones.
# Architecture HGE provides three layers of abstraction covering all the various needs of a single game developer or a game development team:
Core functions | Helper classes | Authoring tools
All the system-dependent functions and routines. | Higher level game object classes. | Set of tools for game development.
# Core functions Hardware accelerated 2D graphics Support for BMP, DDS, DIB, JPG, PNG, TGA file formats; windowed and fullscreen modes; exact texel-to-pixel rendering; arbitrary shapes rendering; drawing lines and filled shapes; rendering to texture; direct texture data access; clipping regions; various blending modes; alpha channels and blending; tinting; global scene transformations; Z-buffer. Audio effects and music playback Support for WAV, MP3, MP2, MP1 and OGG audio file formats; support for MO3, IT, XM, S3M, MTM, MOD and UMX music file formats; compressed streams playback; flexible volume, panning and pitch control. Keyboard and mouse input handling Get keys state and clicks; get key names; translate keycode to character; mouse position & wheel tracking; event-based and poll-based input handling. Resources Load resources from disk files; load resources from ZIP file (resource pack); easy switching between both; multiple resource packs support. Timing functions Frame rate synchronisation with unlimited FPS; fixed FPS mode; monitor refresh synchronisation; FPS counting; idle time handling. Initialization & Log files Write and read strings, integers and floats; printf-style log file output. # Helper classes Sprites & Animations Transparent interface to all hardware features; anchor point support; stretching, rotation and scaling support; horizontal and vertical flipping; timing functions; various playback modes. Fonts Load and render bitmap fonts; various text alignment modes; font tracking, scaling and rotation; string width calculation; printf-style text output. Particle systems & Distortion mesh Advanced 2D particle systems allowing to create effects like smoke, explosions, magic etc.; particle systems manager; timing and movement functions; bounding box calculation and collision detection; water, lenses, page wraps, twists and even real-time morphing effects. Resource manager Powerful resource script; on the fly script switching; create complex objects with just a single function call; fully automated memory management; precaching and purging of specific resource groups. GUI Simple and flexible controls management; default controls: text, buttons and sliders; support for highly interactive, animated GUIs. Vectors & Colors Full set of operators and functions for handling 2D vectors; full set of operators for ARGB color calculations; hardware color conversion; color clamping. Collision detection (coming soon) Oriented bounding boxes (OBB), radius-based and pixel-perfect collision detection; transformed objects collision detection; sweep tests; flexible set up functions. Tile maps (coming soon) Multilayered tile maps; map scrolling; tile properties manipulation; tile animations; user-defined tile brushes; coordinates conversion; map clipping. # Authoring tools
| Resources Compiler HGE uses widespread ZIP archive format for the resource packs. So you can compile HGE resource packs used in a game with your favorite archiver. You even can protect them with a password.
| Particle Systems Editor Allows to edit visually all the parameters of advanced 2D particle systems. You can modify directions, speeds, life times, trajectories, particle colors and opacity etc. looking at the resulting effect in real time.
| Bitmap Font Builder Allows to create a ready to use bitmap font from any font installed in the system. You could then apply any additional effects to the fonts using your graphics editor.
| Tile Map Editor (coming soon) Allows to draw maps with tiles, animations and edit tile properties. Also pattern, area and pathway brushes are supported. You can use unlimited number of visible and hidden layers and define their properties.