Considering a personal project

Considering a personal project

Various things about Spring that do not fit in any of the other forums listed below, including forum rules.

Moderator: Moderators

Post Reply
MahrinSkel
Posts: 17
Joined: 23 Mar 2007, 01:27

Considering a personal project

Post by MahrinSkel »

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
SeanHeron
Engines Of War Developer
Posts: 614
Joined: 09 Jun 2005, 23:39

Re: Considering a personal project

Post by SeanHeron »

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#).
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Considering a personal project

Post by zwzsg »

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.




What are the properties of the various AI's, and how to they act/react when units are dropped into their control?
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.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Re: Considering a personal project

Post by Neddie »

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.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Considering a personal project

Post by AF »

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.
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.

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
MahrinSkel
Posts: 17
Joined: 23 Mar 2007, 01:27

Re: Considering a personal project

Post by MahrinSkel »

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
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Considering a personal project

Post by AF »

Then Shard would have that for you in half an hour, you can tell ti exactly what to do, and what to build
User avatar
Hobo Joe
Posts: 1001
Joined: 02 Jan 2008, 21:55

Re: Considering a personal project

Post by Hobo Joe »

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
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Re: Considering a personal project

Post by Neddie »

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.
luckywaldo7
Posts: 1398
Joined: 17 Sep 2008, 04:36

Re: Considering a personal project

Post by luckywaldo7 »

Make campaign and we will gives u luvs furever and ever :3

Image
User avatar
MidKnight
Posts: 2652
Joined: 10 Sep 2008, 03:11

Re: Considering a personal project

Post by MidKnight »

luckywaldo7 wrote:Make campaign and we will gives u luvs furever and ever :3

*d'awwww*
Luckywaldo speaks on the behalf of the entire CA development crew. :-)

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!
User avatar
Hobo Joe
Posts: 1001
Joined: 02 Jan 2008, 21:55

Re: Considering a personal project

Post by Hobo Joe »

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.
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.
Google_Frog
Moderator
Posts: 2464
Joined: 12 Oct 2007, 09:24

Re: Considering a personal project

Post by Google_Frog »

(like the developers of CA, will they feel put out if I build a single-player campaign on their shoulders?)
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.

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.
MahrinSkel
Posts: 17
Joined: 23 Mar 2007, 01:27

Re: Considering a personal project

Post by MahrinSkel »

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
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Considering a personal project

Post by zwzsg »

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.
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.
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Considering a personal project

Post by Licho »

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.
eyu100
Posts: 182
Joined: 05 Jul 2008, 04:10

Re: Considering a personal project

Post by eyu100 »

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.
(not counting special BA, of course)
User avatar
quantum
Posts: 590
Joined: 19 Sep 2006, 22:48

Re: Considering a personal project

Post by quantum »

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?
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.
Google_Frog
Moderator
Posts: 2464
Joined: 12 Oct 2007, 09:24

Re: Considering a personal project

Post by Google_Frog »

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.
User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6241
Joined: 29 Apr 2005, 01:14

Re: Considering a personal project

Post by FLOZi »

Google_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.
I've been saying this for years :P

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

Return to “General Discussion”