Considering a personal project
Moderator: Moderators
-
- Posts: 17
- Joined: 23 Mar 2007, 01:27
Considering a personal project
I was here a few years ago, and happened across some word on Spring and dropped by again to check out how things have gone. On the technical side, you guys have done fantastic things, the Spring Downloader is a brilliant piece of work, and the engine itself performs like a dream. Balanced Annihilation is a great adaptation of OTA, and Complete Annihilation is itself a good, solid game with the feel of OTA but avoiding the econ/macrogame focus that Metal Makers create, and using original IP.
However, Spring has a big problem: You guys are too good at playing the games based on it. Like any game that's been around a while, the learning curve for a new player is *brutal*. Even having been fairly good at OTA, I can't compete with even an average CA/BA player, and I expect I'll have a few weeks of having my ass handed to me before that changes. For a genuine newbie, coming in cold, there's simply no way to get enough of a framework to be able to learn from your defeats. You'll get hammered, called a newb, and probably quit after your second or third attempt, at most.
The Chicken game in CA is a good place to learn some of the basics, but I think something more is needed, if Spring is going to draw in new blood: A real single-player campaign.
I need a project, and a chance to point to something I've done recently (and independently). So I'm seriously considering developing a 6-10 mission campaign in the Spring engine, probably building off of CA. What I need in this thread is advice on how to do this without stepping on anyone's toes, or infringing on what they may feel is their original IP (like the developers of CA, will they feel put out if I build a single-player campaign on their shoulders?). If I could get some pointers to threads/projects that might have some good pointers on how to develop missions for Spring, that would help as well. I noticed that there was a Mission Builder that seems to have died from lack of interest, how broken is it, and is the source available for it? What are the properties of the various AI's, and how to they act/react when units are dropped into their control?
Eventually I'd need testers, and maybe some help creating sound/video, but my overall focus is going to be creating a playable single-player campaign that can serve as a good entry point for new players, and a way to learn the basics of Spring without jumping straight into the deep end of multi-player. It also gives me an opportunity to do something I've never done as a designer: Tell a story (I've always done online games, and except for a few Quests I've never explored games as story-telling environments).
Anyway, that's my plan, what do you think?
--Dave
However, Spring has a big problem: You guys are too good at playing the games based on it. Like any game that's been around a while, the learning curve for a new player is *brutal*. Even having been fairly good at OTA, I can't compete with even an average CA/BA player, and I expect I'll have a few weeks of having my ass handed to me before that changes. For a genuine newbie, coming in cold, there's simply no way to get enough of a framework to be able to learn from your defeats. You'll get hammered, called a newb, and probably quit after your second or third attempt, at most.
The Chicken game in CA is a good place to learn some of the basics, but I think something more is needed, if Spring is going to draw in new blood: A real single-player campaign.
I need a project, and a chance to point to something I've done recently (and independently). So I'm seriously considering developing a 6-10 mission campaign in the Spring engine, probably building off of CA. What I need in this thread is advice on how to do this without stepping on anyone's toes, or infringing on what they may feel is their original IP (like the developers of CA, will they feel put out if I build a single-player campaign on their shoulders?). If I could get some pointers to threads/projects that might have some good pointers on how to develop missions for Spring, that would help as well. I noticed that there was a Mission Builder that seems to have died from lack of interest, how broken is it, and is the source available for it? What are the properties of the various AI's, and how to they act/react when units are dropped into their control?
Eventually I'd need testers, and maybe some help creating sound/video, but my overall focus is going to be creating a playable single-player campaign that can serve as a good entry point for new players, and a way to learn the basics of Spring without jumping straight into the deep end of multi-player. It also gives me an opportunity to do something I've never done as a designer: Tell a story (I've always done online games, and except for a few Quests I've never explored games as story-telling environments).
Anyway, that's my plan, what do you think?
--Dave
Re: Considering a personal project
Sounds pretty good to me!
The source for the latest version of the Mission Editor is here (well the browsable SVN anyway), if I'm not mistaken. As it's part of the CA project, I'm pretty sure it's under a free licence. I have to pass on what it'd take to fix it though, sorry (I only messed a little with the predecessor version, which was in C#).
The source for the latest version of the Mission Editor is here (well the browsable SVN anyway), if I'm not mistaken. As it's part of the CA project, I'm pretty sure it's under a free licence. I have to pass on what it'd take to fix it though, sorry (I only messed a little with the predecessor version, which was in C#).
Re: Considering a personal project
Make a campaign for GRTS or EvoRTS!
[list][*]Lastest release of Spring engine is incompatible with lastest release of GundamRTS, so here's a link to an installer containing an older Spring release with Gundam RTS and SP mutator with 6 missions. Gundam_RTS_1.21_Including_Spring_0.81.2.1_Installer06.exe
[*]You can get Evolution RTS with Spring Downloader, I think Forb made one or two basic missions, accessible in SD menu.
[*]More exemple of missions can be found in Kernel Panic.[/list]
The missions of these three mods were made without Mission Builder, so you won't have to fix it.
[list][*]Lastest release of Spring engine is incompatible with lastest release of GundamRTS, so here's a link to an installer containing an older Spring release with Gundam RTS and SP mutator with 6 missions. Gundam_RTS_1.21_Including_Spring_0.81.2.1_Installer06.exe
[*]You can get Evolution RTS with Spring Downloader, I think Forb made one or two basic missions, accessible in SD menu.
[*]More exemple of missions can be found in Kernel Panic.[/list]
The missions of these three mods were made without Mission Builder, so you won't have to fix it.
IMO external AI are too unstables and temperamental to be used in missions. I would say to use NullAI, except NullAI of lastest Spring crash. So instead, in my missions I use the mod Lua AI, modified to do nothing with a certain tag. Then I set queues with my save/load/mission system. I also coded a special AI that makes a team rebuild what it loses, to be used in missions.What are the properties of the various AI's, and how to they act/react when units are dropped into their control?
Re: Considering a personal project
Well, I don't think the CA developers can really protest the development of a campaign, though I would rather see one for Gundam RTS, Evo RTS, The Cursed or Spring: 1944. Avoiding friction with the developers of a particular game probably comes down to discussing your plans openly with them to some extent. As far as using the Mission Builder, you might want to talk to Nemo, DaveTheBrave, Quantum or the other significant - though neophyte - mission builders. A lua AI would probably be the best choice for mission unit control; Tobi and Imbaczek are both significant people there with useful advice.
If you need writing, voices and sound effects for the campaign, there are a number of people - myself included - who can probably help.
If you need writing, voices and sound effects for the campaign, there are a number of people - myself included - who can probably help.
Re: Considering a personal project
This is not true, because it infers non external AIs aka lua gadget based AIs, are superior in this respect, when they too have their own issues, their own bugs, and their own crashes, for which the same solutions and philosophies are applied to fix them.IMO external AI are too unstables and temperamental to be used in missions. I would say to use NullAI, except NullAI of lastest Spring crash. So instead, in my missions I use the mod Lua AI, modified to do nothing with a certain tag. Then I set queues with my save/load/mission system. I also coded a special AI that makes a team rebuild what it loses, to be used in missions.
I would agree if you mentioned the likes of RAI or Errors AI, which were not intended to be superflexible beasts or simpleton AIs that do a handful of things very well, or KAI which has always prided itself on crashing when the slightest problem arises for ideological reasons, eschewing the ability to recover and continue in the name of improved bug reports.
If difficulty is the problem, I would suggest instead you focus on skirmish, and experiment with making AIs scale with difficulty better.
I would reccommend a fork of Shard or C.R.A.I.G as starting points depending on how experienced and comfortable you are messing around with the internals of lua gadgets and widgets.
Both will require only lua knowledge. Shard has an easier API, although C.R.A.I.G uses the same APIs as gadgets so you would be learning immediatly transferable skills. Shard can be found on my website, CRAIG you can find in the Spring 1944 repo
-
- Posts: 17
- Joined: 23 Mar 2007, 01:27
Re: Considering a personal project
Traditionally, AI in single-player games cheats. In fact, we refer to it as "artificial stupidity", its job is to force the player to figure out how to make it look stupid (and therefore feel smarter). I don't need AI smart enough to stand in for a human player, just smart enough to march to its death, and make decent use of whatever resources I give it through mission scripting.
--Dave
--Dave
Re: Considering a personal project
Then Shard would have that for you in half an hour, you can tell ti exactly what to do, and what to build
Re: Considering a personal project
Having missions would definitely be fantastic, and be a huge boost in the right direction for this community. However, there are a couple things to take into consideration - firstly, if you make missions they will only benefit that ONE mod, ie, if you make something for CA, only a very very small portion of what players learned will transfer to things like BA or NOTA, and in many ways may handicap the players by teaching them skills that only apply to that specific mod that they'll have to un-learn if they want to play another mod.
I'm going to take the possibly unpopular opinion and say you should make missions for BA, for a couple reasons. Mainly because the playerbase is the largest and most active, which means that is where the majority of the skill and competition resides. But also because the skills you learn in BA will transfer better to other mods. It's easier to transition to CA's style of economy after being familiar with BA's than vice versa, likewise it's easier to learn NOTA's style of expansion and unit production after knowing BA's than it is the other way around.
Granted, this is coming from a guy who played OTA and is obviously most familiar with BA gameplay, but I still think what I'm saying is pretty objectively true.
And of course it's partially selfish, I want to be able to get people into Spring easier, and since I play pretty much only BA that's what I'd want them to learn. :p
I'm going to take the possibly unpopular opinion and say you should make missions for BA, for a couple reasons. Mainly because the playerbase is the largest and most active, which means that is where the majority of the skill and competition resides. But also because the skills you learn in BA will transfer better to other mods. It's easier to transition to CA's style of economy after being familiar with BA's than vice versa, likewise it's easier to learn NOTA's style of expansion and unit production after knowing BA's than it is the other way around.
Granted, this is coming from a guy who played OTA and is obviously most familiar with BA gameplay, but I still think what I'm saying is pretty objectively true.
And of course it's partially selfish, I want to be able to get people into Spring easier, and since I play pretty much only BA that's what I'd want them to learn. :p
Re: Considering a personal project
I don't know, hobo, your position on the ease of transition from one to another is coloured heavily by your own experiences. Starcraft players seem to have little trouble coming here, and I handed Gundam RTS to a DoW player with no hassles.
-
- Posts: 1398
- Joined: 17 Sep 2008, 04:36
Re: Considering a personal project
Make campaign and we will gives u luvs furever and ever :3


