Plans for writing a new rts engine - Page 4

Plans for writing a new rts engine

Discuss Spring news, such as fresh releases and press coverage, here.
User avatar
SwiftSpear
Classic Community Lead
Posts: 7287
Joined: 12 Aug 2005, 09:29

Post by SwiftSpear »

mongus wrote:Thanks for the answers swiftspear, but i was not aiming at a response from a forum admin, but from the developpers that deal with this things first hand, and can give us a more informative/first hand answer on the why of their decision.

nothing against your opinion on these matters though.
Ok... realize though I'm mostly mimicking stuff I read on the spring mailing list and OSRTS forums posted by spring's head devs. If you are looking for someone to tell you that you're right and the current spring code is workable then you're running down a massive misconception about the way coding works.

In the current spring engine poor modularity is written right into the highest parent classes. I'm qualified enough as a coder to tell you objectively that one way or another to get the spring engine to do half the stuff in the requests forum and the MTR we're talking about a total rewrite at some point. You can't just patch in the wide functionality that is overall requested on top of the current code.

The only difference here is rather then intentionally struggling to patch in what is very nearly to a total rewrite anyways, the idea is break off and only reuse stuff when it's useful to reuse. Trying to rewrite an engine and keep it functional at the same time is... well, it's never really been done before, it's like trying to rebuild a car running at 40 miles per hour the whole time, maby possible but certainly not comfortable.
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Post by PauloMorfeo »

