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

Login with username, password and session length

 
Advanced search

1044532 Posts in 42328 Topics- by 34017 Members - Latest Member: Rxanadu

September 21, 2014, 12:09:47 PM
TIGSource ForumsFeedbackDevLogsMicroBattlefield
Pages: [1]
Print
Author Topic: MicroBattlefield  (Read 4065 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 9
****


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

Goran
Level 0
**



View Profile WWW
« Reply #9 on: August 08, 2013, 03:03:11 AM »

tigsource update, forums
screenshotsaturday img

Hi all!

It's been a while but I've finaly managed to put some more time into MBF. This update focuses on AI behind unit movement management. As you know, in MBF the player will not have direct control over his units. This means I needed to implement some sort of AI to figure out where each unit wants to go or wants to run away from.

So flow fields? The basic idea was to split the playfield into discrete cells and assign a value to each individual cell. The units simply try to move away from the high values toward the low values. So each individual unit decides where it wants to go based on various elments that influence the values of the flow field.

Eg. A unit type that you're attracted to will lower the values of cells in that direction. But a unit type that you're repulsed by will increase the values of cells in it's direction. The sum of all those values will help unit decide where to go.

Next issue to deal with is the problem of using discrete cells to guide units through the playfield. If I simply move the unit to the desired location it will hop through the grid and not look it's driving from A to B. That's why the units search for the desired location a few moves ahead.

Here's a short clip of the prototype: http://www.youtube.com/watch?v=0nhwV0IdawI

The small circles represent the calculated desired locations that the bigger circles then folow. This makes the movement much smoother.

Integrating this into the game gives interesting results:


The blue tank is chasing the red one. But the red tank is a bit quicker Smiley


And a video of the chase: http://www.youtube.com/watch?v=kVu8ZvYpmck

Let me know what you think!
Logged

Goran
Level 0
**



View Profile WWW
« Reply #10 on: August 16, 2013, 12:38:42 AM »

I know it's silly but... Birds! Smiley

Logged

Goran
Level 0
**



View Profile WWW
« Reply #11 on: August 17, 2013, 04:16:28 PM »

I've managed to add the required gameplay action buttons (placeholders) and got a battle going.


Finaly made those little soldiers march...


And added MicroBattlefield to IndieDb. Yay!
http://www.indiedb.com/games/microbattlefield
Logged

Swifty
Level 1
*


Must Keep Walking.


View Profile
« Reply #12 on: August 17, 2013, 06:00:40 PM »

Looking good, I love seeing that plane fly over the field (in the birds .gif).

With the soldier march, you should add a slight bob to the walk cycle of the soldier when the leg hits the contact position; It'll really help visually read that they're moving! And It'd look pretty sick with a whole bunch of them bobbing slightly as they march across the field Smiley
Logged

Don't be Afraid to Fail.
Goran
Level 0
**



View Profile WWW
« Reply #13 on: August 18, 2013, 12:20:04 AM »

Thanks!

I'll add the bob - I'm not sure why I'm adding all those little animations as most of the time the player is looking at the battlefield zoomed out Smiley

I'll post a gif of them marching when it's done!
Logged

Impmaster
Level 10
*****


Scary, isn't it?


View Profile WWW Email
« Reply #14 on: August 18, 2013, 03:52:48 AM »

This looks awesome, but I feel like you'd need a gaming pc to play it.
Logged

Do I need a signature?
Goran
Level 0
**



View Profile WWW
« Reply #15 on: August 18, 2013, 05:52:29 AM »

This looks awesome, but I feel like you'd need a gaming pc to play it.
Thanks!

I'm being careful to keep the frame-rate up. Afterall the plan is to be able to play it on tablets as well (a phone version is probably not likely at this point).

The biggest frame-rate killer right now are explosion physics and shadows. I can disable the shadows for the exploded parts or decrease the number of parts on the fly. I'll do my best to have it playable even on low-end machines Smiley
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic