Its been a long time since we last posted a article here on indieDB. Infact we've been on a hiatus for quite some time. After our unsuccesfull crowdfunding campaign we realised certain things. Our game was focused on multiplayer only while the chances of creating a succesfull long lasting game like that are very limited. Especially in the indie game scene. We decided it was time to focus on a singleplayer campaign with multiplayer add-ons.
Something else we ran into - by being browser based with webGL - was many limitations. We couldn't create anything to scale because of how limited we where in the amount of artwork that the engine was able to support. Things like actual buildings and/or creating a city was pretty much impossible. An arena shooter was all we could possibly do. Depth perception was also a huge problem because of the way our engine was constructed. Although the tech demo was in 3D with our 2D art we couldnt really create a shadow layer below it. Things like Screen space ambient occlusion where also impossble to achieve. Being a fake perspective (Isometric) this caused huge readability problems.
All in all, up until our kickstarter we've faced many problems in terms of artwork. Our tileset had to be adjusted in a limited amount of time, because the blocks all had lines surrounding them making the scene even harder to read and making it all look incredibly bad. The mech sprites had only 8 angles and in combat this caused major - uncomfortable - bad combat. We quickly added another 8 angles to total up to 16 directions per mech. 528 parts for each separate mech design. They still had to be modular so every individual part had to connect to every individual mech designs alternative part.
- A cityscene sketch idea (pixelart only)
Beside all that Leendert (lead artist) got hit by a huge burnout. Not nessesairily from running the project but from his dayjob and various other things that where going on in his life.
So what we've been working on in the time between our crowdfunding campaing and now is a super secret project for over a year that we thought would be nice to share to see who is interested, if anyone.
We wanted an engine that could render pixel art from any perspective using voxel data, this has a few benefits including:
- Dynamic Lighting
- Dynamic Shadow Mapping
- Dynamic Normal Mapping
- Runtime camera rotation
- Uses standard 4x4 matrices and 3d vectors
- Raytraced Lighting
- Fast and easy physics/collisions
- Fully Destructible Environments
- 1 pixel = 1 voxel in orthographic perspective
- Infinite World Streaming
- Isometric, diametric, oblique, who the fuck cares - its supported
Please note: the images / video's below are in no way a representation of finished are work.
They are creations to test our new tech its abilities and are in no way polished to be fancy artwork.
Take the following isometric scene:
Usually it'd be comprised of flat layers, or a tileset collection like this:
But then the artist has to draw every angle that your camera can possibly rotate to, usually isometric games allow some form of camera rotation but usually its a hacky way of rotating map data and using 4 different sprites. Then you are still working with 2D information, so you have to hack and fake alot of calculations to fake 3D effects.
What if you could just supply a different camera angle and it'd just "work"?
This provides alot of gameplay benefits, and you could even develop mechanics around it (think Fez). Of course, it can be completely side view or even top down.
And here is a wall with some guttering, one of the "tiles" in the above images:
For a typical isometric viewpoint, the cache would look a bit like this. Each chunk (64x64x64 voxels) is rendered to a 128x128 image. This image can then be manipulated by pixeling over the rendered shape. Eventually you it can be loaded back into the engine on top of the voxel file. The engine we developed will load the color data and makes the tile or sprite no longer needed after:
Here's some of the fancy effects that was listed above:
Let us know if any questions, we can provide some more technical info if you are interested. Here's some misc videos of experiments that we did in the engine:
Really early prototype stuff:
We really hope to be able to make more progress on our project as this engine solves many problems we've ran into with our old tech demo. For the people out there still following the project and hitting us up trough socialmedia from time to time: ya'll are awesome!
Thanks for reading!
Sam & Leendert