Spring as an engine

Spring as an engine

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
Falun
Posts: 1
Joined: 25 Jan 2006, 03:07

Spring as an engine

Post by Falun »

I'm part of a team that's about to start working on a new RTS game for a class project and I'm trying to evaluate the feasibility of Spring as an engine (instead of TA-clone).

My main question is how integrated are the TA game mechanics to spring. For example, if I wanted to build a game that used 4 or 5 different resources would the "TAness" of spring prevent me from doing this?

Hrm... lets see, how about if I wanted to add some new & novel inerface method, would this be possible? Let me clarify -- would doing this involve hacking or is there support for a scripting language that can control the UI? (For instance Stratagus' UI is run, to some degree by Lua)

How much control do we have of the AI real-time. In otherwords if we wanted to 'upgrade' the AI of a particular unit during the game would this be possible with the infrastructure in the game?

Anyway, sorry if this has been asked elsewhere but I've scanned a lot of the fourms and haven't seen anything that really answers the above questions.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

So far as I know...

1. Adding new resources to the game would involve quite a bit of work. The multi-resource concept was discussed in some detail at an earlier stage, but for various reasons, it doesn't seem to have materialized. The SYs are, obviously, the people to ask about the technical limitations- I suspect that a lot of it has to do with GUI support, not core engine problems... which brings us to...

2. A new GUI is being worked on, right now, that will provide better support for customization and other things, apparantly. Until we see it, it's a little difficult to say just how extensively the GUI will allow modification without extensive coding, but from what we've been hearing, it should be a lot more flexible than the current one is.

3. AI is in baby-steps right now. If you wanted to "upgrade" an AI during a game... you'd need to write one that could do that. That said, the AIs that are gradually maturing are (slowly) becoming more bullet-proof, and it appears that AI developers will be making it more practical for modders to work with their AIs, so that future AIs will work with a wide variety of mods. This is, in part, what I'm working on now- NanoBlobs is a game design I wrote, in part, to help demonstrate some things to AI developers.

All of these things aside... Spring has great promise as a game engine! Currently, we're mainly looking at ports of OTA mods, which is really obscuring the fact that Spring is already capable of doing some pretty kewl stuff, and even in their current state, AIs are already pretty capable and interesting.

Can you re-make Counter-Strike or WC3 with Spring? No. Is the WC3 engine better-suited for making RPG-like experiences? Yes. But... if you want to build a huge-battles kind've RTS experience... Spring's kind've hard to beat, right now. Development time is fairly fast, because of the unique animation system (it's really easy to tweak timing when... omg... a programmer can just go in and alter a variable, instead of having an artist have to mess with timing curves, etc.) and the fact that so many things are possible just by stacking some cleverness into TDF/FBI files, plus smart animations.

To put things into perspective... I built 3 versions of NanoBlobs (from game-idea/talk-talk to working game design with only 50% suck) in 12 hours. I didn't build all-new content (that takes awhile, if you're as picky as I am) but I did change animations, completely gutted XTA to remove all un-used contents, etc., etc., etc. ... and playtested the sucker... all in 12 hours! Try doing THAT with anything else out there, and you'll see why I'm very much a supporter of this game engine :o
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

My main question is how integrated are the TA game mechanics to spring. For example, if I wanted to build a game that used 4 or 5 different resources would the "TAness" of spring prevent me from doing this?
the spring "engine" is extremely hardcoded to TA, and not very well abstracted either. I think if you need an engine, you can use map rendering, pathfinding and unit movement AI (it's all kindof spaghetti code, but these parts can be abstracted from the engine the most easily I think), and replace the unit code (IE: all classes derived from CUnit) and everything that comes with it (los and radar for example) with something more flexible and scalable. Something like that would be really useful for the project itself as well I think.
Hrm... lets see, how about if I wanted to add some new & novel inerface method, would this be possible? Let me clarify -- would doing this involve hacking or is there support for a scripting language that can control the UI? (For instance Stratagus' UI is run, to some degree by Lua)
Again, all very hardcoded at the moment. Jouninkomiko is working on integrating CEGUI into spring, and that optionally has a LUA binding AFAIK.
How much control do we have of the AI real-time. In otherwords if we wanted to 'upgrade' the AI of a particular unit during the game would this be possible with the infrastructure in the game?
There is no standard procedure for it, but ofcourse you could add code to switch movement AI and change other AI data.
User avatar
Nemo
Spring 1944 Developer
Posts: 1376
Joined: 30 Jan 2005, 19:44

Post by Nemo »

Argh wrote:
Can you re-make Counter-Strike...
Pfft, I fully intend to make a FPS style game using spring once collision is sorted into more accurate hitboxes (ability to define a few cubes for hit detection, rather than a sphere) and I figure out how to tweak the FPS mode into firing ONE weapon per key >_>

People dismiss the FPS deal as a gimick, but its great fun, and could really rock if worked on just a little bit.

Of course, that's not what the engine is for. But it sure is cool, and dogfighting with X-Wings in SWTA with a few friends is a lot of fun.

Edit: On topic: Yeah, what Zaphod and Argh said. They're smart folks.

In addition, the scripting langauge is lifted straight from TA, and while simple animation is very straightforward (move piece K to place X,Y,Z, in T amount of time) things such as transporters (units that move other units <_<), teleporting, and all kinds of craziness are quite difficult, but doable by a select few (namely, zwsgs)
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

<laughs>

If the SYs would be kind enough to make the control interface for Spring that's like Freelancer, I will make AutoDuel!

<listens to chirping crickets>

AUTODUEL! The great-great-great-great-great... wheeee... grandaddy of Fallout (along with Wasteland) and all of the ... ok... that was it. Darnit, it was the only attempt that I know of to translate Car Wars into an engaging RPG, and for its time... it ruled. Lord British (yeah, THAT Lord British) wrote it back in the bad old days, and I wanna play it with a better interface and nice graphics... or at least the part where I blow things up... le sigh...
Post Reply

Return to “Engine”