Page 1 of 1

Haaf's Game Engine (open source)

Posted: Fri Nov 09, 2007 6:31 am
by Tami
[url=\"http://hge.relishgames.com/overview.html\"]HGE[/url] 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:

[b]Core functions [/b]
All the system-dependent functions and routines.

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.

[b]Helper Classes[/b]
Higher level game object classes.

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.

[b]Authoring Tools[/b]
Set of tools for game development.

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.

HGE 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.

HGE 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.

[b]License[/b]

The zlib/libpng License

Copyright © 2003-2006 Relish Games

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

[b][i]BASS Audio Library[/i][/b]

[b]WARNING!!! [/b]BASS is not a part of HGE and is licensed separately. It is free for non-commercial uses, but if you want to use HGE with BASS in a commercial or shareware application you must purchase BASS. See [url=\"http://www.un4seen.com\"]http://www.un4seen.com[/url] for details.

You may choose not to use BASS in your application and replace it with your own code or any other audio routines, either free or licensed to you.