Game Development Community

Plan for Josh Williams

by Josh Williams · 11/08/2004 (4:49 pm) · 27 comments

As you heard in Pat's .plan and in the forums, the RTS Starter Kit is coming very soon! I'm very excited. :)

I love Real-Time Strategy games. Ever since I snuck Dune II onto the computers in seventh-grade, the genre has held a special place in my heart. Later on, my complete and utter addiction to Total Annihilation and StarCraft when they each released would cause me to stay up way too late playing way too often... I think I made it to maybe 4 or 5 first-period classes in the entirety of my senior year of high school. These games provide a lot of nostalgia for me and my fate as a lifelong, diehard RTS fan was sealed long ago.

I'd love to make an RTS one day, probably more than any other kind of game. Much as I love the old-school RTS games though, I've gotten really tired of how dependent the vast majority of the genre is on the gameplay mechanics defined in the early days. That's why I'm so excited that this RTS Starter Kit is just about to be released... it's time to introduce some indie-freshness to the genre, and I can't wait to see what kinds of games get under way here.

This pack, of course, won't magically create your game for you, but it provides a big leg-up on development by providing a bunch of features and technologies tailored for RTS gameplay. Check it out:

  • There's a custom camera system and it rocks. It provides "god-view"-style behavior and lets players control the position, zoom, and pitch of the camera. It's also really flexible and easy to customize. The camera can, optionally, smoothly follow terrain heights, moving up and down with the terrain. The camera system's networking routines are optimized for RTS-style scenarios, offering smooth client-side control no matter how busy the server (yet, without sacrificing security).

  • s87358382.onlinehome.us/gg/camera-view.jpgI can't think of an RTS on the market that can create such awesome vistas and views.


  • We made a custom mini-map system which draws an overview of the mission area and displays tactical information (building and unit locations, known positions of enemies, etc). The mini-map can be used to control the camera, and can display event alerts and teammate pings.

  • s87358382.onlinehome.us/gg/minimap.jpgSweet.


  • We created a specialized RTSUnit class and a highly optimized networking scheme for it so that efficiently managing large numbers of units is easy. The RTSUnit's simplified physics help make it easier to process large numbers of units. Its customizable shadow rendering choices allow you to balance looks versus the number of on-screen characters. The RTSUnit also uses a customizable Datablock and Modifier system, which make it really easy to define new types of units quickly (based on Datablock values), but without sacrificing the ability for individual units to have buffs, debuffs, etc.

  • s87358382.onlinehome.us/gg/units.jpgEfficient networking means you won't be constrained by bandwidth when it comes to unit counts.

    s87358382.onlinehome.us/gg/fight.jpgFight!


  • We created an RTSBuilding class so players can place DTS buildings in real-time, complete with build, idle, and destruction animations, as well as the ability to preview building placement. The RTSBuilding's simple script interface allows buildings to receive commands, and scripted behavior can easily be hooked-in.

  • s87358382.onlinehome.us/gg/buildings.jpgRTSBuildings make it easy to allow players to place buildings in real-time


  • We worked a lot on getting an example selection system in place. The one we have in the demo is pretty impressive. Combined with some group management optimizations, the RTS Starter Kit lets players click- or drag-select units, group them, bind groups to hotkeys, and rapidly issue commands. The selection GUI feedback system is easy to customize and makes it simple for players to see what units they have selected. You can tweak and customize the way the selectin system works to suite your particular game design pretty easily.

  • s87358382.onlinehome.us/gg/selection.jpgThe selection system is pretty sweet, and the source-code is well documented, so it's easy to see how to customize it to suit your game design.

  • There's a simple multiplayer Lobby that defines a simple, customizable system to allow players to gather, chat, and prepare before starting their game, just like you find in most RTSs.

  • Wes, Chris and Ben spent a lot of time working on documenting all this stuff, and the pack comes with some pretty kickass docs. The docs explain each of the systems in the Starter Kit, and the simple example mission the pack ships with has well-documented source-code to demonstrate how to use the systems in the pack in a hands-on fashion.

  • Also, the RTS Starter Kit of course has full-on support for and integration with Torque. The RTS Starter Kit is built on top of Torque, so you get all its power to play with. For example, you could easily create intense precipitation and atmospheric effects to set the mood for an epic battle.
