PDA

View Full Version : Total War engine



edyzmedieval
05-08-2006, 11:42
Any idea how does the Total War engine work?
I mean, I haven't seen the Rome TW engine documentary on TV. ~:(

I want to know how was it created, with what tools and so on..
I hope I ain't asking too much. :embarassed:

Lord Adherbal
05-08-2006, 11:58
hmm something like C++ ? I don't see what else there is to know.

edyzmedieval
05-08-2006, 12:04
That's all? :inquisitive:
Only C++ and 3DS Max?

Duke John
05-08-2006, 12:12
With C++ they write the engine. With 3ds max, Excel and Photoshop they fill in the details. But tools alone won't get you anywhere, knowledge and dedication do.

HistWar and the Mad Minute Games are examples of very small teams (2 or so?) who develop 3D tactical wargames, and I believe most of it in their freetime.

I think TW modders are very capable in creating their own engine if it wasn't for motivation and the problems of internet communication. Or why do you ask anyway?

doc_bean
05-08-2006, 13:32
They probably also use C or some other 'lower level' language to get faster code here and there.

x-dANGEr
05-08-2006, 14:06
I don't really know what does a 'game engine' mean 0-o

edyzmedieval
05-08-2006, 14:12
With C++ they write the engine. With 3ds max, Excel and Photoshop they fill in the details. But tools alone won't get you anywhere, knowledge and dedication do.

HistWar and the Mad Minute Games are examples of very small teams (2 or so?) who develop 3D tactical wargames, and I believe most of it in their freetime.

I think TW modders are very capable in creating their own engine if it wasn't for motivation and the problems of internet communication. Or why do you ask anyway?

Thanks for the info. ~:)
That's what I'm thinking...Almost of what you said. :idea2:

Rodion Romanovich
05-08-2006, 15:52
if you want to make an own game python is the fastest thing to learn. Otherwise it's c/c++, loads of APIs, loads of math theory, loads of graphics theory, and loads of knowledge about hardware that you need. AI theory is also important, and something that most game developers forget because there's so much other work - music, sound, art, 3d models, text files, manuals, copy protection, installation program etc.

Python was obviously good enough to allow to create a game like Civ4 so it's not that much worse performance wise, but I don't think CA write their games in python. It all depends on ambition when it comes to prestanda. A game in anything else than python takes a lot of time to write, so you really want to have a team if you are to make something complex. I'm planning to make a *very* simple naval game during the early summer, but I can't make any advanced 3d studio max graphics and textures so I'm afraid it'll look like a joke, but the engine will at least be good enough to allow addition of better graphics in case someone wants to mod the game...

Duke John
05-08-2006, 16:26
While there are 3D engines that give you a head start (even free ones like ogre3d) it is not for the fainthearted to program in C++. I'm looking at Adobe's Director which is fairly easy to program and comes with a simple but old 3d engine (shockwave). It is capable of drawing a couple of tenthousand polygons at a reasonable rate. In comparision, R:TW is drawing millions or so?

...Python looks interesting. LegioXXXUlpiaVictrix, do you have any links to 3D games made in Python? Do you know the limits

Rodion Romanovich
05-08-2006, 16:59
I've heard of Mount & Blade and Civ 4, but I don't know the exact limits. I haven't tried python for myself but I've heard it's good enough for most game development stuff, unless you want to compete with the absolute cutting edge games. You can probably make a MTW1 or Shogun like game in Python with reasonable framerate on modern computers. As for an RTW engine I can't say with certainty whether it'll work or not, but it'll probably work if you choose to switch to sprites at a quite short distance... Then again, the rendering of the actual landscape will also take a lot of triangles so I can't really say how well it'll work, especially if you want things like advanced sky, shadows etc....

edyzmedieval
05-08-2006, 17:05
Mount&Blade is one of the best games to start off with exploring Python. It's just a simple 54MB game, made with Python modules and scripts and some animations and graphics in Blender.
Check this out: www.python.org

I know C++ well, but not enough to do graphics in it. So, guess Python and Blender are the best things to use. Blender is a sort of open-source 3DS Max 8, which from the screenshots, it's very cool. ~:)

ScionTheWorm
05-09-2006, 19:21
Mount&Blade is one of the best games to start off with exploring Python. It's just a simple 54MB game, made with Python modules and scripts and some animations and graphics in Blender.
Check this out: www.python.org

I know C++ well, but not enough to do graphics in it. So, guess Python and Blender are the best things to use. Blender is a sort of open-source 3DS Max 8, which from the screenshots, it's very cool. ~:)

wrong, m&b isn't written in python at all, it just supports it to add some gamecontents as far as I know (through it's python based module system). it's pretty much like how rtw modding works (with scripting and "stats reading"), just that m&b is more modding friendly. at best you could use a graphics engine with an interface too python (that is: the engine is purely written in c++, but you could access functions in it from python, sending arguments etc). python is mostly used putting pieces from other languages together, as it's just a scripting language. everything in python is a c structure (an early version of the concept class), even integers, functions and floats are c structures.

so how it would work, using a low-level language coded c++ engine from a scripting language could be in pseudo-pseudo-code like this:


engine = mygraphicsengine()
scene = engine.makescene() (or something)
warrior1 = mesh('warriormodel1.brf', 'warriortexture.dds', ...)
warrior2 = mesh('warriormodel2.brf', 'warriortexture.dds', ...)

scene.addmesh(warrior1, some location)
scene.addmesh(warrior2, some location)

start()

this would be about how it would work from c++ too, but that would be faster. making the AI would require very CPU-demanding algorithms, which with python loops would be... very slow.

best place to start with python is in my opinion with PyGame, though that wouldn't be 3d and the game you aim at. I just recently posted in a similar thread the link to ogre3d (http://www.ogre3d.org)

edyzmedieval
05-10-2006, 10:48
Nice info. Thanks. :book: