Directions to features please
Moderator: Moderators
Directions to features please
Hi all, at risk if sounding totally newbie I would like to know if someone could point me to something/anything that has a list of what features Spring actually has please?
I have been on the forums all day looking but its still no clearer to me such things as... Does the engine support bumps maps for models? Has assimp actually been implemented? if so how are the animations handled are they still restricted to lua/cob scripts? if assimp is not working I guess that means we stuck with .obj or .3so? Are all Spring games lobby based? + many more questions that I was hoping to get answers for in the form of a FAQ or Features page...
I am from an active project on a different engine but the engine is a piece of dirt and our coder is looking at an engine change so I am doing my part to help in the hunt for a possible replacement. From the outset I liked Spring but would like to know what the vanilla Spring engine is actually coded to do so that we could gauge 1. how much better off we would be going with Spring and 2. how much feature coding we would be in for to get they bells and whistles we want compared with game mechanics coding needed to get the game play we want (from what I have played and seen so far with Spring engine (without surveying everything) our project is something quite different to what is currently out there)
Anyway sorry to pollute the forum with more newbie questions but I think I have given finding a features list a fair crack.
Cheers and thanks for the help in advance
Karl
I have been on the forums all day looking but its still no clearer to me such things as... Does the engine support bumps maps for models? Has assimp actually been implemented? if so how are the animations handled are they still restricted to lua/cob scripts? if assimp is not working I guess that means we stuck with .obj or .3so? Are all Spring games lobby based? + many more questions that I was hoping to get answers for in the form of a FAQ or Features page...
I am from an active project on a different engine but the engine is a piece of dirt and our coder is looking at an engine change so I am doing my part to help in the hunt for a possible replacement. From the outset I liked Spring but would like to know what the vanilla Spring engine is actually coded to do so that we could gauge 1. how much better off we would be going with Spring and 2. how much feature coding we would be in for to get they bells and whistles we want compared with game mechanics coding needed to get the game play we want (from what I have played and seen so far with Spring engine (without surveying everything) our project is something quite different to what is currently out there)
Anyway sorry to pollute the forum with more newbie questions but I think I have given finding a features list a fair crack.
Cheers and thanks for the help in advance
Karl
Re: Directions to features please
i guess there is no feature list that is as complete and detailed as you want it (and if so, it would always be way outdated
).
so it is best to just ask everything directly here.
assimp is in the engine, and will be in the next release (to come within the next two months), so you will have support for many model formats. animations are still restricted to COB/Lua scripts, and will also be so in the next release. this very will likely change in a later (mayor) release though.
you may also ask in #moddev on the lobby, or http://answers.springlobby.info/.

so it is best to just ask everything directly here.
assimp is in the engine, and will be in the next release (to come within the next two months), so you will have support for many model formats. animations are still restricted to COB/Lua scripts, and will also be so in the next release. this very will likely change in a later (mayor) release though.
you may also ask in #moddev on the lobby, or http://answers.springlobby.info/.
Re: Directions to features please
Hello, and welcome to the Spring community!
I hope you find the engine nice enough to stay!
A lot of answers are available in the wiki, but some information there is outdated. You're best off asking here in the forums or in the #zk and #moddev channels in the lobby.
To start, I'll try my best to answer the questions you had in your post.
Does the engine support bumps maps for models?
Yes! This is handled through some kind of Lua shader magic, IIRC. Ask jK, Kloot, or one of the more active ZK devs about this; you'll get a much more informative answer.
There was also a forum thread by aGorm that answered a lot of bump-mapping questions. I'll link it if I remember the title.
Has assimp actually been implemented?
Yes... Kinda.
We now have the classic s3o/3DO loader, an OBJ loader, and assimp. The latter two aren't very functional in the current engine release.
That said, version .83 is coming very soon (as in, a matter of weeks), and it promises to fix that.
How are the animations handled are they still restricted to lua/cob scripts?
Unfortunately, yes.
If assimp is not working I guess that means we stuck with .obj or .3so?
Assimp will soon be working.
Are all Spring games lobby based?
What do you mean by "lobby based?" Many Spring games have single-player options available.
I hope that helped!
I hope you find the engine nice enough to stay!

A lot of answers are available in the wiki, but some information there is outdated. You're best off asking here in the forums or in the #zk and #moddev channels in the lobby.
To start, I'll try my best to answer the questions you had in your post.
Does the engine support bumps maps for models?
Yes! This is handled through some kind of Lua shader magic, IIRC. Ask jK, Kloot, or one of the more active ZK devs about this; you'll get a much more informative answer.
There was also a forum thread by aGorm that answered a lot of bump-mapping questions. I'll link it if I remember the title.
Has assimp actually been implemented?
Yes... Kinda.
We now have the classic s3o/3DO loader, an OBJ loader, and assimp. The latter two aren't very functional in the current engine release.
That said, version .83 is coming very soon (as in, a matter of weeks), and it promises to fix that.