Again, the Starter Kit is just that... something to help you get started. It doesn't give you everything you need to make a complete RTS game, but it provides a solid foundation to build from, and would provide a big jump-start for any game that will use these technologies.

So, I'm really looking forward to seeing what everyone does with this pack. Hopefully we'll see some fresh game designs. After all, "Real-Time Strategy" literally just implies that players make strategic decisions in real-time. That basic description holds lots of potential, and nothing about it dictates that such games need to rely on the standard, old-hat gameplay mechanics we've all become so accustomed to. It has been encouraging this year to see games like Rome: Total War, Axis and Allies, Perimeter, Ground Control 2, Dawn of War, the lesser-known Arena Wars, and soon the Battle for Middle Earth stepping a little outside the usual RTS bounds and innovating a bit. It'd be awesome to see us indies keep the ball rolling and really start seeing some fresh in the next year.

Of course, if you want to create a game that plays just like StarCraft or Total Annihilation, don't let me discourage you. Heck, truth be told, I'd love to play a modern TA-homage. You can certainly use this pack to create a game like that. And even if you're not after an RTS specifically, any design that requires a god-view camera, or a mini-map, or easy object selection, or efficient networking that allows players to control hordes of minions, would benefit from this pack when it's released.

Alright, thanks for reading. I'm excited to see what everyone does with this thing. It's very cool to to see more and more tools, technology packs, and content coming out for indies and Torque. This community is rocking and it feels great to see so many people trying to make it easier and easier for each other to make whatever kind of game they want to. It's what I love about this place, and I think this coming year is going to be awesome

Before I sign-off, let me make some special thanks. First up, thanks to Chemeleon, Craig Fortune, Tim Aste, and Will Harrison for donating the art you'll see in the demo mission for this Starter Kit. Also, thanks to our interns Wes and Chris for all their hard-work over the summer. Finally, I'd like to thank Pat and Ben for getting this sucker wrapped-up in the last couple weeks. For a while there, with IGC coming and a bunch of high-priority projects on our plates, we all got too busy to move this project along, so it's awesome to see it finally being wrapped up.

Finally, thanks to everyone who's expressed interest in this pack in the last few months. It's been very encouraging to see all the enthusiasm surrounding the RTS Starter Kit. Can't wait to get it out the door and start seeing some games built on it. :)
Page «Previous 1 2
#1
11/08/2004 (4:52 pm)
Cool that you like StarCraft and TA :) I played both of those extensively.. very nice gameplay. I think that was also the focus when they made them, especially StarCraft.

Best of luck with the pack!
#2
11/08/2004 (5:02 pm)
Josh:

Did you happen to take a class in ".plan" writing from Davis? man oh man was this a long one *snicker*

Great to hear the RTS pack is just around the corner

-Ron
#3
11/08/2004 (5:03 pm)
Whoa, didn't know this was public yet. :) You guys are fast.

Btw, quick answers to inevitable questions:

Does it work with TSE?
We haven't tried yet, but I bet it won't be tough. Believe me, we'd all love to see that happen, so as soon as we get time, we'll try to integrate.

Does it work with Synapse Gaming Lighting Pack?
Again, this would rock, but we haven't tried yet. It should be pretty easy. When we get some free time, we'll get on this integration stuff. :)

What are your post-release plans?
We all want to keep working on this thing. Time is always a factor, but it'd be awesome to continue to expand and improve it after release.
#4
11/08/2004 (5:08 pm)
Yay its finally here! (well near enough) Cant wait to see what people do with this, I remember nights of playing starcraft 'til the wee small hours :)

(btw Josh, check your email.)
#5
11/08/2004 (5:29 pm)
Looks great! I can't wait to play with it!
#6
11/08/2004 (6:16 pm)
looks awesome.

just one question.
How many units can it handle?
#7
11/08/2004 (6:25 pm)
How closely, if at all, related are RTSunit class and say player class? I could envision switching between the two would greatly aid large scale battles in the FPS genre, similar to what Josh Ritter's done but without using billboards.
So say you come over the hill and see tons of RTSunits battling it out in the valley below. You rush to the outskirts and the closest RTSunits become regular AIplayer units for a more normal battle mode.

