Page 2 of 3

Posted: Wed Sep 26, 2007 9:05 pm
by hibbs
i don't see a toggled by feild in the editor. the thing causeing my level to crash was the trackend but i don't see why. i even removed all the tracklinks before the trackend it still didn't work. any ideas?

Posted: Wed Sep 26, 2007 9:18 pm
by brice
...oops! sorry my bad. The "toggled by" field is in the TrackEnd. I was going by a level file I made and the Yard was linked to something (the last number on the line is the link value). Go back and look at xander's diagram and carfully note the directions of all the arrows. Also reread my last post as I just edited it when you posted. Then tinker a bit.

If you still have troubles, you can extract the levels from the game and look at them for reference. Copy the big .dat file from the darwinia directory and then rename it to a .rar file. You can then extract all the game files. You can create another mod and copy the game directories into that mod. Just look at the directory structure of your current mod. You can get the game.txt from the original too, but I forget if it's inside the .dat or outside. Then switch to the new "mod" and you can see how the original game works.

Or pick apart one of TGF, xander, or trickfred's mods.


ALSO, as soon as you start deleting linked buildings you run the risk of leaving broken links which will crash your game. Sometimes it's easier to just start over, especially when you're learning. You can try to fix broken links in a text editor, but it's usually not worth the effort unless you already know what you're doing.

Posted: Thu Sep 27, 2007 1:09 am
by hibbs
actully that all ready happend. :roll:

i fixed it though. and got my "yard" working. the goddish script is still in the works but it works now. now if only i could figure out the soul system (blueprint, reciver)


:wink:

Posted: Thu Sep 27, 2007 2:07 am
by The GoldFish
What's to figure out about the soul system?

If it's helpful I can probably whip up another demonstration mod or something. Speaking of which, I should really fix my crapmods page...

Hooray! Crapmods lives again!

Posted: Thu Sep 27, 2007 2:59 am
by hibbs
good site.


i've almost got an into level! have to work on the empty silence at the begining before the spam cubes but almost there! with my yard working, i've almost got a working mod (including rocket ship) although those red dgs are going to slow down my computer. :wink: it i'll be civil war on the spawn point level.


how does the pattern buffer work? i've tried but only got the total infection down to 75%

i've got an idea for another civil war type level but it might have to wait..... i can't figure out the receiver stuff.

::starts randomly linking things::

Posted: Thu Sep 27, 2007 3:19 am
by brice
hibbs wrote:how does the pattern buffer work? i've tried but only got the total infection down to 75%


You must have at least 4 separate networks linking into the central pattern buffer. The last node of each network must be marked with a different branch number. I've forgotten exactly what the branch number is called, but there is a field in the building data for the consoles and the satellite thingies. I can't remember if all the nodes of a subnet must be marked with the same number, but I don't think so. You can have more than 4 links into the central buffer, but all four branch codes 1-4 must be represented. Double check the original game level to see which code numbers are needed (0-3 or 1-4 can't remember).

Posted: Thu Sep 27, 2007 3:22 am
by The GoldFish
Each blue print console has a value called "segment" which you can change in the editor - in order to wipe the virus from a pattern butter you need at least 1 console of each segment value connected to it, and then the infection will slowly fade for that segment. As brice wasn't sure, the values are 0-3, and in the editor, these are the only selectable values from the UI.

I believe individual consoles become online the first time they are manned, and the pattern buffer building comes online at 0% infection.

Code: Select all

spiritspawner
           \
            (receiverlink) - spiritprocessor - (receiverlink)
           /
spiritseceiver


The presence of a spirit procesor building creates the necessery soul rain.

Note that the receiver network is totally incompatible with the spawnpoint network

Posted: Thu Sep 27, 2007 3:31 am
by brice
Thanks TGF!

The GoldFish wrote:I believe individual consoles become online the first time they are manned, and the pattern buffer building comes online at 0% infection.


