Some suggestions for the future(ish) versions

Some suggestions for the future(ish) versions

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

Moderator: Moderators

Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Some suggestions for the future(ish) versions

Post by Sean Mirrsen »

Hello again, this is yours truly Outrageous Ideas Generator, and I've got several widely varying suggestions on how to enhance modding of Spring by shoving tons of work at the people currently in charge of programming it. These ideas are in no particular order, I just type them down as I remember them while typing this post.

1st. Builtin unit limits. Sometimes you want a player to build no more than a certain number of a certain unit, or a type of units. The former would be achieved by a tag in the FBI stating "MaxCount=X;", and the effects of this would be such that a factory that suddenly hits this unit in its que when there's already X in the field or being built, it shoves it to the end of the que and resumes building. The latter would be achieved by any of the following: a)the numbers in Armor.txt that would actually mean something - in this case the maximum amount of units, or b)a new field in Sidedata.tdf listing unit categories and the relevant maxcounts. Also, sometimes you would want it so that ALL players can build no more than a certain number of units total (like some special hero), in which case a tag "LimitTotalNumber=1;" would show that MaxCount in fact counts for all participants.

2nd. Custom explosions. I know 0.72b1 includes something like that, but I don't know how it works (yet), so I'll post my vision of it. Basically, this consists of a set of predefined effects (smokepuff, flame, shockwave, flying smoke debris, flying fire debris, etc, etc.) and a way to control them. The 'way' in this case would be 3do models consisting of a number of pieces, that in turn consist of simple 2-vertice polygons. The pieces are arranged according to _where_ you need an effect to take place, and named according to _when_, and _what_ effect you need done. The direction of the piece (as per GetPieceDir) shows the direction of the "directional" effects like flying debris, and the size of it (the length of the vector from vertex 1 to vertex 2) sets the magnitude of the effect. When the effect is played is determined by the first four bytes of the piece's name - those should be decimal numbers, resulting in a 4-digit number of milliseconds that need to pass from weapon impact until the effect triggers. The rest of the piece name is the name of the effect to be played. It sounds very complicated, and it in fact is complicated, and very hard to implement, but it provides modders with their own "explosion engine" that can as well be used for muzzleflashes.

3rd. Small suggestion, do not let ground units leave playfield when thrown around by explosions, similar to what you do with aircrafts.

4th. While I'm at it, a bug: canhover=1 and canfly=1 together in one unit seem to cause a crash at unit creation.

5th. Range suggestion. In addition to weapon "range" add "lockDistance" and "attackDistance". The formula for those is the following: if range is not defined it defaults to 0; if attackDistance is not defined it defaults to range; if lockDistance is not defined it defaults to attackDistance. Basically lockDistance is the distance at which a weapon will aim at the target, attackDistance is the distance at which it will fire at the target. This is needed for weapons that need to start targetting from afar to ensure a hit against a fast-moving target, but can only fire at a short distance for balancing reasons.

6th. Small suggestion, maybe it's irrelevant for most mods, but add a way to make units target points other than the center of the target unit. I thought SweetSpot defines the point that is targetted, but my experiments led me to believe that is wrong. If SweetSpot indeed works, maybe add a possibility to define multiple SweetSpots (like for Final Frontier spaceships) so that not only one point of the model is attacked?

7th. Another possibly stupid suggestion, since I probably didn't take the consequences into account, but make weapons always fire in the z+ direction of the QueryWhatever piece(+accuracy and spread modification), and place the burden of proper targetting on the modders making aiming animations. Or make it an option, for OTA units like the Instigator and Maverick. Or, if not for all weapons, at least make beamlasers fire like this.

8th. While I'm on the subject of aiming, add a tag for weapons to allow firing off-target when aiming. That is, the weapon will start firing as soon as it starts aiming, or within "holdtime" seconds (hmm, found a use for holdtime... :D) after starting aiming. This is useful for rapid-fire weapons that have a role of "swarm defence", when their targets are numerous and are continually making passes, denying a possibility to properly aim. Think B-17 gunners with unlimited ammo - they'll just blast away hoping to hit something. :)

9th and final - this is more of a personal request for assistance. Can you please clarify what can be defined in the "groundplate" of a building? I know o's and c's, but there's surely more than that. Thanks in advance.

Oh, and I'll help making anything in that list as soon as the source becomes available. ;)
mongus
Posts: 1463
Joined: 15 Apr 2005, 18:52

Post by mongus »

great riddance.

I have a small request:

When a unit is behind a tree, it will not start aiming at the target but when the target emerges from its cover.

This makes zueses retract its weapon, when an enemy unit hides behind a tree for few secconds, then when it comes back targettable.. it will start its slow weapon draw animation..

as far as a unit is in range it should start targetting it no matter its behind a tree or wreackage, of course, giving preference to those that aint hidding behind something.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

mongus wrote:great riddance.

I have a small request:

When a unit is behind a tree, it will not start aiming at the target but when the target emerges from its cover.

This makes zueses retract its weapon, when an enemy unit hides behind a tree for few secconds, then when it comes back targettable.. it will start its slow weapon draw animation..

