Warbots Battle Video - Freeze Frame

Published July 02, 2009
Advertisement
Hey guys, sorry for the lack of updates. It's not because I've not been working - I've just been very busy on Warbots and Urban Empires.

Warbots is currently being pitched, I just sent out a new build last night..hopefully I can find an interested publisher soon and move on with that project.

One of the coolest (IMO) things I've added into the game recently is 1000s of autonomous humans/droids to the battlefield. They will basically add ambience to the world, but they will also effect the gameplay, the players can only control the vehicles though. I can scale the humanoid system up into the 10,000s easily, but it's really pointless beyond 2,500 given all the other stuff that has to occur in the scene [ 64 fully animated potentially unique vehicles, 2 bases, 5 command points, terrain, water 1000s of trees/rocks/shrubs/etc...]

I did some little tricks to get the humans working in this volume, it actually doesn't use an impostor system [ yet ], I do use instancing and some "odd" ways of packing transforms/positions/rotations into the instancing shader to reduce state changing and really make this even possible. The model used is still a place holder as well. The system still needs a lot of testing on other machines :-D This project is juuust about ready for a BETA, if I can't get a publisher soon, I might just do the self publish route for this project...at least I need to get it into testing soon.

Anyways, here is a preview image of a video I've uploaded to youtube showing a "freeze frame" of a battle...

Download link
">Click to view Warbots Online - Battle Freeze Frame video
*NOTE: If the video looks blurry, make sure flash 10 is installed on your machine

Preview


More Stuff...

I've been working on countless other parts of the project, including an update to the Warbots Homepage...

You can now create accounts, login to the game using the account. I've got stat tracking working, all the database/web/stat frontend is in testing, I've been evolving this stuff over the last 2-3 years so it's pretty stable. Just X amount of work.

I've been working on the options menu, making everything in the game scaleable. I'd already coded the rendering fallbacks I just had to hook things together...the player can modify -
Quote:
Screen Resolution
Texture Quality
Post Processing
Water Quality
Terrain Quality
FSAA
Fullscreen/Windowed
FPS Display
View Distance
God Ray Quality
Human/Droid toggle/qualty


Other Stuff...

I've been running the app through the D3D debug runtimes for the first time in a while, wow, I'm sort of embarrassed some of the things I let slide ;-) But they are all fixed up now :-D

My workspace is a pile of keyboards, to-do lists, and other programming paraphernalia stacked under an array of monitors lol... I need a vacation lol. First I have to get this latest project signed and out the door...

I'll keep you guys updated on the process as best I can :-D

- Dan
0 likes 11 comments

Comments

J-Fox
Hey, the video looks incredible! Its really nice.
I think the grass could still look better but the bots hide it nicely

However, are you sure that these bots are a good decision?
- Do they have a good AI?
- How do they behave to collisions with vehicles? (Ragdolls would be awesome!)
- Wouldn't it feel weird to mow-down so many bots with such a small vehicle?
- Wouldn't it suck to get blocked by any bot?
- Are you sure you can get them to look good even if animated? (I could imagine that bots need a lot work on their animations alone, but you possibly use urban empires stuff here)
- How do you plan to sync so many bots over the network?
July 02, 2009 04:42 PM
dgreen02
Thanks a lot :-D

Quote:Hey, the video looks incredible! Its really nice.
I think the grass could still look better but the bots hide it nicely

However, are you sure that these bots are a good decision?
- Do they have a good AI?
- How do they behave to collisions with vehicles? (Ragdolls would be awesome!)
- Wouldn't it feel weird to mow-down so many bots with such a small vehicle?
- Wouldn't it suck to get blocked by any bot?
- Are you sure you can get them to look good even if animated? (I could imagine that bots need a lot work on their animations alone, but you possibly use urban empires stuff here)
- How do you plan to sync so many bots over the network?


1 - They don't need good AI, but yea it's finished - and because there are so many of them, glitches aren't obvious.
2 - The easiest solution would be just to run a static death animation, flag them as dead, then respawn them @ base ... that's what I'm doing now.
3 - No, I think it'll be sweet :-D It might look odd, and if it doesn I can just take them out of the game.
4 - The vehicles will always have collision precidence over a human, see #2
5 - They are animated, and do look pretty good [ it's using a $20 piece of placeholder art with 120 frames of animation ] The video doens't show any AI or movement, I'm saving that for the next one ;-D
6 - It's possible to sync 2500 objects that arne't crucial to gameplay over a network, this system is nearly identical to the one I coded for urban empires to handle 1000s of civilians [ this is a better version though ].

The whole thing is about 3-4 days of work so far, so if I have to loose the bots/humans/droids, I won't care about it...but IMO the scenes look much better with them ... this video was a sort of fluke, I was optimizing the rendering and paused the game and I thought it looked neat ;-)

Also, yea the grass goes 10x higher resolution, I have to put it back to high res ;-) thanks for the reminder

