Hello JGO Community
I think its time to introduce the little project we have been working on in the past year, we have dubbed the project as the "Halfway Game Engine" or HGE for short.
The story behind this project is fairly straightforward, its about two uni students who have been good friends since high school to get together, make an engine and potentially make a few games to be launched. Our names are David Arayan (myself) and Matthew Jackson.
Unfortunately the project failed, after a year of solid hard work we ran out of time to be able to make anything we would consider worthy for launch. Whilst the engine is working properly, my initial development calculations were quite far off which stretched the development to a full year. Regardless, it was very good experience for both of us, and we hope it will help us in our future prospects.
Now my friend is graduated and I still have one year to go for uni. I've decided to make this post because the HGE is not dead, I will be committing my spare time for next year in polishing the HGE to be submitted potentially as an open source project, and who knows, maybe later in life we may continue where we left off this year.
Without further to do, I'll be posting a few screen shots of the HGE aswell as go through what it can/can't do and what my plans are for it in the future.
Currently the Engine comes with a "World Editor" which was developed primarily by Matthew and of course the Engine primarily developed myself.
What the engine can do?
One click generates an eclipse project for either PC or Android
Collision Detection – AABB, OBB, Circle
Collision Detection Broadphase – Quadtree, Octree, Grid
Rendering – 2D sprite rendering, dynamic movement, dynamic color change, uses immediate mode openGL
Particles – Flexible particle system integrated with the renderer to produce a number of effects
Scene Manager – an entity management system that manages sounds, music, gameobjects and more.
Math Library – mathematics utility library, includes Vector2 and Vector3 classes aswell as Matrix2x2 Matrix3x3 Matrix4x4 and Quaternion classes.
Pooling – mainly taken care of by the scene manager, pooling ensures the garbage collector for android stays happy.
GUI manager – a manager system built specifically for managing GUI elements, including clickable buttons and labels which can either be in camera (local) space aswell as world (entity) space.
Supports Android deployment version 1.5 +
Generic Containers – tailor made generic containers for use in engine, including linked lists, dynamic arrays, pools, stacks and queues. Optimised for android (so GC stays happy)
Utility – including bitflags, interpolators, jukebox (for music), stopwatch and particle factory with pre-defined effects.
Other – Automatic atlas packing and rendering filters via the World Editor. #declare tags in script editor to control source output, debug mode.
What the engine can't do?
No 3D rendering as of yet
Rendering does not support shaders as of yet
Now that the feature set it complete, i'd like to show some screen shots. Because the Engine is just code, and posting a screenshot of code is pretty meaningless, i'll post screenshots of the World Editor aswell as two games which were in development.
The editor in action, this is the Invaders Must Die game
Invaders Must Die - A PC/Android Tower Defence Game (WIP)
Memory Game - A random sequence of pictures is given, you must remember at set time and enter answer when ready, it increases in difficulty and gives a score based on accuracy and time taken (WIP)
In coming weeks, i'll try to complete the TD game and as soon as playable version is available, i'll post a link in this thread. In meantime, you can follow the development of HGE (if you wish) at my blog http://davidarayan.wordpress.com/
Thank you for reading