Scriptable Training Missions / Tutorial System - part 1

A place to post suggestions for new features, new bugs, and comments about the existing code.
KGJV
Posts: 1474
Joined: Tue Jul 01, 2003 7:00 am
Location: Transilvania

Post by KGJV »

READ BEFORE VOTING PLZ


1st a few forewords:

no direct messaging me (I hate that, really. I have nothing to hide so I see no point PMing me)
no trolling/drama
no out of topic

failure to comply will have me to simply ignore this topic and do as I want.

2nd, the context:

unofficial project, not connected with FAO.
if anything is released, it'll be as binary without the source.

Now to the topic:


Everyone seems to agree that the training missions in Allegiance are terrible, outdated and driving new players away because it's the 1st things they see and they fail to teach them the fundamentals of the game.

Creating or modifying training missions with current code is very complex and requires advanced computer programming skills.

So over the previous years, a consensus emerged that pointed out the need to add a scripting system to build training missions and tutorials.

The main advantage of such a system is to allow more people to contribute because of the lower 'skill' requirements.

That means YOU , yes YOU here, could contribute to build training missions if such a system existed.

Now I, yes I, can add such a system to the game.

But before I eventually do so, I need to know a few things about YOU and YOU and YOU too. Actually the more YOU , the better.

If I got enough YOU that are REALLY interested then I'll do it and in the WAY YOU want it. Otherwise I would either do nothing or do it my own way.

So as a first step of investigating how we gonna do this, I need to know how many of YOU we're talking about and which scripting languages you know/prefer/want.

So plz go answer the polls, yes YOU, but only if YOU're really committed to do something.

I'd like to point out that if such a scripting system is made, it could also be used to build some kind of 'single player' game for Allegiance since doing training missions or a single player campaign game are very similar things...but let's stick to tutorials/training missions for now.
Image
Spunkmeyer
Posts: 2013
Joined: Fri Jun 27, 2003 7:00 am
Location: Contact me regarding: CC, Slayer and AllegWiki.

Post by Spunkmeyer »

We already have two votes for *Perl*? WTF is wrong with you people?


Want bigger games? Log on to play at the official game time: 9pmET/8pmCT/7pmMT/6pmPT every day of the week. Also Saturdays 8pm UTC.

Clay_Pigeon
Posts: 3211
Joined: Tue Mar 29, 2005 8:00 am
Location: my pod

Post by Clay_Pigeon »

I can learn any scripting language. To give you an idea of the kind of thing I'm interested in doing...
Clay_Pigeon wrote:QUOTE (Clay_Pigeon @ Jun 6 2011, 09:47 PM) So there is a lot of talk about revamping the training missions in Allegiance. I've decided to try to get the ball rolling.

Unfortunately, I don't know a lot about what's possible in training missions. The fact that they're written in C++ is encouraging, but still.

So I'm wondering if anyone else would like to join this effort with me (particularly the people who did training mission 8).

My current plan is to mirror the progression of concepts in @AFS . Of course, this is a dream list. We may be limited by the training mission "engine"

Game Overview ("Mission zero"): Overview of an average conquest game. Just show them a 5 minute narrated movie.
Mission one: Basic steering and throttle. Using Command View to navigate a sector. Understanding the minimap. Putting it all together to scout several sectors to the enemy's home.
Mission two: Common scout cargo loadouts in base. Go over common pieces of equipment. Switching cargo in space. *BASIC* signature management (ie. missiles and shields make you easier to see). Culminates in escorting an op con. Drone figs attempt to kill the con, eventually podding the player, but the con builds. Player is congratulated for saving the con, even though they were podded.
Mission three: Run the player through several scenarios where nanning is important, such as nanning a miner under attack from drones while drone teammates pod the attackers, or nanning a bombrun as part of a swarm of drone nans. Use this as an opportunity to discuss proximity mines, pod pickups, and ripcording.
Mission four: Signature, scanrange and probing. By way of a movie, give an overview of sig vs scanrange, and how to read the minimap for sectors needing probing, and how to probe a sector. Then have the scout probe several sectors. Mission culminates with a bomb run being spotted by probes), and the player (as part as a drone camp) proxes the bomb run. If the run is never spotted, it pops through unannounced, the player is told what happens, and everything is "rewound" while the player probes again.
Mission five: Deprobing for a constructor. Discuss manipulating signature to deprobe, and make the player deprobe ahead of a constructor. If the con is eyed, a fleet of drones is dispatched to pod the player and kill the con. Mission rewinds and player tries deprobing again.
Mission six: Being a pest. Explain how a scout can be as annoying as possible to an opposing team, including sneaking in to probe enemy bases or eye enemy runs, and responding to evidence of deprobing on the minimap, or dropping prox in front of enemy runs.
Mission seven: Basic combat. How to aim. How to use missiles. How to sidethrust. Why you should avoid dogfighting in a scout.