The consoles are actually special. Non-global consoles become active when first manned. BUT non-global consoles can govern AISpawnPoints as if they were global. IIRC this is how the reds show up at the trunkport when you take one of the consoles in the original game. In any case consoles are the only non-global way to control AIsps. Good for Rube Goldberg machinations involving triffids, etc.

Posted: Thu Sep 27, 2007 4:14 am
by xander
brice wrote:Thanks TGF!

The GoldFish wrote:I believe individual consoles become online the first time they are manned, and the pattern buffer building comes online at 0% infection.


The consoles are actually special. Non-global consoles become active when first manned. BUT non-global consoles can govern AISpawnPoints as if they were global. IIRC this is how the reds show up at the trunkport when you take one of the consoles in the original game. In any case consoles are the only non-global way to control AIsps. Good for Rube Goldberg machinations involving triffids, etc.

Let me make a distinction between online and active. Consoles don't come online. Try using them as a mission objective if you don't believe me. They become active. Now, AISpawnPoints also become active when the building that they are toggled by becomes active. However, unlike consoles, they don't every become unactive. Once they become active, they start producing units, and do not stop until the mission objectives have been achieved. So, when a console (or any other building) that triggers an AISpawnPoint becomes active, the AISpawnPoint starts pumping out units, and doesn't stop. Period. You could use a trunkport or SolarPanel to trigger a spawn point, too.

xander

Posted: Thu Sep 27, 2007 4:30 am
by The GoldFish
Actually, I just investigated this specifically. (edit basically xander is exactly right)

Or in humanspeak:

You can link AIspawnpoints to BluePrintConsoles, and they'll only start working when the console is manned for the first time, but continue working if it becomes unmanned. As brice says, you don't have to do anyhting special for this to work, just link the AIspawnpoint building to the Console.

1.5+ has # of spawn values for AIspawn points, which can be relavent to this.

However, the buildings don't actually come "online" (like objective online) ever, unless you stick a control tower on them and take it over, so what I thought before was actually wrong!

Made patternpissabout crapmod to demonstrate this! IT SURE IS FACINATING, go check it out, hehe.

Posted: Thu Sep 27, 2007 12:47 pm
by brice
xander wrote:Now, AISpawnPoints also become active when the building that they are toggled by becomes active.


I don't have the time to re-check this, but I do remember I hooked AIsps up to every building known to darwinians and IIRC none of the other "active"ating buildings were able to suppress AIsps when offline / inactive. I could be wrong, but I've used consoles for a lot of TGFesque / Rube Goldberg game logics solely because they are the only option (or so I thought). Now if you mark *any* building global (including StaticShapes) then you can use the global state to suppress an AIsp. So a control tower can switch a StaticShape online and the linked AIsp will go active every time the level is entered thereafter. The neat thing about consoles is you can achieve the same thing without the sticky-bit aspect of the global online state. Only green DGs can activate the consoles. So you can use triffid derived green DGs for a stateless AIsp logic system. Or rather, now your state is held by the presence of DGs, which are mortal. Active AIsps won't shut down once triggered, but they will respect the new system state if the level is re-entered later.

