For the past two years I've been working on a game engine. It's a pure 2d game engine with an emphasis on realism, or what passes for it in a 2d environment. It's fully platform independent, only the low level hardware access requires a different implementation per platform. I've put some movie clips on youtube, check out my channel if you are interested and let me know what you think.
Maybe I need to explain more about what kind of game I'm trying to create, because the demos mainly show car racing sections.
There are going to be car racing sections as well as space shooter sections, but the main game will play something along the lines of Exile,
a game I'm very fond of since I played it as a kid on the Amiga 500.
What was nice about it was that it managed to create the illusion of a believable world, believable not because of fancy 3d graphics,
but because of the way everything was connected to each other. It felt real.
My engine supports solids, liquids and gasses made up out of pointmasses which interact with each other realistically including transfer of heat. Hopefully the possibilities that this offers will make the game feel realistically interactive.
For example you can heat up a liquid such that it vapourizes increasing the pressure on a valve that can the be launched to hit a block that is connected to a switch that opens a door.
When designing the levels I can supply scale factors for the SI system of units such that these make sense in relation to the level I'm designing so that all the derived quantities can also be expressed in real units that make sense. Which I think is very cool. It also means that different scales of gameplay can be made consistent. The spaceship demo shows larger quantities for the same units than the racing demo, because the scale is different. If you look closely you can see the spaceship 'parked' in the racing sections, it's big in relation to the car.
And so a game can be made where the transitions between scales are not seamless but still consistent and believable, and a world can be created that feels huge.
The frame of reference of the physics simulation can move and rotate; Fictitious forces are then applied and gravity can be neatly expressed as an acceleration of the frame of reference. This allows for the level itself to be a huge moving structure like the inside of a spaceship or a
large elevator. Or part of a planet.
Currently I'm finishing the lighting and then I'm going to create a space shooter demo with actual enemies!
After that I'm going to add an animation system that needs to blend in nicely with the physics system such that for example when a character jumps, there is a reciprocal force added to the platform beneath it.
I've also started experimenting with OpenCL because the physics needs to run on the GPU; It runs on the CPU now because I want it to be complete before I start optimizing. The framework was designed with hardware acceleration in mind from the very beginning, though.
When I have enough building blocks I'm going to create the Big Game, something that will have space shooter, racing and side scrolling Exile-like sections in there. And it will tell a grand tale of oppression, love, betrayal and shit blowing up!
And it will be done, when it's done. There are no deadlines. I'm just doing this for fun in my spare time.
Ultimately I would like to create something like Elite, but with the ability to exit your spaceship. So you can walk around in your own spaceship,
in spacestations and on planets. And drive around on planet surfaces with vehicles, explore cities and underground structures etc.
It´s not going to be seamless like Frontier was, and it´s 2d of course, but it would offer those gameplay possibilities. Doing something like that in
3d in a seamless environment with the current-gen expectations of graphic quality is not impossible, but beyond the capabilities of current-gen
game engines I think. None of the projects that appeared on the net that promised this ever delivered, and I'm not holding my breath for Elite 4,
but it would be cool if I was proven wrong on this. In any case, doing this in 2d in a non seamless environment is well within possibility, and I'm
first going to create smaller scale games until the engine is capable of handling it.
I have some code for generating random solar systems based on physical data, and an economy simulator in an early stage of development,
but these are more or less laid on ice at the moment.