I would consider the above to be the "basic" package of training missions. We could develop additional ones that highlight each major techpath, I think the above is enough work for now.

I think I hit all the basic concepts in AFS. What did I miss?
I think discussions stalled when folks decided it would be easier to add on to our initial missions, rather than doing a rewrite. I disagreed, but discussions really didn't get any farther.
Image
"Therefore I will boast all the more gladly about my weaknesses, so that Christ's power may rest on me." -2 Cor 12:9
"Never know how long I've waited, anticipated your smile pressed against mine." -Running
ChaoticStorm
Posts: 894
Joined: Sat Sep 05, 2009 2:38 pm
Location: .

Post by ChaoticStorm »

Clay_Pigeon wrote:QUOTE (Clay_Pigeon @ Jul 12 2011, 06:29 AM) I think discussions stalled when folks decided it would be easier to add on to our initial missions, rather than doing a rewrite. I disagreed, but discussions really didn't get any farther.
Well i think a rewrite is best if not vital, and you have a willing tester for the missions if needed right here.

(Since i can't code/script yet i haven't voted as to not ruin the poll)
Last edited by ChaoticStorm on Tue Jul 12, 2011 10:18 am, edited 1 time in total.
aem
Posts: 1471
Joined: Sat Apr 02, 2005 8:00 am
Location: Charlotte, NC

Post by aem »

Sorry, but this is pointless. It is very easy to create training missions if you just look at the code. It is simple and very straightforward. You really shouldn't even need any programming experience unless you wanted to add support for something that wasn't already built in. And I have already said I would be willing be willing to write the training mission code if given a script of the mission.

If you want to really contribute make the drone combat AI less retarded. That is what is needed to make suitable training missions and even a single player campaign if we wanted. Plus there are some things that can't be done within training missions unless support is built in to handle it.

These limitations are what makes a training mission rewrite a waste of time. There isn't a great deal more that can be done when the combat AI is a disaster.
Last edited by aem on Wed Jul 13, 2011 3:11 am, edited 1 time in total.
KGJV
Posts: 1474
Joined: Tue Jul 01, 2003 7:00 am
Location: Transilvania

Post by KGJV »

AEM wrote:QUOTE (AEM @ Jul 13 2011, 05:04 AM) Sorry, but this is pointless. It is very easy to create training missions if you just look at the code. It is simple and very straightforward. You really shouldn't even need any programming experience unless you wanted to add support for something that wasn't already built in. And I have already said I would be willing be willing to write the training mission code if given a script of the mission.

If you want to really contribute make the drone combat AI less retarded. That is what is needed to make suitable training missions and even a single player campaign if we wanted. Plus there are some things that can't be done within training missions unless support is built in to handle it.

These limitations are what makes a training mission rewrite a waste of time. There isn't a great deal more that can be done when the combat AI is a disaster.
Sorry but you think as a coder and selfishly forget about all the MAIN benefit of this scripting system: how to not depend anymore on coders like you or me. yeah sorry.

