Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

891146 Posts in 33525 Topics- by 24768 Members - Latest Member: Stome

June 19, 2013, 02:36:13 AM
TIGSource ForumsDeveloperFeedbackDevLogsMicroBattlefield
Pages: [1]
Print
Author Topic: MicroBattlefield  (Read 1148 times)
Goran
Level 0
**



View Profile WWW
« on: February 10, 2013, 02:16:47 AM »

MicroBattlefield

Battlefield inspired * Voxel styled * Real Time Strategy


I've seen things you people wouldn't believe. Voxel tri-planes on fire off the shoulder of Voxwald. I watched shellfire glitter in the dark raining on the box-shaped tanks. Unspeakable carnage and millions of cube-men die. All those moments will be lost in time, like tears in rain. Time to play!

2013/02/10:
I've started developing MBF about a month ago and I feel it's time to share it with you. What I'm building here is a simple 1-button RTS. Many of you have probably played http://paxbritannica.henk.ca/ and if not - you're missing out. I imagine a voxel styled WWI soldiers, tanks, planes and cannons dueling it out on a flat battlefield. Using MonoGame to hopefully make it portable and Jitter-physics to bring cube-warfare to life.

I'm hoping you'll stick with me as real life does get in the way of dreams. I'm making no promises this will ever be finished but I will give it my best shot.

But I know you're not here just to read my ramblings. Here's a couple of screenshots showing current phase of development.


This is the vantage point for much of the gameplay. Currently only the blue team is available and only planes, tanks and soldiers are done. The terrain is flat and textures will be procedurally generated. All entities (tanks, trees, houses...) are composed of voxels, their position and type. The shadows you see are also voxel based. Each voxel casts a shadow which is then grid aligned and rendered on flat terrain.
Currently I'm working on an artefacts system which will render tracks, explosion debris etc. on the terrain. As the battle progresses, hopefully this will make the scene look more like a battlefield.


When a unit explodes it turns into individual voxel cubes which are then feed into jitter-physics engine and left to scatter. To make it more realistic I'm planing on having some of the individual cubes joined into larger groups so the unit fractures and doesn't just explode into bits. The shadows work the same way as with entities.

I hope this peeked your interest and you'll stay. And I'm always looking for feedback. Thanks for reading!
Logged

johnki
Level 6
*


Invisi-wizard


View Profile WWW
« Reply #1 on: February 10, 2013, 02:20:32 AM »

Looks awesome!

Not much I can say just yet. Can't see all that much but the graphics are really nice!
Logged

Quarry
Level 10
*****



View Profile WWW
« Reply #2 on: February 10, 2013, 02:53:19 AM »

Looks very good imo, but you might want to change the battlefield image from a texture to vector imagery
Logged

 
Goran
Level 0
**



View Profile WWW
« Reply #3 on: February 10, 2013, 04:23:50 AM »

@johnki Thank you!
@Quarry I've thought about it. In first iteration the terrain was even voxel based. The advantage of vector based terrain would be better visuals when you're close to it which will be rarely. Any other advantage? I'll keep experimentingwith it once I get the Artefacts system and the terrain generator going...
Logged

Goran
Level 0
**



View Profile WWW
« Reply #4 on: February 23, 2013, 12:32:04 PM »

2013/02/23:
For the last couple of weaks I've been working on optimization and code cleanup. I've redone the ShadowsComponent. Previous versions of the component supported all kinds of neat things like self-shadowing but proved too resource intensive. Also the component used to draw polygon shadows which took a toll on the draw framerate. Current version simply draws the shadows on a shadow texture which is then drawn over the ground texture. By drawing on a lower resolution texture I can get the blurred-shadow effect virtually for free. On the down side, only ground shadows will be supported.


Next in line is the ArtefactsComponent which enables me to show the effects of unit/ground interaction. So tanks traversing the fields or explosions will now leave a visual clue on the battlefield. This again is achieved by drawing rectangles to the (persistent) artefacts texture which is the drawn over the terrain.


I've managed to find the time to add the first REDs unit (a biplane). Hopefully now I can start working on the AI components and get some battles going!

For those of you who want videos http://youtu.be/cUFF1s3c8hg.
Logged

Blodyavenger
Level 3
***



View Profile WWW Email
« Reply #5 on: February 25, 2013, 01:57:08 PM »

As I told you before, this looks fantastic! More explosion, fire and smoke effects and this will look badass  Noir

Keep us updated as much as you can  Wink
Logged

Goran
Level 0
**



View Profile WWW
« Reply #6 on: February 25, 2013, 03:19:26 PM »

More explosion, fire and smoke effects and this will look badass  Noir
Thanks!

This game surely needs more fire and explosions - I'll get there Smiley But for now - here's my home-made voxel editor in action:
Logged

Goran
Level 0
**



View Profile WWW
« Reply #7 on: March 03, 2013, 09:20:43 AM »

2013/03/03:
First playtests of MBF resulted in two things. Beatiful carnage and massive slowdown. The culprit of course was the physics engine. Not that I can blame it - it had to calculate thousands of cubes careering through space, colliding among themselves and the terrain. So let's talk about explosions!

If you recall, every entity in MBF is a collection of different types of cubes. And the way I explode the entity is to have it fall apart to it's base cubes (atoms) and scatter. The plan I had for the low framerates I knew were comming was to group the individual atoms. This should result in less physical objects and less calculations. So how do we group the cubes into sensible groups?

What I'm doing right now is assigning a number of random non-empty cubes within the entity. These are the starting points for groups. Next I'm using what is essentially a 3d voronoi diagram algorithm to add neighbouring cubes to the nearest starting point. This results in nice random fractures. Here's a representation of a blank wall being shattered by the algorithm.


One of the issues with this approach is deciding on the right amount of groups to use. To little and the result isn't interesting. Too much and we're back on having to many physical objects (with the corresponding framerate drop). Here's an image of the same wall with different number of groups (the last one has the same number of groups as individual atoms).


Unfortunately all this didn't work as well as I'd hoped. Although there were less physical objects on the scene - they were also more complicated. Also in the begining of an explosion they were all in contact with each other. This means there were lots and lots of collisions and calculations for the poor physics engine to do. I've since disabled the physical interaction between those parts and the result is playable. Here's an image of an exploding building.


There are still some issues to work out such as unreachable atoms (some of you may have noticed the church roof has gone missing - this is the result of no starting point reaching any roof atoms). Hopefully adding particle effects will help make these explosions awesome Smiley

For those interested - a short video on youtube: http://www.youtube.com/watch?v=80nmt63dG6A

Leave a reply!
Logged

Goran
Level 0
**



View Profile WWW
« Reply #8 on: April 06, 2013, 04:07:01 PM »

Working on implementing some sensible AI. Taking cues from Planetary Annihilation Smiley

Current units on parade:


Created a 2d prototype for flowfields:


Integrated the solution in MBF:


Next up is generalizing the solution for multiple units and using the info to make units follow the field not instantly teleport to the next location.

DayJob:DreamJob ratio for the past month was 99:1 - but then again it can only get better!
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic