View Full Version : New Mission

24th Sep 2002, 18:43
Ok so I have my new mission "InfeStation" pretty much done. Sure there's more to add, but its playable now, if folks want to try it out and comment on it. I put it up at http://www.cryptic.com/~mehlhaff/Startopia/InfeStation.zip

Basically its a 'bug hunt'. You clear skrashers and such out of new segments as you open them. Complicating this is the fact that the whole sector is infested, and many refugees will show up infected with spawn. Occasionally they make it too late, and a few skrashers pop in through the port.
When there's skrashers on your station, it is quarantined, and no new peeps will come aboard.

This mission is pretty hard, BTW. I implemented a 'minimum energy' so it is hard to run out and lose that way, but you can't move forward relying on the minimum energy crutch...

Try it out and let me know what you think.

OH, it assumes the patched version of Startopia.

Mucky Foot
25th Sep 2002, 23:39
Nice mission. A bit confusing at first, but you get the hang of it after a while. Really neat premise.

It feels quite long - do I really have to take over the whole station (I've done about a quarter on all three decks)? That could take a while. Or maybe there's a plot twist I haven't seen yet, but it feels like it'll take a long time.

Also, it's exposed some bug in the scripting system or something - I've never had so many StarTopia CTDs ever as I have playing this. This is just on my home machine, so I don't have my full debug rig setup, so I can't tell exactly what it is. Not that I know much about the script code anyway, I'm a graphics man. And yes, I realise it's going to be pretty hard to debug things like this from your end :-)

Good to see there's still plenty of life and variety left in the game. Ta.

TomF - Muckyfoot coder.

26th Sep 2002, 06:03
One script problem that can cause CTDs are using things that were never shipped with the final version. This includes:

That other peep that begins with G that I keep forgetting.

I think you can also get CTDs from:

Using icons that don't exist.
Setting more than one Say or SayX to the same reference number.
Circular references in separate mission files

{missions\My Mission\part2.txt}

{missions\My Mission\mish.txt}

I know this sounds stupid, but I tried:

{missions\My Mission\*.txt}

So mish.txt loaded mish.txt into itself and had duplicate trigger labels.

26th Sep 2002, 06:09
The mission as set up only requirrs you to get 21 segments, that is, the 3 on either side of the center top. I have since added another segment, but haven't put that in the released version. I dont think I'm going to do the whole station. Basically if you can get that far the rest is just cakewalk, and it'd just be tedious.

I did notice a lot of CTD's on this -- It seems the last segment or two you can open release a lot of skrashers and that causes CTD. Its not reproducable so I'm not sure what exactly it is.
I have no idea how to debug it -- nothing shows up on the 'scriptinfo' debug thing.

Mucky Foot
26th Sep 2002, 22:48
Heh - sounds like I just need to open one or two more then. I'm just impatient. Should be just the right number, though it would be handy to tell the player that. Minor tweak, I know...

The CTDs aren't obvious script bugs because I simply reload from the last autosave and the game is quite happy - it'll be something wierd and internal. You're right - it does to be moderately related to a large number of skrashers appearing, either when you open a segment or when they come through the port.

Because it's not an obvious script bug, it probably won't show up anywhere useful like scritinfo - probably something obscure and internal that just happens not to have bitten any of the other missions. I'll see if I can track it down on the rigs at work, but I'm kinda busy right now with something else, so don't hold your breath - sorry.

Random suggestion - you could try generating the scrashers one at a time, one per game turn, instead of all at once. It's just that I don't think any script has ever generated multiple scrashers all at once before - could be the problem. It does complicate your script to do that though.

TomF - Muckyfoot coder.

27th Sep 2002, 03:57
Well my script makes them one at a time in the segment opening code, but makes several at once in the refugee code that sends them in through the port.

Putting more of a delay in is doable, and doesn't even make the script that much more complex. It does introduce an interesing bug where you open the last segment, and the instant that it is opened the skrashers haven't been placed yet and you win the mission. I'll have to fix that.

I think what Im' going to do with the victory conditions is make it so you can open most of the torus, but you 'win' the mission at 1/2 of it. The extra code is for the players who want to keep going ...

27th Sep 2002, 06:03
Yay! Keep on making those missions everyone! :)

cryptophore, you rock. Email it to the Post when you finish please!

28th Sep 2002, 08:12
the post? Is that the startopia post? I've posted elsewhere on this forum that I can't read their site on my Linux netscape -- their html is too messed up or something. (shrug) I can
give it a shot i suppose.

