Endymion -
A reasonable point for method of levelling, but I'll see how it turns out with the new hive-size system before I start making large changes.
As for alien individuality - Small aliens will resort to simple clawing, but by medium size, each will have a specific damage type, and all their own vulnerabilities. For now, they're based on the blue alien, but as I get round to it, they'll probably encompass three different shapes based on the brown, blue, and a third, new appearance with similarities to both.
Loosely:
Blue - Physical, most common alien. All varieties will have increasingly lethal physical attacks. Brown - Sturdier, electrical energy controlling alien. Larger specimens will have stunning electrical attacks. Second most common alien. Red - Immune to fire damage, and healed by lava. Larger specimens will have fire breath. Exclusive to volcanic regions, since they don't appreciate cold areas much. Yellow - Desert dwelling aliens, smaller and faster than other aliens. If I can figure out how, larger specimens, though very rare (desert living is harsh), will sit submerged in the sand until prey is near. These will be the only aliens you'll see in the desert, fighting with robots for supremacy, since they're the only species that can deal with desert life, and will share the plains with brown aliens. White - Ice Aliens, larger specimens with more health than their blue cousins, and are so cold that their claws lower body temperature when they hit. Green - Swamp aliens, they are found in small numbers (and sizes) in temperate and jungle areas, but are more successful in areas of swamp. Large varieties will spit venom, and even small versions have venomous bites. Reaper - The arguably most deadly alien, all varieties are near invisible, colourless monsters distinguished only by size and lethality. They'll frequent swamps, jungles and rocky areas, and even their smaller varieties will be dangerous.
For regions, I've decided to go with the idea OthobRithol suggested to me, Notrium's regions will be banded from west to east. Northmost will be barren arctic tundra and ice. Progressively south of that, temperate regions, jungles, then plains and deserts. If the planet is full of enough places of interest, then that pattern may repeat itself in reverse. There will also be underground regions, the marine spaceship, swamps... All in all, Notrium should be at least 5 areas wide, East-West, and up to 10 areas long North-South. This doesn't include the non-linear regions such as locations underground or in space. Hopefully there's enough space for people to not be bored exploring, enough areas of interest out there that won't just be empty jungles, and not every place will just contain at most three types of enemy (the least will probably be two or more in any particular area), or contain all the same type of enemy.
Controlled growth resource that you can choose to amass for massive use later, or use up for immediate benefits? The devour/acid system seems to cover that pretty well. You can either digest a lot of food and save it, or allow your acid reserves to accumulate for a massive burst of spit, or never use it until the last moment to conserve your food reserves...
Warning, the rest of this post gets code heavy.
Othob - What you say sounds awesome. But I don't have the effects and conditions list handy, and you must really know your scripts, because that one's over my head. I think I remember that discovering 1% of health is actually covered by the system normally though (set bar to N% of maximum is the effect used by stasis field if I recall?), would you possibly be able to make use of that in a multiplication script? I do agree, the lack of "multiply bar X by bar Y", and "increase bar X by number amount Y" and vice versa, are massively important tools to miss out on.
A vague guess at what your script does (do feel free to correct me if I'm wrong), is set ADD to the % you desire, then multiply that by Times and add it to the Result, finally when Times = 0, a second calling script does whatever it needs to do with Result?
Something I worry about with that is that it takes several milliseconds, what happens if another script calls on the multiplication tool? (If you get a 1 second regen script for 10%, and during those 10 ms use a health pack, what would happen?
NB: I wrote approximately 100 lines here about two different methods of handling multiplication, positive and negative, both with and without stat maximum bars, and with more or less token items to control the reaction. I have it saved in a PM if anyone is interested enough to PM and ask for them, but out of sympathy for my reader, here's the conclusion I finally reached:
This can all be achieved without risking calculation interference by conflicting scripts using the same resource, with only two extra bars:
1: Health, 2: Energy, 3: Juggle, 4: Juggle 2
Thanks for the bar name by the way.
Seven invisible utility items: 1: H.R.T, 2: H.I.T, 3: E.R.T, 4: E.I.T, 5: S.T.1, 6: S.T.2, 7: S.F That's Health Activation Key, Health Regen Token, Health Increase Token, their energy equivalents, and Starvation Tokens.
1: Handling a flat 1% health increase/decrease. Whether item-based or repeating script, the regeneration script goes:
1: Set Bar 3 to 0. 2: Set Bar 4 to 0. (Both Juggle bars are zeroed. Since scripts activate sequentially, this won't interfere with any other scripts or items). 3: Add Bar 1 to Bar 3. Multiplier 1. (Sets Juggle 1 to current health) 4: Set Bar 1 to 100,000, accounting for maximum value. (guaranteed maximum regardless of race) 5: Add Bar 1 to Bar 4. Multiplier 0.01 (Sets Juggle 2 to 1% of maximum health). 6: Add Bar 3 to Bar 1. 7: Add Bar 4 to Bar 1.
This is simple enough. The first juggle bar holds current health, the second holds 1% of maximum health, and in the end, everything is combined within one script, which works out very smoothly, despite the juggling. There's no need to update a maximum health bar, and in the end it only takes one or two more steps to accomplish over a system that uses one.
2: Handling a flat 2% decrease from starvation.
Hard, assuming you can't have a negative multiplier on effect 28 (I admit I have no idea).
Condition: Player has 0 food and is not an android.
0: Give Player 1 S.T.1 token. 1: Set Bar 3 to 0. 2: Set Bar 4 to 0. 3: Add Bar 1 to Bar 3. Multiplier 1. (Sets Juggle 1 to current health) 4: Set Bar 1 to 100,000, accounting for maximum value. (guaranteed maximum regardless of race) 5: Add Bar 1 to Bar 4. Multiplier 0.02 (Sets Juggle 2 to 2% of maximum health). 6: Set Bar 1 to 0. 7: Add Bar 3 to Bar 1. (Again, this just juggles the health around until you have the maximum and current in the right places) 6: Use S.T.1 x 20.* 7: Use S.T.2 x 20.*
* Starvation Tokens require a little explanation. S.T.1 is not used up when used, and runs a little like this:
Condition: Bar 4 is greater than 0. Effect: Add 1 x S.T.2 to inventory.
S.T.2 on the other hand, has no condition, and is simply used:
Effect: Remove 1 x S.T.2 from inventory. Effect 2: Lower Health by 1.
Since the maximum health for any character should be 1000 (2% of which is 20), the maximum they can lose is 20 Health a second, and is slightly rounded up (since there's no lower limit on the Juggle abilities -much like temperature, you'll lose 20 health from anywhere above 950 Health). Using items allows you to access conditions multiple times in the same script, so it should (here's hoping I'm right that items can be used in this way), resolve quickly and without needing extending the script out over several milliseconds.
You may notice that the player will accumulate S.T.1 tokens as time goes on. Which brings us to:
3: Variable % Regeneration.
Easier than Starvation. Almost. Let's do Health some more.
For Starters: Health Regen Upgrades. Each race will have items that give regeneration upgrades and a condition based on number of R.Ts in inventory. (since without a bar, you can't set a maximum value quite so simply). These items will give 1 R.T of the appropriate type.
As ever, this script will activate once per second.
1: Set Bar 3 to 0. 2: Set Bar 4 to 0. 3: Add Bar 1 to Bar 3. Multiplier 1. (Sets Juggle 1 to current health) 4: Set Bar 1 to 100,000, accounting for maximum value. (guaranteed maximum regardless of race) 5: Add Bar 1 to Bar 4. Multiplier 0.01 (Sets Juggle 2 to 1% of maximum health). 6: Set Bar 1 to 0. 7: Add Bar 3 to Bar 1. (As you may have noticed, this is pretty much the basic juggle for any two values, so long as you have two bars for juggling values, most simple multiplications should be possible. This is just setting up ) 8: Use H.R.T x 20. (Health Regen Token is used 20 times.)* 9: Use H.I.T x 20. (Health Increase Token is also used 20 times.)* 10: Use S.F x 1.
* Again, the two items need explaining.
First of all, H.R.T is the key upon which all regeneration is based.
Conditions: 1: Character has 0 S.T.1 If the player is starving, they do not regenerate health by this method.
Effects: 1: Take away 1 H.R.T. 2: Give character 1 H.I.T
This gives the character 1 H.I.T per H.R.T they have, up to a maximum for any race of 20. H.I.Ts then start working. They have no conditions.
1: Add Bar 4 to Bar 1. 2: Give character 1 H.R.T. 3: Take away 1 H.I.T
Basically each turn, the player's Regen tokens are converted into active Increase tokens. The Increase tokens are then used, giving the player 1% of their health total each, and recycle themselves into Regen tokens again, ready for next turn.
And what about the S.F item?
Starvation Flush. A permanent item that is created with the player.
1: Take away 1 S.T.1
At the end of each regeneration cycle, one token is destroyed. Because scripts activate sequentially, the player will never regain health for more than a second after the player starts starving, and never be without regeneration for more than two seconds after they find food again.
So with only two extra bars (one of which was being used anyway), the variable health regeneration and % based health loss are all resolved using only one script each. In the morning, I'll be sure to try and test out whether one script can use the same item multiple times (and I see no reason why not), and if it works out, then juggling and invisible utility items (which I planned on having for other reasons already) solve all the problems I was having with regeneration and health loss in one fell swoop.
Thanks for getting me thinking on this Othob, I don't think I would have ever reached anywhere near this potential solution without your original TIMES idea.
|