WIP Rts Prototype (Demo Released)

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

WIP Rts Prototype (Demo Released)

Post by DarkScythe »

hi, we have given a break to the development and here is the final playable revision. we would like to hear your feedback.

demo download link

final gameplay video:
[youtube]AT7RmXUMCbo[/youtube]

thera are two versions included
---------------------------------------
*the single threaded testRts.exe is the more stable one but the game becomes jerky with high unit count.
*testRtsMT.exe is the experimental multithreaded version, it is generally way faster with high unit count but have optimization problems which causes regular hickups that can hurt gameplay.
these two versions are compatible so mixed versions should cause no problems in online games.

skirmish & use map setting
---------------------------------------
*you can play against ai bots. they are actually not bots but simple hardcoded logic(collect resources, build army, attack regularly).
*use map settings is not currently available since scripting is not fully implemented.

two multiplayer options
---------------------------------------
*local area network with raknet. client/server, if server leaves game everybody disconnects.
*online play with photon cloud. there is a simple lobby to setup/join games. it is limited to 19 players.(+1 used for the lobby, free version of photon cloud)

known issues
---------------------------------------
*in some cases units can get stuck on map.
*melee attacks need improvement.
*shadow artifacts.
*performance problems with multi threaded version.
*ui is designed only for 16:9 ratio.
*dx3d device lost is not fully handled.
*online lobby is not tested properly.

cheats
---------------------------------------
during the game press enter and type togglefog to do what it says.
you can manually add hundreds of units in single player games with 1,2,3... keys.
use shift + 1,2,3... keys to add enemies.
to mute the music find the "definition.defineSound("msc1", "anewage10.ogg", 0.25, 100, 1)" line in media/definitions/sounddef.lua and change 0.25 to 0.

toolkit
---------------------------------------
ogre3d
irrKlang
lua
mygui
particle universe
ogre procedural
raknet
photon cloud
qt

-------------------ORIGINAL POST------------------------
hi, i made an rts demo couple of years ago which you can see here. it was lacking lots of features like multiplayer, now i am back to ogre to make a complete rts game prototype. i am working on this for the last 3 months in my free time and it is time to share some progress.

here is a list of short videos that shows the progress of the development from stratch, watch the last one to see a replay of a short game:
walls 1 : http://www.youtube.com/watch?v=5BVBPv_NGF8
walls 2 : http://www.youtube.com/watch?v=LlFSQwtfB2A
give way : http://www.youtube.com/watch?v=fAaeOrHN16E
first group : http://www.youtube.com/watch?v=PJ1SAiyIIZ8
encirclement : http://www.youtube.com/watch?v=RNtbPN-myvw
stress test1 : http://www.youtube.com/watch?v=7llmWpHxdcY
bridge tests : http://www.youtube.com/watch?v=q6RYO1A5MgQ
stress test2 : http://www.youtube.com/watch?v=yq6BcsVQGtc
dynamic path updates : http://www.youtube.com/watch?v=STbgkLrdDZs
stacked orders : http://www.youtube.com/watch?v=L4DiL2sq6cM
camera script : http://www.youtube.com/watch?v=G7yTpIA1pyQ
sample replay : http://www.youtube.com/watch?v=rAhyiCBU75k

there are still a couple things missing. the lockstep network system works but it is not as ping resistant as i want. there is also no upnp or nat punchthrough like thing to let people play with each other easily. finally the map editor and the custom terrain system(tile based+heightmap is being developed by a friend) is under development. more to come hopefully...

--
bunker and apc test : http://www.youtube.com/watch?v=TPM2HQhUfeo
terrain system test : http://www.youtube.com/watch?v=PmZI5a28uC8
resource collecting workers : http://www.youtube.com/watch?v=ibonMySN2VM
sample game2 : http://www.youtube.com/watch?v=wQWDOMfAAT0
terrain&shadows : http://www.youtube.com/watch?v=2TdY7QOnxWg
multi thread test1 : http://www.youtube.com/watch?v=LK6hFqlG_8o
Last edited by DarkScythe on Sun Aug 17, 2014 1:43 am, edited 9 times in total.
xelon
Halfling
Posts: 91
Joined: Mon Jan 07, 2013 4:24 am
x 13

Re: WIP Rts Prototype

Post by xelon »