And not only that but also to get ride of the painful 'chain' that follows any single code change: build, deploy beta code, having beta test sessions, build retail, deploy retail, document, etc. All these steps require a lot of people to act (and don't get me started on who have the 'keys' to do what here and the 'management' issues).

Think a bit out of the box and you'll find the real plan behind this scripting system and what it can do to save this game (or at least, getting it free from its current 'owners').

As for the drone AI, the plan is to move it to scripts too so more people can contribute to it.

I'll wait one more week to see if more people want to get on board (since the 'management' yet again failed at highlighting any initiative that can help this game).

Then we will move to a Googe code project to continue this discussion and get things started.
Image
aem
Posts: 1471
Joined: Sat Apr 02, 2005 8:00 am
Location: Charlotte, NC

Post by aem »

I'm not saying it is a bad idea. All I mean is there is other stuff that should be taken care of before something like this is even considered. The AI for drone combat is just too terrible right now. I just don't see it getting fixed by moving it to scripts. But IMO we should have usable AI before anyone invests a lot of time into working on a scripting system for training missions. No point in making it easier to do training missions without working on combat AI and other stuff first.

If all these current limitations are removed it would be awesome to be able to easily make missions. Honestly the current training missions are not as bad as you are making them out to be. I'd be more interested in the potential of a single player campaign and the ability to work on missions without having to rebuild the code. Again the current method of building training missions is not that difficult. Writing a comprehensive guide to making training missions might be good enough to get more people to contribute.

We can always add slide show based "training missions" that cover any topic or make more training videos.
Last edited by aem on Sun Jul 17, 2011 5:24 am, edited 1 time in total.
Bunnywabbit
Posts: 965
Joined: Sun May 15, 2005 7:00 am
Location: Amsterdam, the Netherlands

Post by Bunnywabbit »

I disagree with AEM. Kage is on to something.

I don't know how to compile code, and send it through the pipeline. I don't have the software, or the experience. If it's standard coding practice, it's easy to you. It's new and hard and strange to me.

If the level of complexity of editing a training mission were on a par with editing an MDL file, there's a good chance I'd be all over that. I'm sure most of us Arty types would be.

On the other hand, i don't remember giving a @#(! about the drone AI. As a player, you know you are in a sandbox version of the game; you know what you're shooting at are just dumb robots. It would be cool if the AI were better, but we could really make some nice stuff if the tools were better.

I don't have a preference for code language, as of the list you have i only know javascript and I try not to use it because it's fussy and annoying. I've been meaning to learn python; this might be a good reason to start :) . On the whole, since your target audience is non-coders, i'd go with the simplest, least fussy, easiest to implement language. I'm sure you have better ideas as to what that would be, than i do.

Ideally we're talking about editing a single text file - launch to see if it works - watch it crash - read message about what broke.

Meanwhile, if either of you could make the teeny tiny alteration in the current system to have it use the actual keymap file and pop up a message with the proper key for the commands at the appropriate times, that would tidy us over until this is finished.
ImageImage current version r158 new beta as of jan 23 2012
TurkeyXIII
Posts: 1460
Joined: Thu Dec 06, 2007 3:18 am
Location: Melbourne, Aus

Post by TurkeyXIII »

AEM, even something that just reads a text file and interprets it in a way that uses the existing functions would bring the benefit of not needing a code change and next release version to get user-generated content out there.

AI improvements would be good, and not just for training missions, but that's not a bottleneck for getting a scripting system started. There's no reason to not have usable scripts and then use the presence of good training missions prompt the AI improvement, or whatever people feel like doing when the time comes.


KGJV the thing that strikes me funny in your OP (apart from the peculiar emphasis on pronouns) is this:
KGJV wrote:QUOTE (KGJV @ Jul 12 2011, 06:32 AM) unofficial project, not connected with FAO.
if anything is released, it'll be as binary without the source.
It sounds like you want to build a stand-alone program using none of the existing allegiance code, which would be re-inventing the wheel. I don't doubt that you could do it, but why would you want to? If you wanted to get around MS' ownership of derivative works thing that they've got going then fair enough I guess, but I don't get that impression.
It would also mean that any code changes to the allegiance engine won't become a part of the training missions, somebody would have to update the training software separately. If it's closed-source, that somebody would have to be you. Which kind of contradicts the following:
KGJV wrote:QUOTE (KGJV @ Jul 17 2011, 01:21 PM) the MAIN benefit of this scripting system: how to not depend anymore on coders like you or me.
QUOTE (Randall Munroe)14.2: Turkey consumption rate of the average American in milligrams per minute[/quote]
Image
KGJV
Posts: 1474
Joined: Tue Jul 01, 2003 7:00 am
Location: Transilvania

Post by KGJV »

TurkeyXIII wrote:QUOTE (TurkeyXIII @ Jul 17 2011, 03:25 PM) AEM, even something that just reads a text file and interprets it in a way that uses the existing functions would bring the benefit of not needing a code change and next release version to get user-generated content out there.

AI improvements would be good, and not just for training missions, but that's not a bottleneck for getting a scripting system started. There's no reason to not have usable scripts and then use the presence of good training missions prompt the AI improvement, or whatever people feel like doing when the time comes.


KGJV the thing that strikes me funny in your OP (apart from the peculiar emphasis on pronouns) is this:
It sounds like you want to build a stand-alone program using none of the existing allegiance code, which would be re-inventing the wheel. I don't doubt that you could do it, but why would you want to? If you wanted to get around MS' ownership of derivative works thing that they've got going then fair enough I guess, but I don't get that impression.
It would also mean that any code changes to the allegiance engine won't become a part of the training missions, somebody would have to update the training software separately. If it's closed-source, that somebody would have to be you. Which kind of contradicts the following:
No, I don't plan to reinvent the wheel. Only the training module of the game is 'forked' and changed.
If my changes require modifications to some other parts of the game, i'll publish them in the common source tree.
If changes happen in the common source tree, I'll integrate them in my source tree.

I'm forking from common source only because I don't want to depend on FAO organization and systems to get things moving (see how we're still waiting for a R6 release). They're stuck contemplating their past, I want to move forward.

By focusing on training mission/solo campaign, I can work and produce stuff and involve other people without depending on the FAO pipeline while keeping compatibility with them. In the beginning, I'll keep my code closed because I don't want FAO to rip it like they did with my previous works. This may change anytime if I see positive changes within FAO.

so to sum up:

Allegiance multiplayer game: FAO as now
Allegiance single player game (training/tutorial at first and more stuff later): this new project.

There will be 2 distinct EXEs only is FAO choose to do so since my build will be compatible with the multiplayer game.

The point is to create a positive momentum and bring back innovations in this game without disrupting its foundation.
Last edited by KGJV on Sun Jul 17, 2011 3:20 pm, edited 1 time in total.
Image
Post Reply