I've never been an RTS fan, but I'm thinking every bit of this new code could be useful in a good FPS RPG.
#8
11/08/2004 (7:47 pm)
Kevin, that's a complicated question. The answer depends on many factors.

The number of units it can handle depends on how you set-up your game and what your target hardware is. It can handle more units if the art is simpler, and fewer if the art is more complex. :) Performance also depends on the kind of environment you have set-up. If you want a full outdoor environtment where the user is free to change the camera pitch (so that the sky is visible), then you'll have the overhead of sky rendering. If you constrain the camera angle, you can eliminate that overhead. Likewise, the number of units that can be handled will be affected by what kind of collision and AI systems you choose to implement for your game.

The art in our demo is comprised of characters with 300-400 polys each. I have a 9700Pro, so it's fairly beefy, but I can easily have 100 units onscreen at a time in release mode. That's with full skies and terrain rendering. Note that my machine chugs in WarCraft 3 when there are 100 units on the screen. So, this is pretty cool.

That said, we certainly could do more to optimize the rendering performance-- implementing a shapeblitter that cuts down on extraneous state changes would be a great step in that direction. That is in the plans for development post-release, but we don't want to make any promises on it yet.

We didn't focus on increasing rendering performance greatly for this pack, but we did try to ensure that networking wouldn't be a bottleneck. We created a specialized network updating system, using Torque's already kickass networking architecture, that can handle *LOTS* of units, disparate camera behavior, and maintains multiplayer security.

Erik, the RTSUnit class is currently derived from the Player class, with a bunch of the more expensive Player routines over-ridden. A system like you describe, where rendering, animation, AI, and physics are LOD'd would be cool, and it'd be fun to implement for a game. It wouldn't be too tough to do LODing like that right now. It would get even easier once Torque's forthcoming component system is in place (the RTS Starter Kit will be made compatible with the component system, when it's released).
#9
11/08/2004 (8:14 pm)
Been drooling for months, now the floor is soaked from total salivation overload. Show me where to sign up and tell me how many I have to buy (for a team of 3), and I'll be your first sale if I can ;)
#10
11/08/2004 (8:21 pm)
Must.Have.This.

I've had an idea for a game based on some RTS elements for a while... might be time to blow the dust off that design and see if it still has legs!

Great work, folks - can't wait to see it in action!
#11
11/08/2004 (9:07 pm)
when you say "RTS Starter Kit is coming very soon!"

you mean very soon this year right? :)
#12
11/08/2004 (9:43 pm)
WOW! thats sweet
#13
11/08/2004 (10:43 pm)
This looks great.

With the new networking changes , does it effect the normal networking code ?

For example the current one is optimised for an fps, yours is optimised for an rts. What if you want a game that combines both ? Can they co-exist ?
#14
11/08/2004 (10:54 pm)
Hey Josh,

Looks amazing! Using Torque as an RTS engine makes WAY nicer environments than existing RTS games
#15
11/09/2004 (12:15 am)
Is the count for characters still around 100?
#16
11/09/2004 (12:29 am)
Thanks for the kind words John, and all. :) Major credit for this goes to Wes Beary, Chris Weiland, Ben Garney, Pat Wilson, and Rob Blanchett.

Kevin, re: release date. Yes, very soon this year... in fact, the 1.0 release will be out very soon this... week. :D

Ian, the networking is compatible with the standard networking. It's been a while since I've gotten into that part of the code, but you should freely be able to mix and match traditional FPS-style objects with standard network updating in RTS-style missions.

Jeff, right now, it's able to render about 100 fairly low-poly characters on good systems. That's 100 characters in view at the same time, doesn't mean that's all you can have in the mission / world.
#17
11/09/2004 (1:33 am)
Thanks josh. Thats kickarse.

I especially like the idea of squad control e.t.c

Now bring on a homeworld style rts. That game was awesome. Best camera controls in any rts ive every played.

not to mention looked gorgeous.
#18
11/09/2004 (11:05 am)
How much will cost?
#19
11/09/2004 (4:15 pm)
Thank you and it looks sweet
#20
11/09/2004 (9:47 pm)
Great news Josh! I've had a game design for the past few months that this pack will be perfect for. The game will be pretty amazing if I do say so myself ;)
Page «Previous 1 2