How are the animations handled are they still restricted to lua/cob scripts?
Unfortunately, yes.
If assimp is not working I guess that means we stuck with .obj or .3so?
Assimp will soon be working.

Are all Spring games lobby based?
What do you mean by "lobby based?" Many Spring games have single-player options available.
I hope that helped!
-
- Moderator
- Posts: 2464
- Joined: 12 Oct 2007, 09:24
Re: Directions to features please
I don't know much about the technical details on the art front. All I can say is I can see the end product and I wouldn't say art is a reason not to use this engine, even if you have to convert some stuff to other formats.
I have done some animation (admittedly of robots) with lua scripts and I wouldn't call it particularly restrictive. It may be different to what artists may be used to using (and a little tedious) but again I wouldn't say it's a reason not to use the engine. I think this is a good example of how far the system can be pushed and here is an image of an integrated animation kit that Carrepairer has developed.
I mainly know about gameplay features, both what is currently implemented and what I think would be reasonably easy to implement. Here it would be more useful to make a list of the things you may want that Spring can't do.
Firstly how are gameplay features often implemented? A general answer is games include lua scripts that can interface with the engine and add, remove and modify built in engine behaviour. This interface is reasonably complete, I have not come across something in another RTS engine that I think could not be done in Spring (except for Achron and Populous). Although a 3D space type game would be pushing it.
Lua is a pretty simple language and any coder should be able to use it. But if you do find an insurmountable limitation (which would be unlikely) you could develop the engine.
I'll list some general limitations which I don't think lua could get around as there are too many potential features.
As I said before with Populous and Achron, no spherical worlds and no free form time travel. Of course you can have forwards time travel (basically Starcraft's stasis field) or jumps into 'personal past' (I think Tanya has something like this in RA3).
The terrain is "2D" in that you cannot have overhangs or tunnels (but you can freely manipulate the terrain). This may preclude bridges but I recall that work has been done on this front. You would have to ask someone that has attempted bridges to see if it worked out.
3D space combat is sort of a limitation, I think it could theoretically be done but it would take quite a bit of work.
As you're here it's likely you want to make something RTS-like but just in case I wouldn't make a major FPS with this engine as the networking isn't optimised for it. Something Savage like may work, I don't really know.
I can't think of any more off the top of my head, I don't think there is anything else major.
To know how much coding you need to do, post your general game mechanic specifications. Several people will then chip in and tell you that it's possible and point out which, if any, games already have that feature. Similar features from other games can be adapted to yours or just used as tutorials.
I have done some animation (admittedly of robots) with lua scripts and I wouldn't call it particularly restrictive. It may be different to what artists may be used to using (and a little tedious) but again I wouldn't say it's a reason not to use the engine. I think this is a good example of how far the system can be pushed and here is an image of an integrated animation kit that Carrepairer has developed.
I mainly know about gameplay features, both what is currently implemented and what I think would be reasonably easy to implement. Here it would be more useful to make a list of the things you may want that Spring can't do.
Firstly how are gameplay features often implemented? A general answer is games include lua scripts that can interface with the engine and add, remove and modify built in engine behaviour. This interface is reasonably complete, I have not come across something in another RTS engine that I think could not be done in Spring (except for Achron and Populous). Although a 3D space type game would be pushing it.
Lua is a pretty simple language and any coder should be able to use it. But if you do find an insurmountable limitation (which would be unlikely) you could develop the engine.
I'll list some general limitations which I don't think lua could get around as there are too many potential features.
As I said before with Populous and Achron, no spherical worlds and no free form time travel. Of course you can have forwards time travel (basically Starcraft's stasis field) or jumps into 'personal past' (I think Tanya has something like this in RA3).
The terrain is "2D" in that you cannot have overhangs or tunnels (but you can freely manipulate the terrain). This may preclude bridges but I recall that work has been done on this front. You would have to ask someone that has attempted bridges to see if it worked out.
3D space combat is sort of a limitation, I think it could theoretically be done but it would take quite a bit of work.
As you're here it's likely you want to make something RTS-like but just in case I wouldn't make a major FPS with this engine as the networking isn't optimised for it. Something Savage like may work, I don't really know.
I can't think of any more off the top of my head, I don't think there is anything else major.
To know how much coding you need to do, post your general game mechanic specifications. Several people will then chip in and tell you that it's possible and point out which, if any, games already have that feature. Similar features from other games can be adapted to yours or just used as tutorials.
Re: Directions to features please
Thank you both hoijui and midknight for your answers.
First off hoijui you have hinted at a fairly major change regarding the animations there
I ask because I have historically worked in .ase, (initially I hated it but it grows on you and its nice to be able to give the files a bash with a text editor if needed) and with a full implementation of assimp .ase will be supported and if the planned changes to the animation system could utilize any animation data present (possibly through assimp) in a .ase file my dreams would have come true! if not its not a game breaker but will at least mean I have a lot of reanimating to do!
MidKnight - cheers for the bump map answer, I looked in the gadgets database but didnt recognize anything as obviously being bump map related and then I was further confused by one of the model tutorials saying that the .s3o model can only have two textures one for texture and team alpha channel and the second for shiny and glowing stuff, which left me thinking "where does the bump map go?" but if it is handled by post engine render (if that is the correct description) lua magic I am cool with that
Finally to clarify my "lobby" statement, I am on a slow net connection here in good old New Zealand so I have not downloaded all the Spring Engine games but I have Zero-K and Evolution and both install a lobby software where I need to go to select the mission I want to play, be in multiplayer or single player with bots. Thats what I mean by lobby based. If our game was to come over to Spring Engine we would like to have our single player games being handled "in-game" though menus to select quick match single map missions against AI or menus to select pre-designed campaigns against AI, ideally multiplayer would retain the lobby type functionality and possibly nothing much would change there from what I have experienced so far.
Anyway thanks guys for the help
Karl
First off hoijui you have hinted at a fairly major change regarding the animations there
Can you shed any more light on the matter? or is there a thread that I should be following to keep informed about this type of change?this very will likely change in a later (mayor) release though.
I ask because I have historically worked in .ase, (initially I hated it but it grows on you and its nice to be able to give the files a bash with a text editor if needed) and with a full implementation of assimp .ase will be supported and if the planned changes to the animation system could utilize any animation data present (possibly through assimp) in a .ase file my dreams would have come true! if not its not a game breaker but will at least mean I have a lot of reanimating to do!
MidKnight - cheers for the bump map answer, I looked in the gadgets database but didnt recognize anything as obviously being bump map related and then I was further confused by one of the model tutorials saying that the .s3o model can only have two textures one for texture and team alpha channel and the second for shiny and glowing stuff, which left me thinking "where does the bump map go?" but if it is handled by post engine render (if that is the correct description) lua magic I am cool with that

Finally to clarify my "lobby" statement, I am on a slow net connection here in good old New Zealand so I have not downloaded all the Spring Engine games but I have Zero-K and Evolution and both install a lobby software where I need to go to select the mission I want to play, be in multiplayer or single player with bots. Thats what I mean by lobby based. If our game was to come over to Spring Engine we would like to have our single player games being handled "in-game" though menus to select quick match single map missions against AI or menus to select pre-designed campaigns against AI, ideally multiplayer would retain the lobby type functionality and possibly nothing much would change there from what I have experienced so far.
Anyway thanks guys for the help
Karl
Re: Directions to features please
GundamRTS and Kernel Panic have a kind of internal single player menu.
In a few months time the new lua loading stage will be done though, which promises much greater control: http://springrts.com/mantis/view.php?id=2249
WRT animations, I wouldn't hold your breath for any advances in that field for 6 to 12 months at least. No one is actively working on it or intending to, that I know of.
In a few months time the new lua loading stage will be done though, which promises much greater control: http://springrts.com/mantis/view.php?id=2249
WRT animations, I wouldn't hold your breath for any advances in that field for 6 to 12 months at least. No one is actively working on it or intending to, that I know of.
Re: Directions to features please
Thanks Google_Frog,
I dont think that some format changes would be a reason not to use the engine either but currently our game has 2000 unique animations (and manu more static models) and it would mean the difference between spending months (maybe more I would need to learn how to animate complex stuff first, though I guess lua could make that easy) reanimating things or adding new content. Not really a major but I would like to know what I was getting myself into.
Also we have not decided on an engine change yet, it was floated as an idea and we would like to find the engine that best suits what goals we have as a project (though Spring does fill a lot of what I think our project goals are).
LUA definitely looks like a major +, most people in our team (and game community in general) know a script language (our missions require scripting to activate both unit behavior and world events) and it would be a bonus to be able to take the pressure of our only coder but getting the simple stuff done for him.
Anyway I am starting to feel as though I am planning this too deeply for the stage we are at currently (its hard no to with such a nice engine sitting there waiting to be used!) so I will call time on this post and go to bed
Cheers all once more for the detailed and rapid help
Karl
I dont think that some format changes would be a reason not to use the engine either but currently our game has 2000 unique animations (and manu more static models) and it would mean the difference between spending months (maybe more I would need to learn how to animate complex stuff first, though I guess lua could make that easy) reanimating things or adding new content. Not really a major but I would like to know what I was getting myself into.
Also we have not decided on an engine change yet, it was floated as an idea and we would like to find the engine that best suits what goals we have as a project (though Spring does fill a lot of what I think our project goals are).
LUA definitely looks like a major +, most people in our team (and game community in general) know a script language (our missions require scripting to activate both unit behavior and world events) and it would be a bonus to be able to take the pressure of our only coder but getting the simple stuff done for him.
Anyway I am starting to feel as though I am planning this too deeply for the stage we are at currently (its hard no to with such a nice engine sitting there waiting to be used!) so I will call time on this post and go to bed
Cheers all once more for the detailed and rapid help
Karl
Re: Directions to features please
This is a conversation not a letter, no need to sign your post.
What is you animation program? What is the export format? It might be possible to convert them with a script.
What is you animation program? What is the export format? It might be possible to convert them with a script.
Re: Directions to features please
This subforum has some talk about what spring engine can do and what not:
http://springrts.com/phpbb/viewforum.php?f=72
though it is probally tiresome to read.
on lobby/sp:
spring.exe takes some script.txt which contains all information about what match is started. (player names, start resources, AI players,...)
Now for SP you can either
1) have players add bots in lobby (like zK)
2) have a ingame sp menu with some lua that restarts spring with
a) a generated script.txt (like kernel panic)
b) have some pre configured script.txt files in your game and launch those (like spring tanks)
3) have a singleplayer.exe (written in your favorite language) and have that launch spring with a script.txt (i think no game currenently ships with this)
That singleplayer.exe could then also do all the other SP stuff, like playing cutscene videos.
http://springrts.com/phpbb/viewforum.php?f=72
though it is probally tiresome to read.
on lobby/sp:
spring.exe takes some script.txt which contains all information about what match is started. (player names, start resources, AI players,...)
Now for SP you can either
1) have players add bots in lobby (like zK)
2) have a ingame sp menu with some lua that restarts spring with
a) a generated script.txt (like kernel panic)
b) have some pre configured script.txt files in your game and launch those (like spring tanks)
3) have a singleplayer.exe (written in your favorite language) and have that launch spring with a script.txt (i think no game currenently ships with this)
That singleplayer.exe could then also do all the other SP stuff, like playing cutscene videos.
Re: Directions to features please
yeah, what FLOZi said about animations.. i would say sounds reasonable.
before you consider rewriting all animations, you may want to consider helping out integrating animation formats from assimp into the engine.
before you consider rewriting all animations, you may want to consider helping out integrating animation formats from assimp into the engine.
Re: Directions to features please
Cheers guys for the helpful comments...
Sorry smoth force of habit...
As for the animation software I use, I have a copy of 3ds max but I am only very entry level when it comes to animations, I made my first rotating and bouncing object the other day...
The other problem is that my animations are in .ase and 3ds max (and pretty much everything else that I have come across) don't load the animation data from the .ase file (3ds doesn't even have a .ase importer I have to convert to .obj and that too ditches all the animations) so I have been hand editing the animations to fit my models.... I know well backwards right?
Regardless I would like to help with the integration of support for alternative animation and model formats, though I am not a coder, I do understand limited amounts of code and I can mostly follow script type languages like abl and lua
Thanks too Knorke I now understand how the sp menu could be/is implemented, I will download kernel panic and have a look for specific script examples
Sorry smoth force of habit...
As for the animation software I use, I have a copy of 3ds max but I am only very entry level when it comes to animations, I made my first rotating and bouncing object the other day...
The other problem is that my animations are in .ase and 3ds max (and pretty much everything else that I have come across) don't load the animation data from the .ase file (3ds doesn't even have a .ase importer I have to convert to .obj and that too ditches all the animations) so I have been hand editing the animations to fit my models.... I know well backwards right?
Regardless I would like to help with the integration of support for alternative animation and model formats, though I am not a coder, I do understand limited amounts of code and I can mostly follow script type languages like abl and lua
Thanks too Knorke I now understand how the sp menu could be/is implemented, I will download kernel panic and have a look for specific script examples
Re: Directions to features please
googled .ase animations and it seems to work with bones and mesh deformation?
Two things Spring currently does not have.
Maybe this is of interessant?
http://springrts.com/phpbb/viewtopic.php?f=12&t=18232
I think it is only about model formats though, not animation.
Two things Spring currently does not have.
Maybe this is of interessant?
http://springrts.com/phpbb/viewtopic.php?f=12&t=18232
I think it is only about model formats though, not animation.
-
- Moderator
- Posts: 2464
- Joined: 12 Oct 2007, 09:24
Re: Directions to features please
What is the difference between bone animation and what we've got in Spring? To me our system looks like bone animation without some higher level stuff that is present in more advanced bone animations systems, like inverse kinematics.
Re: Directions to features please
most bone systems also require rigging to determine how the mesh deformation works. which is what we currently are missing and why people really want bones. The spring animation system isn't bad, it just doesn't have a tool. if I had a tool I liked I would bother to work on an exporter.