Re: Considering a personal project
Luckywaldo speaks on the behalf of the entire CA development crew.luckywaldo7 wrote:Make campaign and we will gives u luvs furever and ever :3
*d'awwww*

We hang around #ca in the lobby, so that'd be a good place to get in touch with us if you want to work more closely on this.
I look forward to seeing this finished!
Re: Considering a personal project
I know it is, but I was speaking more in terms of people who aren't very familiar with RTS, or are the kind of players that have only played RTS games vs. AI. Any good RTS player can pick up any RTS game and figure out the basics very quickly and be right up at the top in a very short time.Neddie wrote:I don't know, hobo, your position on the ease of transition from one to another is coloured heavily by your own experiences. Starcraft players seem to have little trouble coming here, and I handed Gundam RTS to a DoW player with no hassles.
-
- Moderator
- Posts: 2464
- Joined: 12 Oct 2007, 09:24
Re: Considering a personal project
The complete opposite. From my perspective campaign and tutorial is the next major project for CA as the UI is almost done and as you stated the balance is fairly solid. So if you were to develop missions for CA we would help you.(like the developers of CA, will they feel put out if I build a single-player campaign on their shoulders?)
I can't speak for Licho but I think once the UI is done he will work on campaign integration with SD. There is already a prebuilt senario loader in SD which just starts Spring with a start script. In a few months I will have free time to improve CAI (AI for CA) and extend it for mission building.
The way I would approach the creation of missions is to use CAI as a base and add triggers based whatever is relevant to the scenario. The player would start the mission using a luaAI and a startscript with special fields that tell the gadget that a certain mission handler should be used during the game. This startscript could then be used by SD.
I would prefer using gadgets and LuaAIs to external AI for simplicity and version control. Gadgets will be required for anything more complex than a simple skirmish against an AI. LuaAIs are basically gadgets so integrating them with any special behaviour the mission requires should be very easy. With such behaviour integration changes to external AIs may break the mission whereas lua is included with the game.
Unless you can get mission builder to work again creating a campaign will be a matter of coding just about everything that is not implemented in one of the currently available AIs.
-
- Posts: 17
- Joined: 23 Mar 2007, 01:27
Re: Considering a personal project
One of the things I've been thinking is that it may be most effective to incorporate as much as possible into "invisible units". Partly because this was how we frequently did it in the MMO's I worked on, so much of the behavior and logic for quests had to be attached to an NPC/Mobile, it made things easier to just extend it in invisible mobs. But it offers other advantages as well, specifically because this allows more of the mission/scenario oriented code to be firewalled from the engine/combat balance code, so that changes to other parts of the system don't break the missions as often.
Frankly, I was afraid I might have to pick a stable version, and fork from that simply to be certain that I wouldn't have to worry about constantly having to fix things that had become broken because the underlying engine or game code had changed.
But if I understand correctly how Gadgets are architected, and the core team is committed to implementing scenario/mission support in a way that won't be easily or regularly broken, I'd be more than happy to be one of the initial users of the framework, and offer any help I could on how to set it up. I expected I'd be doing some programming, I'm a...passible coder (meaning I used to do it for a living, before becoming a designer, but not at the level of reliability or maintainability you'd want for core functionality).
In my experience, that's fine for this kind of application, where you're mostly handling simple event sequencing and simple boolean logic, and it doesn't matter if it's a little sloppy or inefficient, as long as it's predictable.
--Dave
Frankly, I was afraid I might have to pick a stable version, and fork from that simply to be certain that I wouldn't have to worry about constantly having to fix things that had become broken because the underlying engine or game code had changed.
But if I understand correctly how Gadgets are architected, and the core team is committed to implementing scenario/mission support in a way that won't be easily or regularly broken, I'd be more than happy to be one of the initial users of the framework, and offer any help I could on how to set it up. I expected I'd be doing some programming, I'm a...passible coder (meaning I used to do it for a living, before becoming a designer, but not at the level of reliability or maintainability you'd want for core functionality).
In my experience, that's fine for this kind of application, where you're mostly handling simple event sequencing and simple boolean logic, and it doesn't matter if it's a little sloppy or inefficient, as long as it's predictable.
--Dave
Re: Considering a personal project
Well, if your plan is now to drop Mission Builder and recode everything, I could port my mission system to CA. Actually, I already have, I just guessed you're not interested considering how CA already has its own Mission Builder plus a gazillion coders.Google_Frog wrote:Unless you can get mission builder to work again creating a campaign will be a matter of coding just about everything that is not implemented in one of the currently available AIs.
Re: Considering a personal project
If you wish to work on campaign missions and are able to do so, we will be very pleased and will assist you of course :)
You can also be sure it will be put to use if it works.
We can modify anything to make features not possible atm.
CA team is responsible for big part of infrastructure and many tools it uses (we coded own autohosts, lobby, mission editor, AI, unit balancing statistics, ranking system, database with models, we made downloader system, LUPS particle system, chili gui framework, chickens etc). And we have big plans still.
It's also usually second most played game on spring engine.
You can also be sure it will be put to use if it works.
We can modify anything to make features not possible atm.
CA team is responsible for big part of infrastructure and many tools it uses (we coded own autohosts, lobby, mission editor, AI, unit balancing statistics, ranking system, database with models, we made downloader system, LUPS particle system, chili gui framework, chickens etc). And we have big plans still.
It's also usually second most played game on spring engine.
Re: Considering a personal project
(not counting special BA, of course)Licho wrote:If you wish to work on campaign missions and are able to do so, we will be very pleased and will assist you of course :)
You can also be sure it will be put to use if it works.
We can modify anything to make features not possible atm.
CA team is responsible for big part of infrastructure and many tools it uses (we coded own autohosts, lobby, mission editor, AI, unit balancing statistics, ranking system, database with models, we made downloader system, LUPS particle system, chili gui framework, chickens etc). And we have big plans still.
It's also usually second most played game on spring engine.
Re: Considering a personal project
I'm fixing it. I'm also converting it from F# to C# to make it more accessible to other developers. There are no AIs for units, but now that CA has a Lua AI this will probably be easy to change. I must check with Google_Frog.MahrinSkel wrote: I noticed that there was a Mission Builder that seems to have died from lack of interest, how broken is it, and is the source available for it? What are the properties of the various AI's, and how to they act/react when units are dropped into their control?
-
- Moderator
- Posts: 2464
- Joined: 12 Oct 2007, 09:24
Re: Considering a personal project
When I last tested AIs none of them were close to beating CAI. This is with the configs that have been made for CA for the AIs so I am not entirely blaming the AI developers. Though I do think a generalised AI with configs for different games cannot work well with all games. Gadgets too much diversity in games for general AIs to work everywhere.
As for CAI it will work if you arbitrarily give it units but it is currently geared for a skirmish game, it is not a general unit AI. For example if you give it a constructor on its own the constructor will quickly attempt to make a factory. Combat units will not autonomously seek out the enemy as they are waiting for scouting and a large enough attack force.
In short if you want to spawn an AI controlled base CAI will work. If you want to program waves of attackers a simple gadget will be fine.
As for CAI it will work if you arbitrarily give it units but it is currently geared for a skirmish game, it is not a general unit AI. For example if you give it a constructor on its own the constructor will quickly attempt to make a factory. Combat units will not autonomously seek out the enemy as they are waiting for scouting and a large enough attack force.
In short if you want to spawn an AI controlled base CAI will work. If you want to program waves of attackers a simple gadget will be fine.
Re: Considering a personal project
I've been saying this for yearsGoogle_Frog wrote:When I last tested AIs none of them were close to beating CAI. This is with the configs that have been made for CA for the AIs so I am not entirely blaming the AI developers. Though I do think a generalised AI with configs for different games cannot work well with all games. Gadgets too much diversity in games for general AIs to work everywhere.

Good news to hear you're working on this again quant!