imbaczek wrote:Your bet is your bet, I'm talking from experience. A rewrite is very prone to be itself rewritten several times, since it's simply impossible to design *everything* right no matter how many times you start from scratch. (And by that I mean what I previously misleadingly described as 'don't work well'.)
I have never seen that hapen. Java, for example, was writen from scratch from version 1.1 to version 1.2. It became so much better (at least in they're opinion) that it became known as Java2 1.2 instead of Java 1.2 .

Many more things have been re-writen from scratch and all i know of with good results. If there is anything wrong with a re-write from scratch, it's the time wasted and the high chances of not actually getting done, not ending up just as bad as the original code.

Do you believe in that model of «a programer who knows how to program well in one language knows how to program well in any language»?
User avatar
SwiftSpear
Classic Community Lead
Posts: 7287
Joined: 12 Aug 2005, 09:29

Post by SwiftSpear »

imbaczek wrote:Your bet is your bet, I'm talking from experience. A rewrite is very prone to be itself rewritten several times, since it's simply impossible to design *everything* right no matter how many times you start from scratch. (And by that I mean what I previously misleadingly described as 'don't work well'.)
Virtually every piece of popular commercial software has been totally written at least once. Most of them many times. There are rules in software design when you are supposed to rewrite and when you are supposed to make do with what you have. I realized a few months ago that spring was well over the loop, most of our frustration over development process and features taking forever to implement and work is due to the spring engine working the way it does.

We're basically moving from a procedural system to an oop system here, old spring is that bad. Technology moves forwards, rewrites don't have a history of "not working well", rewrites are often necessary. The reality of the situation is that most large scale software development projects in general don't turn out well, rewrites have a better then normal average if anything.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

My point is, OSS software is not commercial software; commercial software has deadlines and Bad Evil Management who can tell programmers "we're sticking to this, because it will do what we need it and we can make it in a reasonable time". Not so in OSS projects where coders write for fun and it's a big danger that rewriting again and again and again will be more fun than actually finishing stuff :P I've seen this happen in a lot of small games (and was a victim of such attitude, too :))

It's just that. Remember that even if it ain't pretty, it works. I'm all for seeing ogre in spring, since I consider it the best thing since pizza, but I'd like to see it in my lifetime and I'm afraid it won't happen. If you think it will, well, you're the devs, prove me wrong and we all will be very, very happy :)
snide
Posts: 18
Joined: 15 Jul 2005, 11:55

Post by snide »

imbaczek wrote:My point is, OSS software is not commercial software; commercial software has deadlines and Bad Evil Management who can tell programmers "
IHMO, that's exactly the difference between good OSS software and soon-to-be great OSS software. [ HURD anyone ? ]

Producing software that has a little more complexity than the one you can do on a wild weekend with a bunch of friends requires more planning than dreams. Being OSS is even harder since everyone thinks "I'll rewrite for breakfast and after it would be far nicer".

Sure, sometimes a rewrite is necessary, but
never as a whole. Just do it gradually with an official reasonable planning in mind, you'll see that it's not that easy.


That said, never say "it's impossible" to the guy doing it :wink:
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

I believe that a rewrite is actually pretty necessary. And while I'm not really a "developer" of Spring, despite my name on the credits (trust me, in the end I contributed maybe 10 lines of code) I have read a lot of the source, and I can understand the urge to move on- and not just for novelty's sake.

Don't get me wrong- Spring could have more and more tacked onto it, gradually pushing out towards the ultimate MTR stuff. It could. However, the time it will take to get there is, I think, more than the time it will take to get there with a fairly clean start.

The developers do not plan on re-writing everything, either. Many of Spring's core libraries and processes are slated to be ported, because they work. However, the fundamental crux of the matter of this is simply put:

Spring was meant to be a port of TA. Not a universal RTS game engine. While it's a heck of a port, and in many ways is superior to the original, now that certain features are in place, it's locked into a fundamental game design, and that's not something you can just wish away.

There are two ways to achieve that.

One is come up with a brilliant game design that is new, and shoehorn it into Spring's existing code. That requires the developers to be brilliant game designers, not just great developers. I have yet to hear JC, Tobi, etc. tell us that they are basically awesome game designers, let alone see them put out a game design. I don't doubt that they have ideas, like many people do- but ideas aren't finished games, and we'd all be waiting to see if whatever game design they came up with was both fun and brilliant... and allowed the modders enough room to continue to innovate.

If they'd chosen that path, I'd have set their email addresses on fire, spread the ashes, and immediately declared that I'd maintain Spring if nobody else was willing ;)

Instead, I'm helping with the new project, insofar as my brand of grumpy sarcasm is helpful ;)

What they're building is still very much vaporware, but the premise is what I have been wanting for all of the decade I've been making games. They're talking about an engine that is fundamentally designed of parts (called Entities) that be built, interconnected, destroyed, and talk to one another, creating gameplay. If executed well, we could have an RTS engine that could do almost anything that somebody was willing to code- an engine that could grow from small examples into very large projects as people contribute more and more roots and snippets.

Want multiple resources? Use this module, and feed it parameters at "go". Want pre-defined starting armies? Use this one. Want something to take X time to build, with no "helpers" allowed? Use this one. And so forth.

In short... while designers are not going to be able to turn this thing into any possible game without tearing it up, just about any concept for an RTS should be achievable, and we'll finally have an engine where the, "but if I only had this" list gets shorter every time somebody contributes, and people can contribute shorter modules for specific functionality, instead of having to read and comprehend large sections of the core source to actually have a clue as to what interacts with what, and why(see my struggle to write the Flamethrower code, which Yeha eventually re-wrote into the Colormap concept, to get an idea how painful this is when you're just starting out).

Stuff like formation movement, multiple resources, unit limits, and other things- the hard-core game-design stuff that Spring sorely lacks... will be very much possible. Could it all be shoehorned into Spring? Maybe. But I think not, honestly- there are a LOT of things that were assumed when Spring was written, and un-assuming them would be a lot've slog through not-very-interesting-land.

Do I think this will be easy? No. Possibly fail? Sure. Worth trying? Yes.
User avatar
Snipawolf
Posts: 4357
Joined: 12 Dec 2005, 01:49

Post by Snipawolf »

Well said, Argh..

I gotta say, making my own modules would be cool :twisted:

But I think I would need to learn C# to do it...
User avatar
Peekaboom
Posts: 94
Joined: 09 Mar 2006, 03:54

Post by Peekaboom »

Slightly OT but ... when do you expect the b2 release for spring. It would be nice if the major bugs (sonar causing de'sync at the moment) were worked out before moving on, so that spring's lasting legacy is at least a stable build, even if the final release version is missing "demanded features" that are too difficult to implement.

At the end of the day, many of us just want a single release of spring + XTA or AA that is playable and devoid of major bugs so we can play solid games of TA, be it a land, sea, or air map.

Thanks for all your hard work over the years!
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

I'm not a very good programmer, but I see the need for this new engine.
User avatar
SwiftSpear
Classic Community Lead
Posts: 7287
Joined: 12 Aug 2005, 09:29

Post by SwiftSpear »

I'm not a practicing programmer, but I understand the way OO code works, and I understand the way the spring engine works, and I can tell you that the current spring just isn't modular enough. And I don't mean it isn't modular enough to do specific things, I mean it just isn't modular enough in general. Even if you can code you have to fight with it forever to get it to do basic things that aren't in its preconceived design. I'd be happy with a more modular engine that very simply didn't break with different internal elements communicated with each other and you changed one of them to work differently, but what is being offered here is basically a revolutionary way of thinking of engine design. Like argh said, we have the framework for an engine being discussed that can basically do whatever a modder could dream up is necessary.

The development of spring for the last 2 years has basically been abstracting the engine out. First it was abstracting so that linux play was possible, now it's abstracting so that modders have more abilities, and it's coming to the point where it's stalling. This new engine offers us everything this engine aspires to be out of the box. The worst it can do is fail, and in that case we always have this hunk of junk to fall back on.
Nichod
Posts: 6
Joined: 12 Nov 2006, 22:17

Post by Nichod »

Hmm. I'll try to be optimistic here, but I have my doubts on this being a good thing. I have just come upon Spring. I was excited to find this OS RTS, I just hope it doesn't vanish from lack of development.

My view on this new project:


The seperation from Spring completely doesn't make sense. Why not co-develop the two? Then you maintain interest in Spring (and the community around it) and the new project. Going the way you guys are planning means a split in the community. That means mods, developers, players, etc may lose interest in one or the other, or just leave both completely.

Rebuilding Spring (or a new RTS engine that would (possibly?) become Spring 2) from the ground up does make sense. But what would make more sense is to create a branch of Spring into this new engine. Build the new engine for Spring, merge what technologies you can into the old design, thus keeping interest in the project, and building a new engine at the same time. You could even keep with the theme and call the branch "Seasons". Then once completed a series of different types of RTS games could be created. The next Spring, Fall, etc.

I have seen many times over projects that seperate like this fail. Just being a realist here. Anyway. Once I get home I'll download and give this sucker a run through. I appreciate your time and effort into what appears to be a great program and good luck.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Well this new project isnt spring, and spring is still being developed by other people.

Besides the two projects have different licenses (Spring GPL, OSRTS LGPL), and two totally different design ethics.

And spring isnt the best name either, the whole seasons thing just isnt working, its a design nightmare for media, and it isnt reflecting the fact its 'spring forward' like jumping not 'spring fall summer winter'

I suggest you goto the osrts forum where these points and others have been thrashed out already.
Nichod
Posts: 6
Joined: 12 Nov 2006, 22:17

Post by Nichod »

AF wrote:Well this new project isnt spring, and spring is still being developed by other people.

Besides the two projects have different licenses (Spring GPL, OSRTS LGPL), and two totally different design ethics.

And spring isnt the best name either, the whole seasons thing just isnt working, its a design nightmare for media, and it isnt reflecting the fact its 'spring forward' like jumping not 'spring fall summer winter'

I suggest you goto the osrts forum where these points and others have been thrashed out already.
Thank you for your comments. I am a new comer, so not really looking to thrash it out, just was making a comment. And I do understand most of whats going on. Except of course the seasons thing, thanks for clearing that up. I could design a nice logo that would work a bit better.

Anyway. I'm not that interested in osrts at the moment, I'd need to see some active progress and something visually happening. And I realize they aren't building a game, but the engine for a game. A full on game engine like they are talking could be well over a year to complete. Then it would have to be built into a game (or games). To me thats a bit disappointing, but I understand where they are coming from. I'm not interested in the development beyond it being formed into a completed game. I'm someone who can do simple programming, 3d modeling, etc. and just wants a game to play. I would not be useful for osrts for some time, so I'll just take a look at Spring and see where it is going, if anywhere.
SpikedHelmet
MC: Legacy & Spring 1944 Developer
Posts: 1948
Joined: 21 Sep 2004, 08:25

Post by SpikedHelmet »

I must say, this is the stupidest idea ever. Not only have you killed Spring but I can almost guarentee that OSRTS will either remain on the drawing board or suffer one or two humiliating unsuccessful attempts and release.

"Splitting up" never gets anything done, except turn a strong development community into two weakened ones.
bamb
Posts: 350
Joined: 04 Apr 2006, 14:20

Post by bamb »

Spring mods could probably be ported to OSRTS, somewhat like they were ported from OTA. If nothing else, at least models and textures...
I don't really know what's the fuss here.

Spring is in a legal limbo now because I think Nanoblobs is the only legal mod in a strict sense.

I hope something good comes out of this OSRTS thing, ie that it's completed on at least some level. (Gets as far as spring has gotten...)

But it's early to say anything, I don't know if much anything has been coded yet.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

I must say, this is the stupidest idea ever. Not only have you killed Spring but I can almost guarentee that OSRTS will either remain on the drawing board or suffer one or two humiliating unsuccessful attempts and release.

"Splitting up" never gets anything done, except turn a strong development community into two weakened ones.
And you are able to garantee that how? You are not involved in any spring or osrts coding so I don't see how you can judge it at all.
snide
Posts: 18
Joined: 15 Jul 2005, 11:55

Post by snide »

SpikedHelmet wrote:I must say, this is the stupidest idea ever
jcnossen wrote:I don't see how you can judge it at all.
I think the emotional side speaks too loud here. I mean, when you like something, you don't want it to vanish in oblivion. And yes, usually starting from scratch has a very high failure rate, since the hidden costs of rebuilding everything are so easily overlooked.

That said, I want to clarify 2 points here :
  • I don't know much about the current codebase state.
  • I don't have time to give to this project (not even to play it :roll:).
So I won't say : It cannot be done to someone actually doing it (since I don't even do anything :oops: )

So, finally, counting on volunteers has no guaranties of success/completion/whatever, since noone has commited himself to do something. But since it's free software if you feel it doesn't go in the right direction, start acting or just stay a little child and continue whining :wink:
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Moreover... where's this dead Spring I am reading about? Last time I checked, Trepan was actually finishing the New GUI, SimpleParticleSystem is about to rock everyone's world, and the newest features are really making the game engine more useful than ever.

In short... Spring ain't dead, everybody including JC has been working on things for it... I think people are kind've blowin' things out've proportion...
Nichod
Posts: 6
Joined: 12 Nov 2006, 22:17

Post by Nichod »

Moreover... where's this dead Spring I am reading about? Last time I checked, Trepan was actually finishing the New GUI, SimpleParticleSystem is about to rock everyone's world, and the newest features are really making the game engine more useful than ever.

In short... Spring ain't dead, everybody including JC has been working on things for it... I think people are kind've blowin' things out've proportion...
This is where I think it was a bad decision to announce it here. Its one thing to say we are working on another exciting project, so things could slow down here. Then release more when the project is advanced. Because of the way it was announced, ie. "hey we are leaving this behind, so don't expect much" it doesn't give people much hope as far as Spring is concerned.
User avatar
mehere101
Posts: 293
Joined: 15 Mar 2006, 02:38

Post by mehere101 »

The other alternative is to have Spring development slowed and people be frustrated... There is no good solution, but I think that what the developers did was the best choice, and I wish them luck. I can't wait to see what OSRTS gives us.
Locked

Return to “News”