Very impressive, I already see this becoming a great game. I like how you handle the massive units count and the dynamic path changing.
Ludoria now on Kickstarter! Ludoria is now on KickStarter! https://www.kickstarter.com/projects/17 ... g-rpg-game
Ludoria's official website http://www.Ludoria.com
On Facebook https://www.facebook.com/pages/Ludoria/644733108967479
On Twitter https://twitter.com/LudoriaGame
bigz94
Gnoblar
Posts: 3
Joined: Tue Mar 12, 2013 1:16 pm

Re: WIP Rts Prototype

Post by bigz94 »

Looks great, could you share some tipps? Would be great to now with what to be carful and what took a lot of time.

Thanks :)
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

thank you, here are a couple of things i did to deal with high unit count:

-first of all the new instancing system works great thanks to dark_sylinc but it is still the render time that takes nearly %80 of total frame time.
-the actual game code runs at 10 fps(tick), this is also important for a lock step system.
-pathfinding uses recast&detour but the path requests are queued and executed for a limited time in each tick.
-proximity queries are optimized with simple grids and theses are also executed for a limited time.
-all units,buildings,projectiles etc. are created and pooled. there is no actual creation or destruction during the game, just recycling.
-finally i remember getting a boost of 266% in a proximity query just by rearranging the code to be more cash friendly. but this was applied to only a single case, instead of trying to write the whole game optimized, i just try to find the bottlenecks.
User avatar
areay
Bugbear
Posts: 819
Joined: Wed May 05, 2010 4:59 am
Location: Auckland, NZ
x 69

Re: WIP Rts Prototype

Post by areay »

It sounds like you took a long break from the game after starting it. What was the reason for that?
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

well they are seperate projects, their only common part is being an rts. after the first project i started working but continued making small demos, tried other engines(unity, udk, esenthel etc.). i used ogre in a simulation project at work but for the last 3 years i mostly used unity. i failed to establish a team to finish projects but continued experimenting, making demos(you can see some samples here), even finished a mobile game. finally i got bored and decided to get my hands dirty, make a decent prototype and try to attract some artists attention. an rts seems very difficult with unity or udk, at least the game in my mind is not possible so the best choice was an old friend :)
User avatar
areay
Bugbear
Posts: 819
Joined: Wed May 05, 2010 4:59 am
Location: Auckland, NZ
x 69

Re: WIP Rts Prototype

Post by areay »

DarkScythe wrote:...but continued making small demos, tried other engines(unity, udk, esenthel etc.)
I met the creator of esenthel about a month ago when he gave a demo of its capabilities at a gamedev meetup; it seemed pretty complete as far as engine go. Did you enjoy using it?
DarkScythe wrote: ...an rts seems very difficult with unity or udk, at least the game in my mind is not possible so the best choice was an old friend :)
Interesting, I've heard other people make similar claims. As someone who's never used Unity I'd like to hear a little more, can you give an example of how it would've constrained your game?
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: WIP Rts Prototype

Post by c6burns »

If we were talking about CE3 then I'd totally agree ... even though there are several RTS projects made in that engine, the default setup of their SDK is FPS/TPS with a player actor and related camera modes. Unity I don't see it ... it's wide open.

PS - Sweet start on an RTS so far, can't wait to see more
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

areay wrote:...it seemed pretty complete as far as engine go. Did you enjoy using it?
yes i liked it, the render quality was very nice and it was quite fast. i remember making a performance comparison with unity by comparing similar scenes(esenthel scene was heavier) and without any code it was much faster than unity. but the lack of a solid community, a weird editor, mmo oriented network(not inspected deeply) and some missing features(like the ancient particle system) took me away.
areay wrote: Interesting, I've heard other people make similar claims. As someone who's never used Unity I'd like to hear a little more, can you give an example of how it would've constrained your game?
Unity I don't see it ... it's wide open.
yes unity is open, you can do anything you want but if you target 1500 active units on screen, well good luck with unity or udk. may be you can write your own animated mesh instancing but it will take some time.
secondly, writing a script code that can run fast enough for 1500 units is very challenging and i am not sure that it can be done without native code.
i heard that native code can be written for both of them but i also heard that it has its own overhead. i mean getting advantage is difficult, you may have to write half of your code native.

so the main reason for me is performance constraints. overall you may spent more time with c++, it is debatable but i think the outcome will be more efficient.
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: WIP Rts Prototype

Post by c6burns »

Hmmm good point I didn't ever check into how Unity handles instancing or low-level interfacing with the graphics API. As far as running native code, I though that is supported via a plugin system with the pro license. Anyway, I'm no Unity cheerleader ... I use Ogre, but I appreciate your satisfying my curiosity :)
User avatar
nevarim
Gnoll
Posts: 675
Joined: Mon Jul 05, 2010 6:16 pm
Location: Pavia Italy
x 4
Contact:

Re: WIP Rts Prototype

Post by nevarim »

just a curiosity u use terrain morph with terrain editor?:D
i'm a noob until proven otherwise :D
used in my project ;) and thanks to everyone :D
Ogre 3d
Mygui
Skyx
Hydrax
MOC
CCS
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

As far as running native code, I though that is supported via a plugin system with the pro license.
yes it is possible but communicating with that plugin has an overhead.
just a curiosity u use terrain morph with terrain editor?:D
we dont use the ogre terrain, it is a custom solution. it is not finished yet, my friend can give more details.
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: WIP Rts Prototype

Post by c6burns »

DarkScythe wrote:
As far as running native code, I though that is supported via a plugin system with the pro license.
yes it is possible but communicating with that plugin has an overhead.
Which I can only imagine is negligible, but you'd have to pay for the pro license which I wasn't willing to do myself :D
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

...Which I can only imagine is negligible...
if you call it once per frame may be, i have no real world experience.
i would pay for it if it had a complete feature set but you will also have to pay for lots of third party plugins.
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

here are some progress.

-instead of dealing with nat issues i ported the network code to use the photon cloud system. users meet on a lobby, chat, create/join games. it can be played with up to 200ms. ping values without problems.
-bunker and apc test : http://www.youtube.com/watch?v=TPM2HQhUfeo
-terrain system test : http://www.youtube.com/watch?v=PmZI5a28uC8
-resource collecting workers : http://www.youtube.com/watch?v=ibonMySN2VM

more to come hopefully :wink:
Last edited by DarkScythe on Sun May 18, 2014 9:45 pm, edited 1 time in total.
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

here is a new sample game video:

sample game2 : http://www.youtube.com/watch?v=wQWDOMfAAT0
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

we are getting closer to finish the first version of the prototype.

here is a short video showing terrain and shadows : http://www.youtube.com/watch?v=2TdY7QOnxWg
User avatar
areay
Bugbear
Posts: 819
Joined: Wed May 05, 2010 4:59 am
Location: Auckland, NZ
x 69

Re: WIP Rts Prototype

Post by areay »

What sort of shadows are you using? Also, are you using the Ogre terrain system?
serkanergun
Kobold
Posts: 25
Joined: Thu Mar 29, 2007 6:50 pm

Re: WIP Rts Prototype

Post by serkanergun »

We have our own implementation of Terrain. And for the shadows, we use standard depth shadow mapping and 2x2 PCF with plane optimal shadow camera setup.
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

before releasing a demo we decided to go with multithreading and it resulted both rewarding performance gain and bugs from hell :)
we were a bit lucky that we had already seperated simulation from rendering, so it took a little time to take the simulation into a different thread.
the following video shows 3000 units crossing the map with smooth framerate.
with single thread, we could have about 1000 units at max but now much more is possible with the limit of rendering.
still working on remaning bugs and features...

[youtube]LK6hFqlG_8o[/youtube]
User avatar
nevarim
Gnoll
Posts: 675
Joined: Mon Jul 05, 2010 6:16 pm
Location: Pavia Italy
x 4
Contact:

Re: WIP Rts Prototype

Post by nevarim »

great^^
i'm a noob until proven otherwise :D
used in my project ;) and thanks to everyone :D
Ogre 3d
Mygui
Skyx
Hydrax
MOC
CCS
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

we also removed the billboards above the units that shows the race color.
we now give a custom parameter to the instanced entity to show race color on the unit itself.

Image
User avatar
nevarim
Gnoll
Posts: 675
Joined: Mon Jul 05, 2010 6:16 pm
Location: Pavia Italy
x 4
Contact:

Re: WIP Rts Prototype

Post by nevarim »

but



and an alpha to try? :D
i'm a noob until proven otherwise :D
used in my project ;) and thanks to everyone :D
Ogre 3d
Mygui
Skyx
Hydrax
MOC
CCS
DarkScythe
Halfling
Posts: 76
Joined: Tue Dec 19, 2006 12:19 am
x 8

Re: WIP Rts Prototype

Post by DarkScythe »

sure :)
a couple of things left to do but we are planning to release a demo soon.
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: WIP Rts Prototype

Post by c6burns »

This project looks great. I feel your pain with threading. Coding something threaded from the ground up is one thing, but moving something that already functions into a thread is quite another :lol:
Post Reply