Sign in to follow this  
RTSdevman

Getting started with 3d multiplayer RTS

Recommended Posts

Hi. I'm new to the forum and was wondering where to start in order to learn how to create an RTS. A groups of my friends and I were thinking of forming a team to learn and develop our own RTS. As the leader of the group, I have knowledge in C++ and other various programming languages. The others, though, may have limited knowledge of Programming, so they may be starting from scratch. The length of time to create this RTS game is not a problem as we have already acknowledged that it will take several months or even a couple of years to create a game we can truly be proud of. We were thinking of creating a game with the following characteristics: 3D Modeling using DirectX 11 (would be interesting to use, but optional if there is a better solution) C++ Base Coding Client-Server Multiplayer support I've been poking around the forums, but have not found many topics addressing our situation. So I was wondering where we should start learning. What are the advantages and disadvantages between modding a game, using a separate engine, or coding the game from scratch? Are there any books recommended to start out? If we decide to use a game engine, are there any low cost ones (affordable by a small team)? Would it be better to divide the team up into different categories, and how would we do that? -Thanks in Advance

Share this post


Link to post
Share on other sites
Hi there!
Im interested in your concept, if you need a C++ programmer, i'm willing to help :) please pm me if you need a programmer :D

I'm not very good at directx programming, i dont have that much of experience with the API, but i have done some work with it, viewing user created models and walk around these models using keyboard and mouse.

Cheers!

Share this post


Link to post
Share on other sites
I can't offer much advice, but I can say this: Don't code entirely for DirectX 11. Very few people would be able to play it. If you're going to use DirectX at all, rather than a game engine, I would suggest abstracting the API the best you can to allow more than one version to work. I would definitely support DirectX 9.

As far as engines go, irrlicht is a fast and free API and tutorials can be found on their website. Crystal Space 3D is also free, though I've never used it. Note that these are only graphics engines, so you would still need something for physics, collision detection, AI, etc. Bullet is a commonly used free physics engine, as is ODE.

Share this post


Link to post
Share on other sites
It sounds like you may have limited C++ knowledge, but little to no experience. But why use C++ and not a more friendly language towards beginners like Python or C# / Java if you plan to write this yourself? Granted if you mod, you'll most likely be using a C++ variant or scripting language similar to.

Especially since your team doesn't have much of an idea of what it takes to make a game, I would highly suggest you start modding from an already competed engine that has proved itself with a successful title. All the tools are already written and practically debugged and all the engine internals are completed. You simply have their tools. To put this into perspective, it takes Blizzard to make an RTS a few years with dozens or even a few hundred trained and seasoned professionals who have been doing this for many, many years.

Since you're asking what the pros and cons to each method, that hints that you probably don't have the experience yet to put these pieces together by your team. That's ok! Let's just be realistic.

I highly suggest starting simple. Scale back from your current extravagant views to a more reasonable single player game.

What have you programmed before? Do you have any game programming experience? If not, then maybe even Tetris is a good first project.

Start low, and slow, but steady. :) Work hard and keep working and soon you'll get there.

Share this post


Link to post
Share on other sites
Quote:
Original post by 3shirtlessmen
It sounds like you may have limited C++ knowledge, but little to no experience. But why use C++ and not a more friendly language towards beginners like Python or C# / Java if you plan to write this yourself? Granted if you mod, you'll most likely be using a C++ variant or scripting language similar to.

Especially since your team doesn't have much of an idea of what it takes to make a game, I would highly suggest you start modding from an already competed engine that has proved itself with a successful title. All the tools are already written and practically debugged and all the engine internals are completed. You simply have their tools. To put this into perspective, it takes Blizzard to make an RTS a few years with dozens or even a few hundred trained and seasoned professionals who have been doing this for many, many years.

Since you're asking what the pros and cons to each method, that hints that you probably don't have the experience yet to put these pieces together by your team. That's ok! Let's just be realistic.

I highly suggest starting simple. Scale back from your current extravagant views to a more reasonable single player game.

What have you programmed before? Do you have any game programming experience? If not, then maybe even Tetris is a good first project.

Start low, and slow, but steady. :) Work hard and keep working and soon you'll get there.


As students, we want to learn how to code in C++ anyways in case we would want to develop other types of applications in the future.
Also, through research, we have found using an engine to be the best way to go, but are having a hard time finding the right engine to mod. What are some suggestions for engines we could use? It would have to be a game we could mod that is reasonably priced for a small team though.
We also really want to code a game with client-server multiplayer capabilities though, so we are looking for a moddable game we could use that includes this functionality.
In any case, we would still be looking for any useful tutorials and books that can help us start out. Also, the engine we would use should have documentation.

Thanks for the previous reply's though (to the respective people)
-RTSdevman

Share this post


Link to post
Share on other sites
Quote:
Original post by RTSdevman
Also, through research, we have found using an engine to be the best way to go, but are having a hard time finding the right engine to mod. What are some suggestions for engines we could use? It would have to be a game we could mod that is reasonably priced for a small team though.


The Command & Conquer games have a highly moddable engine. C&C3 is the latest though C&C4 ships later this year. You can also get a Mod SDK for C&C:
http://planetcnc.gamespy.com/View.php?id=83&view=FilesCC3.Detail

StarCraft 2 is also shipping this year and will likely have a moddable engine.

-me

Share this post


Link to post
Share on other sites
Quote:
Original post by RTSdevman
3D Modeling using DirectX 11 (would be interesting to use, but optional if there is a better solution)

You don't model anything in DirectX, you draw stuff to screen in DirectX. For modeling you need a modeling package. The only really affordable package out there for small indie teams is Blender. The good news is that it's free. The bad news is that its interface needs a lot of getting used to.

Quote:
Original post by RTSdevman
C++ Base Coding
...
As students, we want to learn how to code in C++ anyways in case we would want to develop other types of applications in the future.

Since you are going with DirectX, I won't recommend Java, but I would seriously look at C# and the XNA Game Studio. C# is also a language that is being used out there so it's a future-proof time sink.

Quote:
Original post by RTSdevman
Client-Server Multiplayer support

This one is likely to kill you if it's your first game. I understand it's important for RTS, but you should be aware that this is likely to be the most complicated part.

Quote:
Original post by RTSdevman
I've been poking around the forums, but have not found many topics addressing our situation. So I was wondering where we should start learning.

You probably haven't dug quite deep enough then, as these kind of questions come up a lot.

Quote:
Original post by RTSdevman
What are the advantages and disadvantages between modding a game, using a separate engine, or coding the game from scratch?

Time necessary is definitely one big factor here. Modding is easiest, from scratch is a bullet in the head.

Quote:
Original post by RTSdevman
Would it be better to divide the team up into different categories, and how would we do that?

Perhaps more important are a clear, common vision, clear tasks and milestones that are regularly checked against, and an understanding of who's supposed to be doing what. One thing you could look into is agile project management, such as SCRUM, but take it with a grain of salt.

It's also very important, for team motivation, to get something on screen ASAP, and perhaps something like a playable proof-of-concept prototype ASAP after that. If you can't see people's work being reflected in the game, people are gonna lose interest fast.

Share this post


Link to post
Share on other sites
Beside the various issues that the others have stressed I think the most important aspect you and your team will have to pay attention is the team work.

You may find all the resources you need (3d engine, tools, textures, sounds, etc.) but bad team work/coordination will just kill your project.

Make sure everyone work in the same direction and have the right info. There various articles here at Gamedev you should read about team work.

Also make sure that everyone have the will to complete the project. There's no doubt the team WILL face many problems (100% sure). These problems will have a big negative impact on you and your teammates. The project will greatly depend on how the team can face and fix them (sometimes cutting features may be the best solution).


Anyway, good luck to you and your friends :)

Share this post


Link to post
Share on other sites
Thanks. We will be sure to manage our team wisely.
Having said that, would it be worthwhile to use unity or torque3d (w/ TGE RTS Genre Kit add-on) for an RTS engine?
Would it have model editing software itself or should I go out and install and use Autodesk Maya (Have access to it) or some other 3d modeling program?
Also, does it have client-server support or would we have to code that ourselves?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this