Also, while on the topic of triffid logic, you can use red DGs to "turn off" any triffid. Just AIsp the red DGs at the base of the triffid, AND also AIsp green triffid eggs at the base of the target triffid. The red DGs will bomb the hell out of the green triffid eggs and take out the triffid too. (Unfortunately red DGs won't bomb green jelly eggs.) Put a small poplock on the reds and voila, a triffid off switch! Triffid eggs are great 'cause they have "team" but they stay put.

Also, the biggest weakness of any triffid logic is accidental triggering by overflight. Flying triffid eggs have team. Invaders also have team. Even jelly eggs have team, and if you use your squadie lasers to send egg shards flying into space, the flying egg shards have team. Anything with team can trigger triffids via overflight. The best way around this is to put triffid logic on an island far away from the player. You can control where the invaders fly by oversizing your game map. Invaders enter from a map corner relative to where the markers land. If you oversize the map so that the playable area lies inside a single quadrant, then the invaders will always enter from a known direction. You can then hide your logic islands in the invader-free quadrant. Or even in the playable area away from the invader highway.

Posted: Thu Sep 27, 2007 10:31 pm
by The GoldFish
It took me a while to work out why anyone would be bothered about that.

The answer is (presumably): So the AIspawnpoint doesn't stay on when the level is reset.

And I guess you could turn them off by blowing up DGs and running a script which involves an exit/enterlocation, but you could do that anyway with maphax.

Posted: Thu Sep 27, 2007 11:53 pm
by brice
The GoldFish wrote:It took me a while to work out why anyone would be bothered about that.
The answer is (presumably): So the AIspawnpoint doesn't stay on when the level is reset.


Yeah, simplified resets is one thing. There are others. I think I wanted to be able to turn an AIsp on, then turn it off and have it stay off even if the player returned to the level, either because they saved before finishing it, or because the game brings you back later. There are ways to switch an Online building Offline, but they are tricky and not completely reliable -- if the CT for an Online building is retaken by red engineers they will switch the building Offline, but the change won't show up until the level is re-entered. (Actually the Online/Offline status *toggles* for each capture, so you have to control the total number of captures.) The console also allows you to use triffid triggers to control AIsps if the triffids hatch green DGs. You can easily invert triffid signals using the jelly egg setting, since they won't go anywhere. Triffid triggers can do things that SafeAreas can't, like detect the arrival of red DGs -- red SafeAreas can only detect red DGs <= n, and always fire as soon as they are empty. ScriptTriggers can't suppress AIsps since they never go online even when global.

If I look back at my test mods, I'm sure I was doing lots of things with consoles that I can't remember right now. Maybe something like: green DGs capture a console and this triggers reinforcements. But the level is stacked against them from then on so the reds re-capture the console. A script can whisk the player away at that point, and when the player returns the red DGs will have "turned off" the green reinforcements automatically. No need to muck around with map and mission swaps. Maybe the player goes to another level to regroup or "hack the red infrastructure" somehow. When they return they can then redo the fight. The interum level can set certain trunkports online which will then show up online in the fight level and can activate more reinforcement AIsps. Things like that.

Question for you TGF: do 1.4x mods work under 1.5? Or did they "fix" things that break 1.4x mods?

Posted: Fri Sep 28, 2007 5:16 am
by hibbs
i can answer that they work. i used a mod i'm working on in the updated version. worked just fine. (except for the very messed up world map.) everything else was fine. which raises the question if the world map is the only thing messed up how can they not "fix" it? just put in a line of code that checks your hardware to see if it supports the "messed up" function. just like they do for 3d hardware accelerated sound. also notice the size of the .exe it jumps from version 1.4.x

Posted: Fri Sep 28, 2007 6:44 am
by The GoldFish
I think the issue may be that they don't know what the messed up function is!

edit: Regarding Brice's question as per 1.5+

Well, there is one major change that sublty affects a few mods:

Armour and Officers not set to state 0 or greater may now crash Darwinia on level entry (rather than on exit as before. This is complicated by the fact that Non team 2 officers/armour have, when a level is saved, their states ignored, and their states are saved as -1, meaning that a level which might work the first time wll crash when a player returns to it.

I'm fairly certain that red Darwinian movement around by the AI has changed again.

Rockets appear to be sporadically broken, having an explosion with 0 radius, making the last level of stricken nigh impossible.

The shift in renderer to DirectX makes Darwinia under windows possibly now up to half as slow as it is under linux.

But there are a few plusses:

Laser fences work
AI spawn points have a # of spawns before they turn off (forever)
ActivateTrunkPort commands (one to just make it look like it's on, the other makeavailables its target location as well)
New DynamicNode buildings things work like the pattern buffer.
The TurretCrasher crash thing is fixed.
The crash on entry for Squadies saved in radar transit is definately fixed, I don't know when/if that got fixed exactly.
probably something else?

edit: oh yes, the COOLEST THING EVER:
the destroybuilding command!