as far as a unit is in range it should start targetting it no matter its behind a tree or wreackage, of course, giving preference to those that aint hidding behind something.
Amen... Wait, I started an entire topic over this, you topic stealing... whore. But yeah, it really should be done. Like 50 people replied, some of them mod developers, others AI developers, others the developers themselves... everyone agrees it's retarded the way things work now... yet there's no official answer whether or not it's actually going to be done. I mean, come on, really, how much work can it take to disable a "feature" that's already in place?
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Post by smoth »

Caydr wrote: Amen... Wait, I started an entire topic over this, you topic stealing... whore. But yeah, it really should be done. Like 50 people replied, some of them mod developers, others AI developers, others the developers themselves... everyone agrees it's retarded the way things work now...
LOL, sorry man, that was a funny reply but yeah I got your back on that!
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Let me be the first to say:

Someone, write a patch. :twisted:
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

As soon as the source becomes available in an easy-to-get package, someone will.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Try: svn checkout svn://svn.berlios.de/taspring-linux/
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

I said "easy-to-get". I don't understand what to do with that.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Not a Linux man, I see? Neither am I.
User avatar
NOiZE
Balanced Annihilation Developer
Posts: 3984
Joined: 28 Apr 2005, 19:29

Post by NOiZE »

you can get the code by using for example smart SVN
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Tortoise SVn works fine for me, ocne you've got it it's a matter of right clickign the fodler and clicking update in widnwos explorer
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

SVN really is the easiest way. Or do you want to mess around with .orig and .modified folders and manually make & manage patches?

And btw, if you can't even figure out how to check out an SVN repository then I'll have severe doubts about your coding quality.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

What if he's not got net access and has to use a library computer which has restrictions? Or a school network with similar restrictions?

Without my step dads computer I wouldn't be able to do svn checkouts as my own comp has no net connection and all other access is through computers that wont let me execute .exe files or install stuff without network admin access.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

He said he didn't understand. He didn't say he couldn't because he had no net access or no computer or whatever.

In the last case, yeah, you got to mess around with .orig folders etc. to manually create patches. And I don't think that's easier in any way then checking out SVN.

Anyway, I'm already planning on uploading bzip2'ed tarballs of the source to berlios starting with 0.72b1.
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

I don't understand the use of SVN, that's more accurate. I understand that it is good for true developers like yourselves, but I as a rather beginning codemonger like to have things simple - one folder, one pile of code. Sure it's harder to make patches and whatnot but it makes things easier to manage for me.

Also, I'm rather greedy when it comes to internet traffic (and food), so I like to know how much I'm about to download. I'm pretty sure the SVN updaters don't let you see the size of the update before you download it.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Post by smoth »

I downloaded your svn code and fired up vC.net 2003 and yeah, tons of missing dlls etc. As I said earlier I would have already tried writing a patch but I am not sure what is missing in the svn.

What do we need a sdk or something?
User avatar
ILMTitan
Spring Developer
Posts: 410
Joined: 13 Nov 2004, 08:35

Post by ILMTitan »

Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Sean Mirrsen wrote:I don't understand the use of SVN, that's more accurate. I understand that it is good for true developers like yourselves, but I as a rather beginning codemonger like to have things simple - one folder, one pile of code. Sure it's harder to make patches and whatnot but it makes things easier to manage for me.
In short, SVN is a version control system it keeps track of all changes (commits) you make to the source over time. By having the repository on a subversion server multiple people can work on the source easily and SVn can merge changes when people work on same file at same time. It has much more functionality and it makes your life as dev MUCH easier.

Also, if you want to make a patch it's generally easier (less prone to mistakes like reversed patches etc.) to use. With tortoiseSVN for example, just right click on folder->create patch, choose where to save it and voila, you have a patch. I won't even bother to explain how to do it without using SVN.
Also, I'm rather greedy when it comes to internet traffic (and food), so I like to know how much I'm about to download. I'm pretty sure the SVN updaters don't let you see the size of the update before you download it.
A full checkout of trunk is about 15 Megs last time I checked. Updates are incremental so they are generally only in the order of several (tens of) kilobytes.

I hope I have you convinced now :-)
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

Well, after fighting the SmartSVN site for a while to let me download something, I got it, now I've got the full source (though I was unable to determine how much traffic got through - the folder size tells me something like 50 megs, while my ISP account tells me otherwise), and I have a problem with building the thing in Visual Studio 2003. The vclibs archive provided v1.33 boost libs, while the linker asks for 1.33.1.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

ignore the boost thing, I dont think it's all setup properly in that file anyways, go get the full boost thing from the boost site instead.

But beware!!!!!!

Boost may have a niceish size on the tin, but when compiled it balloons past the 1GB mark, on my system it takes up a size able 4GB chunk.

That and something to do with boostjam to get it to compile, you'll have to read the site documentation...

There's also a problem in that SDL I think it was is setup to be loaded from a folder with 1.2.8 in the folder name but the version was updated in vclibs to 1.2.9 without the VS project changing so you'll need to change that.
Locked

Return to “Engine”