30th Sep 2002, 00:09
Yes, I believe our crazy stuff doesn't support it. I can't view it through my box either.

Send it to me @ alphaomega@strategyplanet.com when it's done and I'll post it for you.

1st Oct 2002, 19:11
Done? Done? Like any fine program, I dont know if it will ever be "DONE". There's always refinements to add! Like, I wanted to implement a bounty on each skrasher killed, but I dont see an array for 'skrashers killed so far' -- maybe I'm missing something? I contemplated placing them in their own group, but the docs say you can either place peeps in a group, or place them by location. Additionally, how would placing them in a group help count ones created by ripping their way out of other peeps?

I was also hoping to place structures in new segments, some good (to help the player and give
them something to save when they open a segment), and some pre-destroyed, to set the proper 'abandoned/destroyed' station feel. Sadly I dont
think 'place_building' has a 'destroyed' flag. OR am I mistaken? Heck, I'm having a hard enough time just placing them so they fit and dont generate a 'room placement forbidden' message on
segment opening (I think its due to other objetcs like critters and crates also being placed at the same time -- as well as just fitting big rooms).

And how could I place a lone human survivor named 'salamander' or 'gecko' or some such similar amphibian name... :-)

But 'good enough to release' I can certainly do, I'm almost there now. Gotta rip out some debugging stuff.

1st Oct 2002, 22:33
Originally posted by cryptophore
Like, I wanted to implement a bounty on each skrasher killed, but I dont see an array for 'skrashers killed so far'
Have a counter, say UnpaidBounties, increase whenever the script places a Skrasher. If Spawn_Count drops below this, lower UnpaidBounties by 1 and pay the bounty to the player. The only problem with this is that if random Skrashers occur (from illness), they might pay the bounty instead of the pre-set Skrashers. Either way, you'll still pay the same number of bounties, the player will just have to work a bit harder for them.

Additionally, how would placing them in a group help count ones created by ripping their way out of other peeps?
If your premade spawn are in group 1:

Set EruptingSpawn (PeepStat Race Spawn Roger - PeepStat Race Spawn Group 1 Roger)

Sadly I dont think 'place_building' has a 'destroyed' flag. OR am I mistaken?
Use build changers in.txt to set the strength of certain rooms to 1 so that the Skrashers can destroy them in an instant. Just make sure they're not rooms the player has access too or it might upset them. Or place live bombs next to them.
Or you could have an AI player on the station. Give him a few rooms, but make sure no-one can board its section of the station. Leave the Skrashers there for a while and by the time the player gets there, the rooms are toast.

And how could I place a lone human survivor named 'salamander' or 'gecko' or some such similar amphibian name... :-)
You can't. Humans are a race called Spy, have no name, and cannot be selected. It's hard coded into StarTopia. To change it would mean having to distribute a new copy of some of the StarTopia files.
You could place a Spy and bring up a message saying "Hi, I'm Frog boy." I'm sure the StarTopia world will forgive this discression.

I like your work, by the way. Keep it going. I had a similar idea just before you announced yours, but your's is a lot better. I think StarTopia needed your mission.

Good Luck!

2nd Oct 2002, 01:31
well the idea was to give the player the normal
mix of buildings, just that when they opened a
new segment, there'd be lots of trashed buildings
and rebuilding they'd have to do. If it can't be done, oh well, was a nice idea...
I can just as easily place a few intact buildings, and then some skrashers to trash those as the player opens the segment, but a smart player will quickly repack them all to hardplan crates.

Counting skrashers as they're placed, and paying
a bounty as the number decreases sounds like a good idea. I'll give that a shot. Won't count skrashers created by peep infection, but maybe the player shouldn't be rewarded for such negligence anyway...

3rd Oct 2002, 05:29
Don't forget that hardplan crates can be trashed in combat as well. Also, if a room has more than a certain point of damage (50% maybe?), you cannot repack it. Its structure breaks down during the repacking process.

3rd Oct 2002, 20:09
OK so I updated it, so that it actually unzips into a directory. 27 segments now available, the
last few have some high value structures. Like an
energy collector. You have to be quick or the skrashers trash it. Just repack it as soon as the bay opens, and PICK UP THE CRATE or it may get damaged in the ensuing combat.

I'm pretty much done for now, though I may update a fwe of the lame sounding comms messages.

Its still in the same location on my web site. (see first post in this thread)