Thanks for the questions!
July 02, 2009 05:02 PM
hungryhippo5000
Looks impressive as always. I'm just wondering, do you approach game development based upon the test driven development? And if so how many test cases do you have?
July 02, 2009 09:53 PM
dgreen02
Quote:Original post by hungryhippo5000
Looks impressive as always. I'm just wondering, do you approach game development based upon the test driven development? And if so how many test cases do you have?


Thanks :-) Well I don't like to constrain myself, if I have an idea which I think is cool I pursue it. I code alone essentially, so I can be very flexible in terms of adding new things to the project easily.

There's a general idea of where I want a project to be, and I work towards that ... not like I'm going to write a 40 page design doc and stick to every bit of it regardless if the ideas work in practice.

I usually do 2-3 iterations over each aspect of the project...some like physics have taken me 4 years and 5 different solutions to get right [ Havok ].
July 02, 2009 10:38 PM
glaeken
I agree, ragdolls would be pretty sweet. You say they will effect gameplay... Will they be shooting lasers or what not?

You've probably mentioned this but how do you render your trees? Is it just instancing and impostors?
July 02, 2009 10:46 PM
dgreen02
Quote:Original post by glaeken
I agree, ragdolls would be pretty sweet. You say they will effect gameplay... Will they be shooting lasers or what not?

You've probably mentioned this but how do you render your trees? Is it just instancing and impostors?


Yea ragdolls would be amazing...still it's pretty neat looking w/out...but I'll do what I can to get ragdolls in. Expect the laser light show in the next update ;-) I didn't include it in this post because I didn't think it was good enough yet.

Trees/rocks/bushes all use instancing and gpu imposters [ basically created from a "1 million particle" GPU particle system I was working on ].

I really want to write a "paper" to explain how I do all these humans/droids...I suppose I will if they turn out as I hope. We'll see.
July 02, 2009 10:59 PM
evolutional
I love the look of the bots. I've not looked at the vid yet, but imagine they look great in motion. The battlefield should feel really dynamic!
July 03, 2009 07:31 AM
zedz
nice one mate
I didnt even know you were working on a different game
this looks similar to a game I finished recently (though mine had no vehicles)
but it did have lots of enemy on a terrain (a fragfest)
From my testing ragdolls wont cut it, I dont know how havok compares to physX, but physX can NOT handle >100 ragdolls at once @ a reasonable framerate
July 03, 2009 02:10 PM
dgreen02
Quote:Original post by zedz
nice one mate
I didnt even know you were working on a different game
this looks similar to a game I finished recently (though mine had no vehicles)
but it did have lots of enemy on a terrain (a fragfest)
From my testing ragdolls wont cut it, I dont know how havok compares to physX, but physX can NOT handle >100 ragdolls at once @ a reasonable framerate


Thanks...ragdolls may prove to be an impossiblity, I could have a limit of 100 active ragdolls [ simplified to 5 bodies a piece ], but they would obviously be client side only [ a la Counter-Strike: Source ]... I might just leave the ragdolls out since the vehicles are supposed the be the focus of the game. I'm already taking a bad FPS hit ~ 50% when 64 havok vehicles are running in the game, FPS goes from ~90 to ~45 when physics is enabled.

Quote:Original post by evolutional
I love the look of the bots. I've not looked at the vid yet, but imagine they look great in motion. The battlefield should feel really dynamic!


Thanks :-D You should check it out, its only a youtube vid :-p

- Dan
July 03, 2009 05:03 PM
Matias Goldberg
Your Journal and GD.Net account should be banned for extreme awesomeness!!

Impressive as always.
I have only one question (the others have already been answered):
Do you use your own multithreading and/or using havok's multithreading capabilities?
If so, does it improve performance significantly? How well does it scale?

Keep up the good awesome work
Cheers
Dark Sylinc
July 04, 2009 09:25 PM
dgreen02
Quote:Original post by Matias Goldberg
Your Journal and GD.Net account should be banned for extreme awesomeness!!

Impressive as always.
I have only one question (the others have already been answered):
Do you use your own multithreading and/or using havok's multithreading capabilities?
If so, does it improve performance significantly? How well does it scale?

Keep up the good awesome work
Cheers
Dark Sylinc


Thanks :-D

Yes I use the MT capability of Havok, I've not tried to run a continuous or discreet simulation using Havok, I always create the world using multithreading like in the simple box/plane remote debugging example that comes with the SDK.

Havok seems to scale pretty well, it degrades pretty predictably as the static world complexity increases. I'm pretty sure I'm setting up my broadphase correctly etc...I recently got a nice overall speed increase [ ~10% ] by simply taking the number of iterations from 4 down to 2 when setting up the solver, and I can't really tell any quality differences.

I'm sure I'll be able to eek out a bit more performance from it over the next few months / years. Overall I'm happy that Havok is "the" physics engine that I've been searching for years to find.
July 05, 2009 04:51 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement