Synthetic Reality Forums Post New Topic  Post A Reply
my profile | directory login | register | search | faq | forum home

  next oldest topic   next newest topic
» Synthetic Reality Forums » Android Games » synSpace: Drone Runners » Meet synSpace: Drone Runners (Page 5)

  This topic comprises 5 pages: 1  2  3  4  5   
Author Topic: Meet synSpace: Drone Runners
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
I 'finished' the sailboat math, and cleaned up some terrain bugs, including a new TILE shader that's not too awful and improves frame rate a bit.

I think the next vehicles are treaded (tanks) or wheeled (cars), but I am also interested in extending the boat math to support 'personal mini-subs' with a 'buouyancy control' which I guess could ballast-tank themed (sink / neutral in water / float in water/neutral in air/float in air) and you select the mode you want (subs would hide the air options and airships would hide the water options), unless it was a combined airship/submarine. A hindenburg that can drop below the water line and hover anywhere (i.e. no buoyancy at all == easier math :-)

If I work on tanks, I will want to add the concept of a 'turret' aero. A steerable attachment point that can take some vehicle add-on, but probably some sort of weapon that needs to be aimed differently than the vehicle..

And the thought immediately appeals to me to have a ballistic game where you aim, shoot, watch what happens, adjust your aim, move to a different spot, etc. Presumably with a natural barrier between opponents (me on my island vs you on yours). But does adding the ballistic element make it better (than just aiming left/right), or just more irritating and painful with a primitive display. Did battle zone have a steerable turret?

The internet is great, sometimes

https://www.youtube.com/watch?v=ymrYkbEbnEQ

did not have a steerable turret. you don't even see yourself, just left/rigth aiming at items sharing a flat plane with you. your engagement ends the moment you pull the trigger, and then you switch to a new target. but good use of fwd/rev motion to avoid attack, and then a good understanding of the 'ai' (so when he pulls back, the opponent is always caught slowly turning to face him) and is easy prey if he is prompt.

But it appears even these low res '3d' shapes are precomputed (and they didn't feel like implementing more than a couple angles of that 'missile' attack. Though that might have been less about render and more about computing the angle needed. still, dot products are pretty inexpensive... but i say that as a 21st century snob. This game captured my imagination with its amazing 3d-ness back when it came out.

[ 12-10-2021, 11:49 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
Well, today my interest went towards submarines.

I roughed out my 'ballast' (buoyancy) control, which will have 4 settings (just like the flaps control, which it replaces when you are in a sub)

Basically, the four settings are:

* ballast tank full of 'water' (local ocean molecule) which means the sub is inclined to sink all the way to the sea bed. At which point it is stuck in the mud, unless it also has wheels or treads or something.

* ballast tank half-ish water/half 'air' (local atmosphere molecule) which means the sub has neutral buoyancy and hence exactly counters gravity, so you neither sink nor rise, and depend on a steerable nose vector (via rudder and elevator in rear, behind 'fan')

* Ballast tank full of air, which means the sub wants to float all the way to the surface. (at which point it becomes a 'boat')

*Ballast tank full of helium (or maybe an optional expanding tank 'above' the sub, turning it into an airship. This is the moral equivalent of the hydrofoil, and should be optional. Maybe you don't WANT a flying sub. This might need two settings: neutral buoyancy in air and 'upwards buoyancy in air (to top of atmo? return to orbit?)

---

In any case, I envisage the ballast control itself being used on subs and airships, though perhaps only 3 settings each, or maybe another notch at either end (travel beneath dirt? travel above atmosphere?) and driven by some sort of 'regions of use' flag in the vehicle definition (in the 'general' aero)

ANYWAY, I will need a new aero type if I want to actually render something, and I think I will add something like a 'fuselage' aero. It might get involved in the drag equations, but mainly I think of this as cosmetic only -- just to give your brain an excuse to believe this is a submarine.

So, I think I will make a shape generator (emitTrianglesForSegmentedCylinder) that takes a list of radii and generates a tube which uses the first radius as its starting radius, then moves X distance along its axes and transitions to the second radius, etc. So for each 'step' of the cylinder you need 2 numbers: r and x. (bonus points for more, but I want just two for now)

An aero reserves 16 floating point values for its '3d quad' which generally outlines where the aero is in 3D space relative to vehicle center (in model space). I want to have, therefore, up to 16 radiuses in the most complicated tube.

Which means I need to cram X and R into a single floating point value, which I think I will do like this:

Floating point value :32.57 means X = 32.00, and r = 0.57

The aero can also give me an overall length and width of the vehicle (in meters), and then I can scale the X and R values to achieve that absolute size. So R=0.99999 would mean a radius of 'width/2' meters, and X=12.0 would mean (X/sumX)*length, where sumX is the sum of all the X values.

So as you design your tube, the X values are just unitless proportions that get turned into meters later. And the R values are just relative (attenuations) of the width meters.

And just to make a PICTURE (side view of simple submarine fuselage)

code:
          r1                 r2
r0 * *
* | | r3
| | | |
|------|------------------|--------|
| x0 | x1 | x2 | x3=0
* | | *
* *



[ 12-19-2021, 07:57 PM: Message edited by: samsyn ]

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
And I just changed my mind about the X values. I need you to provide 'number of grid paper squares from vehicle center to the circle center, and it can be positive or negative), The center is going to be the center of mass, and the tube orientation will rotate about this point as the vehicle is steered, so it has to look like 'the right point for these rotations). Anyway, it's better for me to get the actual grid offset than just the length of each section.

oh crap. I seem to have deleted 80% of the previous post with all the nice descriptions. I wonder how I did that? Well I will re do it when/if it gets implemented.

[ 12-19-2021, 07:58 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
here's an overlarge screen shot of the new sailboat controls

http://www.synthetic-reality.com/drone/sailControls.png

[ 12-20-2021, 08:51 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
Merry Christmas!

I just did us all a favor and deleted a VERY long winded babble that served absolutely no purpose. You're welcome, and thank you!

The profiler says the best thing for me to improve (to boost frame rate) is my 2D triangle sort.

My World Render:

* scan some list of 3D objects (rocks, trees, etc)
* for each object, emit its 3D triangles
* for each 3D triangle, cull aggressively
* for visible 3D triangles, map to screen 2D triangles (linear algebra for the win!)
* add each visible 2D triangle to the '2d triangle list'
* once you have them all, sort the list
* (sort by distance to 3D triangle)
* chop the list (keep only the 10K closest/best triangles)
* scan the sorted 2D triangle list and actually emit those triangles to the screen (using the java canvas.drawVertices() method)


I'm not that guy that finds sorting particularly thrilling, and I have no objection to using a built in sort fucntion (like quicksort in c++)

I'm afraid I am going to have to refactor things a bit so my sort can be faster. I didn't always know my renderer was going to have those stages, so my data setup mixes 3D and 2D storage into a complicated set of arrays, when it could have been laid out much more simply, now that I have the clarity I lacked when I started :-)

Clarity which I won't have forever, so I really should fix it now.

But I need to get to bed, or Santa may not bring me that Casio CTS1 that I haven't yet told my wife that he got me...

Be safe Be Happy Be

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
so, here's another attempt to 'pitch' the game present on this new starmap ("Paradise, Utopia")

Given that you start out with a randomly generated planet full of terrain, flora, fauna, weather, etc, fully (reasonably) tweakable by the starmap author

On the planet are a number of Hives... A Hive is basically a critter factory. It produces new critter babies (level 0) at some rate, based on the complexity of the species and how compatible the environment is.

It maintains some other rates (averages births per day, average deaths, etc) all 'per hive', but the stats can be aggregated by player or team since a hive is ultimately owned by a player or a team.

The goal is for a 'game' to take 5 to 30 minutes. And in grand terms, it's a bit like WarPath, only substitute 'hive' for planet. On this one planet are N hives you can explore and discover and then win for your team. (by being nice to them), or wipe them out and start over with a freshly wiped hive.

A hive is 'informed' by its critters. At any give time, the hive has some critters out and about (the rest are in cold storage somewhere). And THEIR interactions are what tell the hive what is going on. If the CRITTERS report sadness, then the hive lowers the average sadness value for that hive and that influences the birth rate, so in the next day, fewer 'virtual' critters (the population count is just a number -- a score.. and there are NOT that many actual critter objects walking around.

But, some authoritative player (owner of the hive, reports the official hive stats (say, 8 numbers per hive?) that summarize the demographics of that hive: current pop, percent that are level 1, percent that are level 2, etc. or min/max level and standard deviation (or something).

But the idea is that when I leave an area, if no one can see the critters in that area, they get released (put back in cold storage) and I do NOT remember them.

Then if someone approaCHES that hive in the future, it uses the demographic numbers like this: "I know I have a pop of 14,010 virtual critters in my 100 square kilometer aread of control, which is 14 critters per acre, and say the player can only see one acre away, then he should be able to see about 14 critters from this hive, walking around nearby, so it instantiates exactly that many, in random reasonable locations, just before you walk up. So you THINK there are 14K critters, but you only see a couple dozen at a time max, and their statistical variety (levels in particular) match the official demographic distribution (which then changes constantly based on the current birth rate values on the host player's device).

So, to win you have to:
* end of game timeout, most population wins
* most conquered hives wins
* loss of all hives loses
* loss of primary hive (each player starts with one?)

---
So that's the pitch, 8 players representing some number of teams, capture the hearts and minds of as many hives as possible, then terraform the nearby environment to boost hive population. Critters 'in the field' do their normal animal behaviour and report happy/sad to their hive in response to your interactions, which drives the population success of your hives. (think "Hammurabbi")

As in WarPath, you have interactions with the hives to boost their productivity, including generic design of new species.

In the long run, while a game session is short, the species you evolve should be persistent and you should be able to use them again in new game sessions (auto-sharing as needed)

And, equally eventually, you should then be able to form an 'RPG Team' from the species you have developed/collected, and use those on some OTHER starmap where there is a classic RPG adventure going on.

But it's really the SPECIES that you are evolving, even though its the individual critters that are earning the experience points (for their hive) So, critter, species, and hive are all interconnected in the game engine with some baked in behaviour that your map can use or ignore.

You know, maybe the 8 numbers might just be # of level 0 critters, number of level 1 critters... number of level 7 critters. THen the total pop is the sum of all, and the percentage per level is easy to compute.

So 'npc critters' could level up over the course of the game (starting at 0), and the level of the species is then the average critter level (plus a min/max/stdDev?),

then a host task would periodically apply the happiness and other hive values (driven by character interactions and terraforming) and didle the stats as needed to add babies, turn some babies older

Just need to turn that into a set of real interactions with point values... And obviously that ought to happen in the script, but I might make it table driven and then give you a default table. I mean that's definitely what I will do. I think.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
aircraft can now have an 'ILS' (Instrument Landing System) meter, which can be tuned to a specific airport (except I have no list yet so it is hardwired to the stock runway)

It then tracks a virtual glide slope vector that shoots from the landing point at a shallow angle along the length of the runway.

so steer to keep both needles centered and you should arrive at the front of the runway all lined up for an easy landing (the idea being that maybe bad weather preveted you from seein this yourself)

There's still the basic problem that a vehicle that goes 100+ knots is pretty cramped in a world that is only 8 km wide. I might be able to let the starmap pick a scale factor, and just scale the terrain, but keep buildings and trees the same size (more sparsely separated). It might not look too stupid, especially if it was for a mostly air combat environment.

But I could also basically compute a 16x higher resolution fractal, and then only show the closest bits (i.e. no further than you see today, but actually more terrain overall on the planet.

I should evolve in that direction. Still, for most of the game styles I envisage, a smaller, more intimate, map feels appropriate, and 8 km allows for a good number of intimate venues in reasonable walkig distance.

Still, a 4K x 4K grid (compared to today's 256x256 grid) might feel better for a fast vehicle game.

normally, at 80 knots, my cessna overcoat can cross the entire 8km world in about 6 minutes. if 4k, the same trip would take 96 minutes. At at mach 1 about 10 minutes. That sounds satisfyingly intimate.

for a walking RPG that would be huge, but then you would probably try for letting each player bring their own square of land which somehow blended with the set of tiles present on the game instance. so the world overall is shaped by the active players, but ooks like a contiguous thing.. some sort of elevation patchingat the edges.

And provide-your-own-square could be super intimate... actually, this is probably sounding like minecraft a little.... well.. no rip off intended... but p rovide-your own would maybe only be, say 64x64 (1km squares) .. 4096 cells.

what if it were only 256 cells... 8x8... 256m side length.two and a half football fields.

let me design my 8x8 little corner of the universe and drop it in the game instance somewhere. probably have a 4 cell autoatic levelling border between our 'claims'

yeah, kinda mine crafty. a group terrai nmodeling experience.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
I'm back to thinking about battles. In WoS I did this thing where you dropped into a 'scene' to do battle, and one player was the host of that scene.

The host then talked to the other payers (via packets) to announce each step of the experience. From the little cut scene before the fight, to the little cut scene after the fight.

so only the host would read the 'script' for the scene and then broadcast each step to the other players, who would then all just react to those announcements pretty much as they received them.

--

In synSpace I am inclined to not have a host for the scene itself, but to have a host for each character. But when the time comes to play a cut scene, each player runs that same script

but might be that WoS has it exactly right.

However, I have been thinking of it more as a group of individual thinking creatures, each with its own brain, driven by its own script engine, playing a role in a canned script, using a virtual RPG body that follows battle rules during engagements with other creatures.

So, some interaction between us has made you mad at me, so your critter has some battle choices available in its list of 'things to do next' and some ai for picking when and which thing to do. And then it does it, which probably takes a second or two, involves some walking, a brief animation, a flash of particles, and a quick return to your starting point, followed by an update of some RPG stats, followed by the occasional level up, rewards, and loot.

All of which happens when any two critters (NPC or player) interact. Either critter might choose to break off and run away, based entirely on its own thoughts.

I'm thinking the engine would offer a handful of mechanics, like 'make the critter move slower' 'make the critter hit harder for 10 seconds'... and maintain all the timers and cooldowns needed to 'dim the buttons' such that each critter has on the order of 8 buttons: attack / cast/ special / flee / etc

And when you are piloting a critter, you see 8 buttons and can press them whenever they are not in cool down or lack some requirement.

But an NPC pushes those same buttons 'virtually' as a result of its 'ai thinking', but like a player, can't push a button that isn't enabled, out of cooldown, etc.

The critter asset has animations unique to that critter species, but the same for all instances of that critter.

When you collect and share critter assets, you get those animations along with the skeleton.

But when a starmap calls out that critter to be the face of a map character, it adds a bunch more state about the critter, the RPG info. So you and I might both make a starmap featuring the same critter asset, because we like the way it moves its hands in its CAST animation.

But on my map, the character is "Wizard Willikins" and the CAST is to warm a pot of tea. But on your map, the same critter is used for character 'Charley the Unicorn' which is a fire breathing level four boss that shoots entangled imps from the demon dimension. In both cases he waves his hands the same, but entirely different spells result. Just because of 'one line of text' in each of our starmaps... something llike

cast='petrol blast','soaks target in oil, then throws lit match',<costs><buffs><damage><timing>

plus a starmap should be able to define up to, say, 64 'buffs' again, with one line each

drunkeness=cuts speed in half, spells fail +3%

where 'cuts speed in half' is a game engine mechanic, one of a list of mechanics you choose from. then the buff, drunkeness, invoks some of those mechanics (with some probability)

you might have other buffs that deal with the same mechanics, with different probabilities, inverted outcomes, whatever combination you thin kis interesting.

Then your RPG characters, in addition to using a critter resource for the visible animations, inherit some number of buffs from various means, and for varying durations with varying cooldowns. But at any given time your status of any buff is 'on' or 'off', and that info is announced to all other players. So when you turn on a defense buff, you have to hope that your opponent receives that update before his next attack, or he might compute the damage based on your earlier state

this is a feature, though probably irritateing on wifi

Anyway, some buffs are passive (say, baked into your character class (defined by map... thief, space pirate, random thought) and are always active

Some are granted by evelling up, maybe picking frmo a list of options and once you select them they are turned on

some, once 'learned' are still 'off' until you trigger them

"Your CAST has a 10% chance of ELECTROCUTING foe for 10 seconds" (where electrocuting is a buff that is turned on when triggered by the CAST and then turns off after 10 seconds)

So, I need a simple 'language' to define a magic sentence for each buff, which labels it and describes which game mechanics it uses. Something like the WoS conditional token language. something easy to type in the script.

---

THEN

Now when I push my ATTACK button, my copy of the script (I am the host for my own critter) evaluates the legality of the move and the final outcome based upon the locally known state of all critters (and players). I have a list of your 64 active buffs, and mine. I know our RPG stats and weapon stats. I can compute exactly how many damage points you will take from my attack, or if my attack will miss. I include that outcome as part of the one single packet I send.

This packet is accepted by everyone who agrees it came from the host of the critter (map binds critter index ranges to player indexes, giving each player up to 100 critters to 'host' without conflict)

Everyone then just obeys the packet and animates the attack (or miss) and updates RPG numbers per instructions in the packet.

Perfect for hacking... my hacked client can send exactly how many hitpoints I want to remove from you and you just obey it.

Though I guess I could do the same math. And if our buff lists didn't match maybe I could 'force a miss'

But no, not really. I'm hooked on the single packet plan (even includes the loot)

ANYWAY, when I started this page I was only thinking about battling, but in fact I need a large number of cut scene mechanics and they might benefit from a scene host.

--

let's talk it through

I already have cut scenes in Lua
I just need to add critter world 3D camera control options
And the scripted dropping of a new critter in world, a critter that I am hosting. I would announce the creation of such a critter, using one of my 100 assigned hosting indices so everyone knows I am the host. (and if I disappear my hosted critters... daon't hang forever)

and then I would announce individual critter actions 'walks here.. says that.. turns and blinks.. camera cuts to close up etc' and everyone would pass that along to their copy of the critter

when my script was done with that critter, it would send a kill packet to remove it, and other players might come to the same location and need that NPC back (it's a quest hub) so they end up spawning heir own copy (and we only see our own copies of such things?)

well, I know I;ve talked about this a lot. but it inches closer, and I'd like to have a nice battle style that works for melee between 20 or so critters.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
feeling unwell... and lethargic... difficult to 'find the bliss'.

That being said. I really need to add some sort game to my starmap :-) Something that uses the engine pieces that already work. Something driven by the starmap and not baked into the engine.

In fact, I should clone this map and make 4 copies and then add one simple game to each copy. a cessna based game, a tank based game, a critter based game, etc. Let the engine run 'the world' as it sees fit, and just interact with the pieces that make sense in the particular game. While continuing to expand engine mechanics (like genetic manipulation of critters), but not make that something any 'game' has to wait for.

On the other hand, I also have bugs that are years old now and I'm in danger of just letting them last forever, and I know from experience that's horrible. So there's ALWAYs something that deserves to be fixed.

but that doesn't mean my moment by moment inspiration inclines me to work on that. I'd be more inclined to introduce a whole new module, like fishing, complete with more bugs and incompletely wired to the script. I feel an interest in doing 'flocks' (of fish, bird, insect, ufos -- anything I can model in a handful of triangles, but the fish should wiggle when they swim and actively be drawn to bait, put off by splashes, and you should have a pretty good view of them (under your boat, for example, as I think fishing from a boat solves my coastline issue (that would result in the fish looking more like they were flying in the gap between water and land.)

butterflies, regular flies, alien butter flies (different triangle colors basically), but following a believably 'thoughtful' flight plan that isn't just a loop and can react to you walking by and that sort of thing, but isn't really sophisticated, just a bit of visual interest as you move around. I'm thinkin they would be one option for a 'flora object' (i.e. randomly placed in the flora space), but they might also turn out to be an option for 'any' florar object (in ADDITION to being 'flora' (animal, vegetable or mineral, even though I call it flora), each can optionally have a flock object. Then, when walking around, I would be in range of some number of these flocks and would see them in varying levels of detail (small triangles to big triangles.. maybe TWO triangles for a wing when up close), but most flocks would be invisible most of the time, and members of a flock would normally stay close to the flock center. Though for birds I think their flock range is more like a football field. Maybe I couls have several nearby flocks sort of pool together for a really big bird lissajous show. (Basically a lead bird (triangle) following a complex lissajous pattern that stays inside a cube of air, then each bird picks one other bird to 'follow, stay relative to' and ultimately everyone is following the lead bird with some slop. I know this looks nice, especially as background. Also, it looks cool from above (I remember in Hawaii, standing on the edge of a cliff, and seeing birds flying WAY below us.)

anyway, I think 'particles' are working out pretty well, since 'motion' is kind of a peer to 'eye candy'

"Sure, it doesn't LOOK like a butterfly, but it kind of MOVEs like one, sort of, I mean, I understood what he was going for, I think"

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
OK! I finally started the game within the script, woot!

in the script, an individual quest looks something like this:

code:
-- the quest for three oranges

function doThisParticularQuest( scene )
scene.numOranges = 0 -- i start with none
-- set up a message handler that increments
-- my organge count each time the game says
-- I picked on up (real routine would check
-- some arguments to make sure it was an orange)
scene.handler['onItem'] = foo( scene )
-- engine says I got one!
scene.numOranges += 1
end

-- now loop until the count reaches three
while (scene.numOranges < 3 do
wait(1)
end

-- if I get here, the requirements of the
-- quest are complete, so give me my reward

rewardPlayer()
-- mark this quest as done, update score, etc
end

It's not too hard. At least not when you are forcing a linear story.

But more likely I will let you 'accept' more than one quest at a time, and then just sort of merge them all into a single loop that checks all the requirements every time around.

I think the final structure will be: (in meta)

code:
setupAllMessageHandlersAndCounters()
while( I have at least one accepted quest )
for( each accepted quest )
if( needs met ) then
rewardAndRemoveQuestFromList()
end
end
wait(1) -- let other coroutines work
-- maybe sneak in a random hint here
end

several message handlers are needed so a quest can be based on collecting items, vanquishing foes, reaching areas, etc.

--

What I need to add tonight is the ability to detect when players are near hives (and to send the script a message as each player gets close or moves away)

I have decided that Hives are sort of your main base building and they have a FLAG that tells which player they belong to. If you stand close enough to a flag, it first goes DOWN (assuming soeone else owns it) and the owner is told it is under attack. After some time, it hits bottom and no longer shows the original owner's flag. This is the moment the old owner loses it. Then it starts to go up, but now with YOUR flag, and if it eventually hits the top, then you have successfully claimed this hive.

And that's basically game one -- who has the most hives after N minutes.

I figure the rate at which the flag goes up or down is set by the number of friends and enemies near by. Plus the critters nearby probably all have allegiance to the original owner, so you probably have to fight them or they will buymp you out of the circle (and the flag will reset to the original owner)

And I will need some sort of push-back weapon that can send a crowd of critters flying (out of the circle)

--

And if hives are 'fly points' (taxi service), then maybe the minimap will let you rapidly get to the one that's under attack, thou you probably want to send a critter army to that location, so that might be interesting.

anyway, yay. progress.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
I'm stuck in another productivity attenuation (eyes), which puts me in 'long twitter' mode, where I spout without being able to sense new input (well, I *can*, but it's an effort, and not lossless)


so this is a free range babble, probably heavily influenced by whatever the cat needs me to do. We are slaves to the cat. From her perspective, however, we are just slow.

Sh continues to be very sharp, mouth and claw, and shows love by biting really really hard. But if you don't try to pll away, you only end up with punctures instead of torn flesh. I use a lot of rubbing alcohol and neosporin.

There is a point, before nighttime bed time (assuming aseveral nighttimes per day) where as she gets very sleepy (which seems rise up in here from feet to head, so her head still looks alert when she is actually kinds frozen from the neck down.

and if you touch her at this time, her brain is stuck in her reptilian cortex and she reacts like "I a outraged that you would attack me when I am this defenseless, and her teeth are the major working muscles group so she will go for it.

While she is in this state, which we call pon far out of some attempt to remember a star trek word related to this bloodkill thirst she has. And some times it must be served.

She;s like a little vampire, and once her thirst is slaked, she just falls hapily asleep. But for this purpose we keep the 'black cat puppet' (she's also a black cat mostly (tortoiseshell with brownish highlights), and we have both a black cat puppet and a white cat puppet. For 'slaking the bloodthirst' she seems to prefer the black cat puppet, and I don't know if there is any sad science hiding in that)

Anyway, we 'play' (mock fight) using the padded puppet (what it was designed for) and she bites SO HARD. I know it is not safe to let here get anywhere near a bird or mouse while in this state.

Also, I don't want to be training her to do this more (my attitude about in-game critters clearly differs frmo my real world attitudes)

And, now that I think about it, it's been a long time since she demanded this, and she's definitely gotten less "bitey" overall.

She is also OK with being touched now, so long as it is with a brush, and not human flesh. She loves being brushed (which also manifests as rubbing agrainst things) Her fure is fairly long this time of year and she appreciates help shedding the old hairs. She loves the cold (downstairs is kept at 65 degree (i.e. heater comes on below that). But hearter only heats the upstairs, so we really should work on airflow.

I get up sometime between 4 and 6 most days and do a ritual with the cat. go downstairs, turn on the xmas ree (now a full-year feature), and open the curtain so she can watch for squirrels.

This makes her so happy, that it rewards me enough to put up with the ritual. She 'needs' me to then stay downstairs for an hour or two,

and by 'needs' I mean that if I disobey here, she will come to my location and threaten whichever pile she knows I feel most sensitive about in that location.

Generally, I cave right away (experiecne), but the only alternative is to lock her out of the room (she actually has learned to open a few doors, though her hand/eye coordination is pretty laughable usually, like she was remotely operating here front legs with invisible chopsticks... or like that stiff-armed cat playig the piano original youtube.)

But if I lock her out, she will scratch to get in (which is a compliment, since I know all she really wants is for me to hang with her, and do my magic trick that makes squirrels appear)

she loves it when we squirrel fish. (the secret: bait. a little pile of raw almonds) They have learned that we do this and now I command a small army of squirrels, hungry for winter. I know all the places they bury the nuts. (and they all know each other's places as well, and the sad truth is that they are not all nice animals)

I mean, I shouldl judge. These guys are out living in naturem,, which mostly wants to eat them, and rarely gives them free food, other thn the fact that they will eat most anything so I guess one should worry too much on that front.

Still, they are pretty skinny as a rule (though my army looks to have put on apound or two after a couple bags of nuts this year)

In theory I am learning all sorts of useful animal reactions, and running squirrel social experiments. But mainly I am just wathcing the equivlanet of a youtube video, but in real life!

The cat and I are on one side of the glass (sliding door, closed) and the nuts are just on the other side, so the squirrels have to brave the door and give us a good view.

The cat then crouches and waggles her butt in excitement as they approach. Often she likes to run to the opposite side of the room so she can do a sort of rnning attack (like chasing a bazelle I guess, to have a lot of velocity momentum by the time the target is alerted to you. or something.

She KNOWS the glass is there, but you can see her entusiasm gets the best of her and she will slam into the door from time to time. Mostly tough she maybe rols on her back with face oressed against the glass and then fumbling with her paws as if she could reach 'behind the glass'

she uderstand being on the other side of something, but not quite the concept of where the egd she can reach around is (I mean in the case where there is no such edge, she thinks she sees one anyway

the squirrels meanwhiile, see us, and the newbies will starle and run away, but most of them know us at this point and they just stand there eating while looking right at us.

Several will 'play' with here, darting back and forth playfully as she bats at the glass. Pretty sure that's fun for them as well.

Others behave abut the same, but it feels less fun. more like they are trying to demonstrate how macho they are and she better stay back or they 'cut her!' Which is kinda funny coming from a tiny cute creature, but mostly sad.

Still, overall, they are not worried about US, they are laser focussed on each OTHER

Usually there is a dominant squirrel (might change from moment to moment with nut-adjacency. King of the nit pile) and if anyone comes near their almonds, they will drop the nut they were eating and spend a minute chasing the new squirrel around. it doesn't look friendly, and the prey squirrel is often frightened/startled enough to bounce off our door (like he e either was so scared he didn't pick his direction well, or he knows the physics and intentionally bounced of the door to get a particulare escape ballistic. I knoda think the latter

But it makes a sound similar to a bird hitting your window, so I was concenred until I realized what was happening.

So I am a but of a 'squirrel whisperer' these days, and I make all sort of sounds that sound like squirrel talk to me. Not sure what they think about it, but to some degree I just want to see how effective it is as a 'the nuts are here' signal. I think I am possibly saying "this is my territory, these are my nuts, stay away" since I think that's what I mostly hear them say

I speak to the cat in complete sentences, and she speaks back in 'cat'. I have learned a few words in cat, like "correct, you are doing as instructed", :the liner of my cat box is in disarray", and of course "since you have provided me with multiple bowls, why aren't they all overflowing at the same time all the time?"

right now she is saying "the squirrels have finished the nuts, and I think you should put out a second pile". But she might be saying "please wake mom as she is the only one not too squeamish to feed me wet food"

Oh right, to complete that story, she has me over a barrel in the morning since while I could handle her scratching to get in (earbuds), it would wake my lovely wife, who otherwise would get no sleep at all.

Plus, she does show her happiness, and that's heavily rewarding.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
continuing the dim ramble. Here's my latest recap of the storyline for my next starmap 'Paradise, Utopia'

You start iin grid space with as few introductory things as possible and can play 'pew pew' with anyone who shows up.

I should have some random scripted NPCs to fight, alone or in tandem with other humans and NPCs, and I should extend the script API to make that really easy (to create a list of things like 'meteor' 'atomic rocket out of control', 'godzilla' etc, with simple SHELL ship shapes (and I should extend the stick figure stuff to also work in 2D so I could have animated ship shells with '2D skins'

But that's not storyline

The 'game' on this map is heavily influenced by WarPath (though perhaps it doesn't show) on line insetad of 'earning the love of planets' you are 'eanring the love of Hives'

The game takes place on planet (not in grid space) and maybe it's fair to compare that to the WoS camp scene concept), but raised one dimension.

There is only one planet in this star system, it was recently discovered (a goldilocks planet) and forces are trying to colonize it. You work for one of those forces.

The planet has been seeded with a large number of Hives (about a thousand at the moment, though that's kind of a lot. Warpath only has 100 ish planets) I might need to tune that to control size/length of the game session.

A Hive is like a 3D printer that stamps out critters. Critters are bio-synthetic organisms that mimic biological live byt using synthetic materials. Bio synthetics have hive minds, so anything known/learned by a critter is shared through the hive.

At any given time, a Hive is tuned to a particular critter species (I think) this one stamps out rabbits, and that one stamps out wolves.

One game activitu is to explore the world, looking for HIves that put out a usefl critter. Then you make friends with that hive until you control it, at which time you 'learn' the genome of that critter and can command any friendly hive to make more of those.

The total number of hives that get bonded with you, and total critters created feeds the score.

The Hive has available upgrade modules that you can craft out of raw materials you collect ini world.

these include defensive and offsenive weaponry, atmosphere and water control (terraform the atmosphere and oceans for the benefit of YOUR critters)

Some possible climate crises, and extreme weather events, mainly as an excuse to create exotic materials for crafting (lighting maybe leaves behind diamonds on the beach -- that sort of thing) And I would like to do a nice fishing module..

but the storyline is that they think you are someone else. You are REALLY some human that has stumbled onto this remote control, but THEY think you are some ace Terraforming wizard. And hopefully, as the story develops there can be some intrigue there.

Your official mission is to fix the "Paradise Claim Bubble" (conveniently located in the center of the map).

So, the HIVEs are preplaced (by??) and are basically just churning out flora and fauna pretty randomly

But when you find a special place (like the center of the map, apparently), you claim it by setting up a bubble claim dome (starts off as a bomb,basically, that leaves behind a spehere. You own everything in that sphere.)

I think in multiplayer, each player would get to place on claim bomb and then have private control over any Hives inside that claim. And if you know the map well enough, there is probably some spot where a claim help a large nunber of hives.

You can control other hives as well, but they are not protected by your claim.

Not completely sure what proection you get but maybe:

* better atmosphere control?
* rain on demand? private weather?
* other players cannot enter your claim?
(until they craft a field splitter)

So, you start in grid space, but pretty soon I encourage you to orbit the planet. Once in orbit, you get a little tutorial on planets if you like. and new vehicle types.

Intially, you have a gravity damper and are safely floating above the planet (not really in orbit, just in a magic ufo at about 2m altitude). Hopefully all the grid space weapons will continue to work on planet (more or less the same) and you could magic ufo dog fight with other palayers i the mode.

Plus, you're visible from down below (with enough zoom) so it's not impoossible they could shoot at you as well.

I see the starmap as having solo sandbox play, but for the warpath mode game you really need to start all the players at the same time. So somthing (moderator or timer) would start a new game, and maybe as soon as it is started, people are free to set up their claim dome and start bonding with their contained hives, but some imortant fuincality didn't become available until all N players were 'in world'

I recently put up a video shodin what I have of the intro tutorial, but in a multiplayer game you wouldnormally not have to go through that again.

so you would

go to grid space, play 'pew pew' and collect powerups ntil the planet was unlocked 'game available'

enter the planet's atmosphere (graze the planet slowly in grid space)

magic ufo dogfight until you pick your base location, then turn off your gravity damper

fall like a meteor to the ground, unless you know how to use your 'lunar lander' antigravity beam thingy (with some advantage for a asoft landing, like your powrups are decimated by a hard landing maybe)

walk around (You already have a Personal Nano Factory and its possible all players are talking to the same helpful AI, but each has its own inventory)

pick your spot and set off your claim (hopefully a nice cinematic of it coming into exsitence and all the hives inside of it snapping to attention, ready to follow your commands)

generally speaking, you approach a hive, and any tmie spent near it makes it either like you more, or less, dpesning on how nice you're being. But a neutral hive is trusting and wants to be bonded, so if you're the first visitot, you have a head start.

the hive has a visible 'stomp' when in makes a critter and you see it slowly rise up as it collects the resources needed, then slam down when the critter is created.

One of your goals is to improve the surroundings so as to make that slam happen faster. This is where terraforming comes in (or maybe just tune it to a more compatible species), and the speed of the stamping is a visible indicator of which hives are doing well.

The crafting tree will include lots of intersting vehicles which I hope will be useful/nevessary for quick access to a hive in trouble.

After tuning up all your claimed hives (and I assume you can make more claims over the course of the game), you probably have soe distance to travel to isit them all.

And I see a lot of game action being you hopping from hive to hive, fixing something or otherwise restoring their love for you, as well as bossting the critter output.

So in multiplayer, you race to grab the best hives and then all the hives, you make them able to defend themselves, and they can be hurt by some weapons so you can knock a hive back to the unclaimed state by hitting it enough, but that would slso teach other hives what sort of person you are.

Meanwhile, all those critters are just wandering around doing whatver their little critter behaviours include, whever their local environment encourages them to do so.

And, if you have nothig else to do, you coud hunt them, or other wise manage the population of desirable vs undesirable elemtns (from your player perspective)

But let's say there was a strong hive that you wanted to conquer. It was too bonded to someone else t start with and is likely to hit you rhard if you get close (it has zappers of its own, maybe, but the critters born of it can be sent to attack you.

And of course, there is no 'death' in the game, so no critter can die. Any critter destroyed in batte (or eaten by another critter) is backed up in dataspace and can be restored from backup at any time. (but for some reason that never happens mid battel... though I guess resurrection is not all that uncomommon, so yeah, sometimes even then!) Anway, no pain, no guilt, blast away.

You are also backed up, so death to the player is basically "you wakje up in a new critter up in orbit or back at your base claim or something)

But running out of new critters to spawn into would be a possibe game over criterion

* until all your free lievs are gone
* until N minutes, high score (popuplation) wins
* until you have no hives/claims left

Again, sorry for all the typos. I just can't see well enough to correct them all.

though I can see that "popuplplation' which looks intriguinig

ANYWAY, here is my trying to cram a little "DomiNation" (another Arcadia toy) action taking advatge of the goegraphic proximity of Hives near enough other.

Imagine I had a battle horn and when I blew it, it attracted creaturs from all the friendly hives in earshot, proportional to their population and level of critter. So if I stand in a spt where more (and stronger) hives are within earshot, maybe I can summon a large army of critters to my location, which is strategically picked to allow ne to set that army into attacking a porwful enemy hive just in front of me.

Of course, my battle horn is also hear by nearby enemy hives, and fepending on how much they dislike me already maybe they automatically field their own army.

and maybe I would go so far as to tune fiendly hives to make critters specifically good aginst eneney hives I would like to netralize.

But I want to be able to use an aircraft to fly over and drop a fog of triangles of one thing or another (positive or negative crop dusting)

as well as walking around and hitting things.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
Well, my eyes are coming back on line (knock on wood), and I was able to noodle around a bit for the first time in a while.

And I immediately broke the very core of the program. wewt.

I started with an example app, and copied this basic game loop where a thread sits in a tight loop calling game update and game render over and over again.

And the frame rate is whatever it can manage on that device, running as fast as possible.

This original example was of the mind "each time through the look, I will first UPDATE, then RENDER, and if the render is slow, I will then call UPDATE as many times (without RENDERS) in a row until I 'catch up' (so if you care about the total updates per second, but not specifically the time between updates, that's fine

But I thought it would be better, for me, if the loop was:

UPDATE (always)
RENDER (but only if there is time, or we have skipped recently)
SLEEP (until the exact moment we want next update)

so I diddled the code, without making a backup first and before you know it, my render was completely broken.

This was completely mysterious until I thought about what that example code was doing.

Each time through the look, it grabs a lock on the 'surface' first, then does the update and render, then releases the surface.

And basically, when you grab the lock, you get back a canvas where you draw that frame. But what I was ignoring is the fact that I don't receive 'the' canvas... I receive 'a' canvas, and behind the scenes android maintains a list of these buffers (at least 2 and it felt like 4)

and if I grab the lock and THEN decide not to render that frame, well, it's too late. Once I grabbed the lock, I get the canvas, and if I skip rendering to it, it just keeps its old contents (which is the world of a few frames in the past)

So, the mysterous bug was that when I dropped a frame, it would render some out of order past frame instead of just 'holding' the frame it had

and THEN I realized that the SLEEP was inside the render section, so when the render was skipped, it ski[[ed the sleep as well (which kinda breaks the whole concept)

So, armed with the bravery that comes from thinking you actualy understand something, I just hacked it to this:

UPDATE (always)
work out if there is time for a render
if so, then grab the surface, render, and release the surface
if not, then do NOT grab the surface and do not render and do not release.
but either way finish with a carefully timed sleep to keep the inter-update time as constant as possible.


And that works pretty well. Plus I now have a tweak for 'maxFPS' which basically sets how many msec each frame should last and that controls whether I feel I have time for the render.

to that I add a render no less frequently than every 5th frame, just so the screen doesnt completely freeze ever.

At the end of the day, there is more sleeping than there used to be, so technically my frame rate is a little lower, but it's much smoother, and the time spent sleeping is amazingly beneficial to the battery charge.

for example, I can fly the cessna overcoat pretty easily at 5 renders per secong on a really old little tablet (the updates are taking place at more like 20 fps), wheras before it was impossible to not burst into a spin.

WoS was only 10 fps, and that 'works' for me, but 15 fps is much smoother for flying. If I can't have 30, I will live with 15 (and have features to reduce scene complexity when needed).

Now I need to see for sure if my 200 msec renders make sense. I would like my render to take < 30 ms, which means someday I will probably bite the bullet and enable the use of a GPU.

anyway, i wrote a few lines of code this evening. wewt.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
TMI WARNING INAPPROPRIATE BABBLE CONTENT

so, after that, my right eye leaked again, so I am pretty much completely blind in that eye until it clears out. Last time (last easter), it took at least six months before I could 'see, and read huge fonts'

But somehow I am optimistic this will clear more quickly (mainly because I am finally back on an exercise program, which was interrupted by covid)

When your brain gets no useful pixels from an eye, it sort of turns it off, and you pretty much only see what the other eye is showing. (Even though if you close the good eye you see plenty of crud in the bad eye. The retina (in my case) works great. It's just leaky.

After about a week and a half, I could see (with a mirror) that my right eye had sort of wandered off to the right (no longer attempting to sync with my left eye, or just being off by an angle)

But now, there has been enough improvement that I can make out large shapes when there is high contrast (like when the TV cuts to a close up of a single face). My brain can then show me both eyes at the same time, and I can try to 'uncross them' and get the face in the center of vision for both eyes.

This is a bit like those magic dot pictures, or a stereoPicture thingy. But eventually I can sync them for bits of time, and I think that's an exercise I should pursue -- though it leads to some eyestrain and more headaches. (especially when my brain thinks it could improve things by adjusting the right eye's lense focus, causing ineffective focussing sphicter muscle stress, which is a particularly unpleasant headache (for me).

I am also regularly getting migraines, but not particularly painful ones -- they just have the 'classic aura' thing of a sort of cloud of lightnig bolts appearing in both eyes one one side, and then slowly expanding and moving to the other side. Lots of 'jaggy lines in a circle'. I can minimise the duration by calmly sitting with my eyes closed. Vision actually feels kind of improved after it clears. But that's a brain thing, and probably just the restoration of blood flow making the brain work a little better in that spot.

ANYWAY, the really INTERESTING thing is that not only did my right eye 'dirft to the side', but it has also 'rotated a little'

So when I do line up images in both eyes, the right image is 'rotated' relative to the (level) left image. So to correct it, my 'eyeball muscles' have to rotate the eyeball in the eye socket (a little)

ANYWAY, I'm sure it will be fine, and it happened last time, as well. (Though I had completely forgotten about that)

Tomorrow I think it will have been 4 (or 5?) weeks since this latest leak. And I think the leak itself correlates to an unusually high A1c (at least that's something I have some control over, in theory)

I am at the point nw where I can ghenerally make out where my hands are (assuming it's brightly lit scene) and can read truly huge print, so long as it is red. I can't really see blue yet. We keep out xmas tree up all year now (since start of covid) and it features in some morning rituals with the cat, so I end up looking at it daily, and right after the leak, I could literraly see none of the llights at all, just swirling darkness.

Then after a couple weeks, I started to be able to make out where the brighest/reddest lights were (and could see my eye was no longer aligned properly)

And over the next couple of weeks, I can see more and more of the lights. The purple lights have become visible, but they 'look red', so I am still filtering blue.

My left eye is still recovering from its last leak) (several months ago, and it had just gotten useful again when the right eye leaked (thank you, I guess)

But the left eye has continued to improve, and aside from some nasty looking floaters, that vision is super crisp and clear (whenever the kelp beds float out of the way) and I can influence things by tilting my head or 'hurling my eye' in some direction and then 'looking fast' before the stuff drifts back.

Anyway, clear enough that I have been able to work a few hours most days, so that's nice, even if I don't seem to have anything to show for it.

As to the future, who knows, and perhaps I will just suddenly go quiet or something. Enjoy every day. Thank you for sharing the journey!

But my optimism comes from my return to exercise, which has been a hard slot (only for psychological reasons.. that core irrationality of sitting around when you know you need to be in motion). But everyone in my life continues to encourage me, and I have finally decided that 'walking around the block' works for me. (before it was 'riding th ebike at the gym' -- one particular bike I liked). It's just hard for me to exercise regularly. I spent my whole life avoiding it. Really some sort of misplaced rejection of my dad, I think (a professional athlete).

Anyway, one of my irrationalities.

Anyway, after about 10 miles of walking, all of a sudden my metabolism now runs long enough after dinner to pull my blood sugars back down to a healthy 106 by the time I fall asleep, and I don't wakje up with 120 or something. EVEN (as I tested last night) if I eat too many late night crackers.

That's really all I need. Eat intelligently, and burn it all off. Avoid triggering starvation response. I think it also has give me more of an appetite, which I didn't realize had kind of been missing.

Like, there's a low blood sugar 'you waited too long to eat' sort of desperate cold sweat feeling, but there is also a separate 'hey, you feel a little hungry' feeling that I haven't been feeling (because I have basically never finished digesting my previous meals before I start the next)

And not because I eat a lot. I just tend to be that stationary. And now, it's walk time! On today's walk, I will also use my magic battery thingy to see if I can start my car and recharge it (it's dead) so that if I am ever safe to drive again, it will be ready for me.

Though I am now an uber master. (My wife's car finally got back from the shop after literally months of trying to work out what the problem was, and then get 30 year old parts for repaise. I doubted them many times, but it has in facte been repaired, so we haven't actually needed uber since then, but I remain prepared! Just have to remember to bring my magnifying glass with me!

End of babble

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
More Babbling Eyeball Research

So, I can see strong contrast objects in my right eye, and my brain is willing to react to those objects, but it is also happy to just ignore them, and let my right eye 'drift to the right' (and rotate about 5 degrees... counter clockwise?)

As the vision improves, I know I will benefit from not having had these muscles atrophy, so Whenever I can achieve 'stereo lock', I try to hold it as long as possible. I am also trying to move my head and retain the lock (figuring if I do that in circles it should exercises muscles equally and maybe help with the rotation into alignment.

THAT BEING SAID, when I lose the lock, I see the bad image sort of drift away (as my eye drifts to the right, presumably, so my wife can enjoy the game as well).

And the part about that which motivated me to inflict this upon you, is that you get to see how really very different the images seen by your left and right eyes are.

I mean, a short line of text doesn't line up for the entire length of the line. The difference is striking, and yet, once your brain has locked on stereoscopically, you just perceive the one object, in all its 3D glory.

So when there is a difference, whether because of geometry or disease, your brain is super good at coming up with something it thinks makes sense.

And my left eye floaters now disapear after a couple of seconds (if they don't move). I mean, they are still there, but my brain just filters them out until they move again.

right eye is still mostly useless, but when I look at the bright window, I can now see the 'grill' of the box fan in that window, so acuity is returning slowly, which is comforting.

still don't see much blue.

Did I mention that my dad was blind in one eye for most of his life, and it was never a deal breaker for him. (Even managing to survive flight training in the Navy)

I rember never knowing which eye it was, and he wanted you to look him in the eye when you spoke to him (a habit I have mostly lost, I'm afraid). Obviously it was the one that wasn't looking at you, but somehow that algorithm never manifested in my brain as a child.

Anyway, he didn't whine about it or, to my knowledge, write about it. I also heard most of his stories when I was really young, so 1) I forgot them immediatalye, or distorted the memories, or 2.) I just didnt care, because I was completely self-centered (and a bit afraid of him)

Bt I think he said he threw a stick in the air, watched it come back down and managed to scratch his corne so badly that it developed into an opaque cataract. In the late 60s, I think, he had an operation (cataract removal) (which I myself have also had now, in one eye).

Only in 2015, they were really good at it, and in the late 60s it was some new thing and I think my mom says basically they had his eye 'opened up' but the tool they needed wasn't sanitized because something had gone wrong with the surgical steam tray thingy. So they sewed him back up with no lens at all and pronounced you only got one shot at that operation. Again, this is my take-away as a seven year old.

But it was part of the foundation of my distrust of doctorin' (which was substantiated on several more occasions before I left for college.)

I think 2005 or so was the first time I had a doctor that actually suggested things that made sense and made an improvement. And I think that's mainly our just getting better at genomes over the course of my lifetime, and we have more 'mechanical understanding' of things, and can design molecules with targeted effects. Instead of .. well, that would be perjorative, I think :-)

But since 2005 or so, aside from self-inflicted distress (inert pizza eating), the quality of my doctorin has been great.

And just to say it again, I think I am finally back on the exercise bandwagon (I let covid be an excuse to not make the effort)

Another thing, blood tests are great! my clinic is super good at it (no pain, no fuss, and traditionally I have small veins). You get a video game thrill of trying to 'game' the upcoming tests by 'cheating' (eating healthfully and exercising for awhile) and a real sense of accomplishment when, say, your A1c is back to that of a resonably healthy person.

I just need to balance my exercise with my nutritional intake. Need to keep my metabolism running all day long, with and engaged core holding my organs in place, so my body gets used to burning the sugars down to 106 prompt;y and then holding them there until breakfast.

With too little exercise, my body poops out and stops digesting (well, converting sugar to glycogen stored in the liver, I think) while my blood sugar is still elevated, and then my body steeps in that sugary soup all night and capillaries get plugged and so forth. cells starve, emit distress molecules (VEGF) that stimulate growth of bad vascalature (blood vessels that don't necessarily connect where you would want them to) and then weird things start to happen. 20 years go by, and you have become weird yourself.

But then science comes up with a molecule designed to either seek out and destroy VEGF molecules (Avastin) or find and bind to the cell receptors that VEGF is looking to bind to, making them as unavailable as an ICEd supercharger parking slot (EyeLea).

But administration via injection sucks as there is always some trauma in response to something your body feels is a physical assault. Plus the risk of infection or blood clot.

And with all that, I need to eat. We had booster #2 (pfizer vaccine injection 4) and while I egenerally don't "feel" these injections, I do feel a little nauseaous at the moment

OK, end of TMI babble.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
You win THIS round, AI!

https://www.youtube.com/watch?v=0fDJXmqdN-A

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
An experiment with DALLE.2 mini

 -

from the prompt:

"marble floored palace interior with open area in front of throne"

using thie AI rendering engine

https://huggingface.co/spaces/dalle-mini/dalle-mini

it made nine images, and all were great (and low res, this being a free mini demo). And I imagine with a more impressive bit of text one might make nce backgrounds that told interesting stories and didn't get too much in the way of the sprites.

I'm not sure you could make a set of matching hero skins with it, though. Individual NPCs with a single pose might be pretty good.

Here are all nine images from that text prompt

 -

[ 06-04-2022, 09:56 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
"marble floored palace interior with open area in front of throne. there is a dragon seated on the throne, wearing a crown."

 -

[ 06-04-2022, 10:06 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
"a nature scene with snow capped mountains in the background and rolling hills, with an open grassy meadow up front"

 -

[ 06-04-2022, 10:28 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
"inside the underground cavern of an active volcano, with stalactites and drips into pools of water and lava, smoky and dark"

 -

[ 06-04-2022, 10:56 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
I made working skis today (synSpace Vehicle) just a coulpe planks, but they use new friction math which can be overidden by the vehicle and inclues the mass in the computation (which it wasn't)

still a little weird since the existing friction math is a bot of a hodgepodge, but I can now ski down a hill side.

skiing is another one of those things that I find interesting but have only done once (long story, probably already told it)

i could probably drop little 'lift' platforms (upwards tilted planes). Jumps. the word is ski jump.

and then I need to make it so your friction determins how steep an incline you can climb (along with its friction -- less for snow, for example) before you slide back down (on your feet) and if you go very fast while sliding, I should put you into some sort of tumbling rag doll animation and disable your steering and such until you slide to a stop (based on friction alone)

my skis also work on water, plus they have a throttle so you can drive back up to the top of the mountain easily enough.

---

I was thinking of a hearthstone feature (something you tap to go back to a spot you need to return to enough that it is convenient to have an easy link to get there.)

But I don't want to just teleport there.

I was thinking of summoning a taxi vehicle which would arrive at my current location, pick me up, and then drop me off at the destination. And I want that too, but

I think for now I will just have a button type for transportation, and then a code number for style where taxi would be one, but the one I would try first would be 'ballistic', where my pal Pan would fire my 'lunar' engines (antigravity beam) as a single pulse to send me on a ballistic trajectory which math says should take me to my destination.

but thanks to wind, and other math, it would not be completely accurate, so you would land NEAR your destination and then walk the last bit.

So you set your hearthstone at the top of the hill and then let Pan shoot you back to the top after you ski'd down.


But I know I also want a MAP feature with destinations you have a reason to need quick access to. Basically an array of heartstones.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
I added tweaks for a CONVERSATION API... this is one of those NPC dialog trees where the NPC says something (the prompt), and you are given a handful of responses. You tap on a response and it switches to a different page of the tree and the prompt changes and new responses are available

This then creates a 'word maze' the player has to navigate to the special ending. In this case once they get to the special ending, it sends a message to the starmap script which decides what it wants to do next.

Currently, the API is super simple, and uses the tweak range 1300-1399

like this

code:
setTweak( 1300="Text Prompt [r1=1][r2=2][r3=3]...")

So it is just a single string of text that defines the entire 'page' of text and which buttons appear.

Each response has TEXT and a CODE which indicates what happens when you tap that TEXT (usually it is the page number you want to switch to next)

Set tweak 1300 sets up page 0
set tweak 1301 sets up page 1
etc. up to some limit (less than 90 for sure)
setTweak 1399 = page means 'open conversation on that page)

So the script sets up the conversation one time, and the engine then uses the digested results to drive the actual conversation dialog box

The 1390s are se p to let the script decribe who you are talking to (their name, icon, and maybe a couple lines of status text of some sort)

set 1399=-1 to close the dialog (or user can close it, which I guess should send a message).

code M, I think, means send a message, like

code:
1300=Do you know how to ski?[YES=Mcanski][NO=1]
1301=Would you like to learn?[YES=MteachMe][NO=2]
1302=OK, well, um, enjoy your day... jerk!WTF?=X]

so, I guess my codes would be

0-89 // switch to new page of that number
Mxxxx // send message 'xxxx' to script and close
X // close dlg without message

something like that.

This allows you to do a full text adventure game, I think :-) Each page is a 'room' and seleting responses NSEW takes you to adjacent rooms, if doors are present. And you design the whole thing on some grid paper like it was 1990 all over again

"You are in a twisty tunnel. There are openings to the east and south[GO EAST=47][GO SOUTH=89]"

if you need more than 90 'rooms' then you make one room somewhat that links two 90 element maps into one 180 element map, etc. You do this by using a message instead of a room numbner and your script handler for that message knows to reload 'chapter two' of the dialog and take you to the startong page of that. Hope that makes sense. Probably makes sense geographically to break you map into regions and give each region up to 90 rooms.

That's vaporware at the moment. I mean I did the tweak strings but that turned out to only be about 10 lines of new code. Now I need the UI, which I am thinking might go to full screen (and maybe this evolves into a generic script-driven interactive document api) But for now something like

Maybe a 'radio' version, just adding small response buttons to the existing popup.

code:
+-[NAME]-------------+
| So, do you think |
| you are ready for |
| a big ADVENTURE? |
+--------------------+
| [R1] [R2] [R3] |
+--------------------+

but probably a more full screen version for long wordy purposes. Perhaps I should implement my COLLABORATION game in this technology...

code:
+-[NAME]---------------------+---------+
| So, do you think you are | [X]|
| ready for a big ADVENTURE? | ICON + |
+----------------------------+---------+
| [No, I want to stay home!] |
+--------------------------------------+
| [Yes, but I have to be home by 7PM] |
+--------------------------------------+
| [How about a MEDIUM adventure?] |
+--------------------------------------+
| [Call 911] |
+--------------------------------------+

Probably not. collaboration really wants you to use a full keyboard. Adding the slow thumb typing might not make it better. Then again, how is it any different from tweeting. I won't rule it out.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
So, I implemented that. At least the basics. I changed the reply layut a little

[the text of the reply=(page# to open next)]

and page# -1 means 'close the window'

If you want to also send a message to the script, add it as a hashtag after the pg number like

[You're right, I *am* a winner!=-1#butter]

So if the user taps on "You're right, I am a winner" then not only does the dialog close, but it also sends the script message "#butter"

so the script would have something like this:

1.) decide that the player has met an NPC with something to say.

2.) set tweak commands to define all possible pages of that conversation (probably pre-written, but here is a place where lua code could be used to make a 'random' conversation, or one whose replies were peppered with personality.

3.) define a handler for the message

handlers['#butter'] = function()...

And all that needs to do is set a flag

4.) set tweak 1399 to the starting page of the convo (doesn't haave to be 0)

that opens the dialog and the player starts clicking away trying to find the happy ending of the conversation. (sort of like a maze)

The engine manages the conversation with no work needed by the script other than to sit in a loop waiting for that flag to get set. (and a single conversation can have multiple messages.

ANYWAY, I think I will use this initially by

1.) scripting an NPC critter at some location
2.) you tap select on critter
3.) appropriate action buttons appear
4.) if he has something to say, a chat button appears
5.) you tap the chat button and the script sets up that dialog and starts it.
6.) you sit in a loop, handling messages that the dialof sends you, eventually the fact that the window is closed (and your script can think about other things)

And this first dialog would be something like

0: ARE YOU UP FOR AN ADVENTURE?
no, leave me alone=-1
yes, what do you suggest?=1

1: HOW ABOUT ONE OF THESE?
Learn to fly a cessna overcoat.
Learn to drive a battle tank
Learn to swim
Learn to shoot

etc.

Basically an NPC offering you a meni of scripted experiences. Maybe one that creates a challenge on the spot, like "fly to a location and bomb it"

That would be a script of its own

1.) teleports you somewhere and sticks you in a vehicle
2.) spawns an NPC critter and puts it in another vehicle and selects it as target so the various beacons come alive
3.) spouts some help about the mission (catch up with him and shoot him down before he bombs something you care about -- for example) But different (a little) each time you run the scenario
4.) monitors for end of scenario

And while it is focussed on that, it really isn't pushing any other quests. Once you start a scenario, you're in it until it ends or you quit (I will need a quit button, I guess)

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
babbling continues.... (this is vaporware proposal, not spec)

as I try to merge with rune runners... I need the concept of a 'set' or 'stage' for my 'scene'

A set/stage can be dropped in world, with a heading (but otherwise flat) wherever you need it, by script command.

sets themselves can be predefined, or made just in time. It's possible there is only one set, built by script at start of scene. But, more likely, 64 or 99 sets, defined by a script table.

Does a set have a name? I guess it might as well. Maybe at the time the set is dropped in world.

"The King's Palace, summer 516AD"

A set has some fixed furnishings, which are themselves defined elsewhere... props. stage props.. so another list the script can set up, but probably comes with a handful of predefines (like every one I can grab from anywhere). Still, these are like 10 triangle assets probably. I mean, a max of 10 triangles per model. maybe.

so the props are numbered 1-99, say, and basically just consist of a model definition (tent, rock, campfire, barrel).. I think they have no state and are completely static so our related scene tweaks would be something like:

twk# Action
0 -- select which stage to work on (0-99)
90-99 -- bit ticket properties (heading)

and a range of at least 8, but fewer than 32, 'marks', each with an XYZH (heading) offset from stage center (drop point)

for each mark, in addition to XYZH, I need a 'type' (prop, actor) and 'model' (model#, actor#)

models and actors are defined in separate script tables.

maybe actors also walk to and from marks easily, in which case, maybe they should each have their own mark list, as it were.... well, that's overthinking.. rare things should probably be left to raw scripting. (as opposed to EZ bake table)

yes, stages can also hold active components (like a defensive air battery, or a taxi stand, or a race waypoint,..)

So at the start of s 'scenario', the script drops 10 sets around the map, moves the player to a runway, in a vehicle with appropriate equipment, and a radar preloaded with NAV info.

which might be on foot, with a slingshot.

or in a cessna dropping care packages

as you fly around, 'sets' can shoot at you.

OK, well, I have just described a 'unit' and the only distinction I want to draw is whether it is mobile... like.. it's either a static model, or a critter with skeleton.

this is the point where I could bifurcate again, and recurse into a couple more games within games within games.

I already have multiple things that in most engines would be the same thing with different property settings.

Though, in my defense, in that sort of engine you tend to end up with very fat objects (because they do so much, potentially, even though any particular one might not be doing much at all, but still is fat, leading to memory constraint issues you didn't have to have.

so, I will use that as my excuse, for any bad decisions I make.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
competing objects

flora - static things, but can already be static models...still, flora is all about synced (players see the same thing) static objects, set from a single random seed value, world spanning, and fractal sensitive (I just mean flora is selected with local terrain environment in mind)

flora objects are not 'scripted' (though I should have tweaks for overriding their fractal values, but not their position)

But flora objects should be used for stationary units (like Hives, Sam sites, mining facilities, cities, etc). Where the 'object' is assumed to be 'larger than a tree' (building sized things), and it does in fact 'replace a plant.'

my world map is only 8192 meters on a side (square), 8 km, And I divide that into 65,536 small 'terrain cells' of 32mx32m each.

So that's a grid of 256x256 terrain cells

Within each terrain cell I compute a certain small number of random locations (within the cell)

Hence, if that was 2 locations per cell, ther woulld be a total of 256 * 256 * 2 'random locations' on the map. All players would know the exact coords of each location (with no packet traffic needed, all from the map's starting flora fractal seed)

so that's like a quarter million locations, and each one starts out as some sort of botanical object (immediately after fractalization), and then the map script overrides some subset to be Hives (and other units and sets)

Hives/Units are then rendered (I propose) as 'sets of models' (with distance lowering level of detail (total triangles))

So the instance data of a game session in progress, starts out empty (the world as fractalized from seeds), and then any deviations to the fractal world is added to a list of 'modifications' and those are included in the instance data.

When loading this starmap, you should then have the option os starting from scratch, or with a particular set of instance data.

And if you start with instance data (which previously you saved to a local file), and someone joins you (by picking your server instance from the list), then the admin of the channel (you probably), should send the current instance deltas, so you can get up to date and see the same thing as everyone else.

deltas are things like (only expressed in numbers):

flora #15 changed into a Hive
Flora #75 was chopped down

basically just the id number of the object added or removed. Though instance data has to include state info (like population of critter at each Hive) as well. But a lot of it is just keeping track of what's been blown up, cut down, or turned into something else.

your inventory is common to all sessions using this exact map, independent of instance data.

but your inventory for world X is separate from your inventory for world Y (except for galactic credits)

Now, if I wanted to be completely sure that my provate world was not harassed by players destroying all that which I had built.... the idea is that if you build it in the starmap itself, it's completely safe from the get go. But if you add a bunch of stuff 'in a game session' and then save it as instance data, you can reload that session at any time. (and then save it again, probably as yet another file after more changes) until you inevitable run into some max number of deltas.

But if you invite someone into your instance before you saved changes, and then undid your work, it would indeed be undid. Also, if you leave, they still have a running copy and can trash 'their copy' of 'your instance data' and then 'save it as their own instance data' all while 'leaving your files the bleep alone'

I think that works OK, though leaves you with a file management issue (if you like to save all your instance files)

And probably I can add some sort of world lock that prevents third party modifications in certain areas. But that's not high on the list.

I just need to add some non-volatility to maximize game value as a terrarium.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
but, that having been babbled, I think I still get to have a set object, though its primary purpose is to add little camps and towns and relics and gateways to the world. In most cases just sending a message to the script when you get close and then let the script decide what to do, and perhaps that is to 'drop you into a scene'

And only then, do I really need the 'set marks' to add (when close to) props and actors and such. Which are then triggered into motion and chat bubbles by the script, when needed, with hopefully minimal coding required.

Though now I have to factor that into the NPC manager (which currently is only looking at shell ships in the 2D grid space)

code:
-- this ends up a cutscene/coroutine
-- so it can take as long as you like

-- brings the set 'into the world'
-- with probably an option to grab the camera
-- if this is not already right in front of us
-- Could be people standing in a field, or
-- could be entering some building (dungeon)

scene.loadset( 3, XYZH, "Raptor Command Center )

-- have some actors enter the scene
bill.enter( mark1, style )
suzie.enter( mark2, style )

-- wait for scheduled things to finish before
-- continuing
waitForMarks( max time ) -- they arrive

-- some dialog
bill.say( "Hey, Suzie! Long time no see!" )
wait 2
suzie.say( "You should have called" )

-- actor moves behind the other (third mark)
suzie.move( mark3, style)
waitForMarks()

-- surprise twist
suzie.say( "no, really, you should have" )
suzie.setEyeColor( bright red )
scene.music( "psycho" )

-- the power of scripting
local stabCount = 3
while( stabCount > 0 ) do
suzie.playAnimation( stabbing )
waitForMarks()
stabCount = stabCount - 1
end



--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
more babble

so, fo whatever reason I was led to think about "an object in motion will remain in motion, unless acted upon by outside forces"

Which it then occurred to me might be rephrased as "velocity is free, and consumes no energy"

Which feels kind of contrary.. I mean, things moving along on their way feels like some useful work being done.

Of course, there WAS work done, during the acceleration, and we do have to pay for that (energy). But even then, we're not really spending the energy, so much as investing it into velocity. From which we could potentially make a withdrawal later on.

So velocity is an energy storage device (kinetic energy), and anything which has already been accelerated (with someone else paying the bill) should be fair game to be decelerated for our energy benefit. (though possibly causing unfortunate events in nearby parallel universes)

[note: look for unexpected decelerations in our own universe and think about possibility we are being harvested by someone else]

the trick is to drain the velocity, not just redirect it (which just costs more energy).

and in a form we can make use of.

Ideally, the moving object would have an electrical charge, oe something else we could tap as it tried to fly past.

But consider a cube with internal mirrored surfaces, once a photon got into this box, it would bounce around 'forever' (in theory). With ots of sudden velocity changes.

Which at least microscopically 'heat' the box from the effort of applying a delta V to the photon.

that heat reduces the kinetic energy of that photon, and hence its speed (||v||) is reduced.

Ek = (1/2 mv^2)

but this requires the magic demon to only allow incoming hot photons to pass inward.

Is there a magic curvature that might allow a collimated beam of photons to get 'trapped' with total internal reflection?

Like inside an optical fiber.

maybe something like a coil of fiber behaving a bit like a magnetic coil.

Or maybe like a disk, with the photons fed in a line (collimated maybe) and the photons that hit the edge of the disk are bent more the longer their path through, and it's all runed to have them turn all the way around in the space of the disk, and for the bent photon path to renter the circle, at a point below the source beam, such that its angle of incidence keeps it internally reflecting, instead of passing outside.

so, if that even worked, what would it buy you? An increasingly bright light, that was invisible to you since it wasn't being emitted. Like a black hole, but no gravity needed for the bending.

Or maybe ONLY gravity can bend light, so there is gravity manifested BY this process. Polarized gravity.

Sounds useful :-) gravity lasers.


end of babble

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
more babbling, but on the general concept of 'games you might make, given a game engine to make them with'

There are these commercials I see pretty constantly on youtube. I will try not to mention their names, since I don't mean to slander them, yet I suspect they may be evil and using our satellites against us!

There are three brands (three different games, in theory), and 'clearly' at least two of them are made by the same people. (but one of them feels different .. better)

So let's call them H (the suspicious ones), and T (the 'good' one)

generally the gameplay looks like Fishdom, where every unit has a number, and the bigger number always wins (a bit like scoring a RISK attack) Most cells contain numbered enemies of increasing strength, but some are powerup cells that add to your number (instead of diminishing it)

So it's a simpleton math game, with time pressure.

So, OK, fine. Not my cup of tea, but I can see it working just fine. What's weird is that in the next commercial, it's like EXACTLY the same game, but all the art is different (2D, 3D, sexy, childish, etc)

And the captured gameplay has issues.. it is not sustainable past the end of the commercial. It's like the commercial is a 'pitch' for a game that hasn't been written yet. or 'concept art' trying out some variations on a theme.

And, I note, some of these variations appeal to me more than others. So, as a pitch idea to guage potential player interest, I can see a lot of value in these sorts of presentations... back at the office where bill shows us his latest ideas and we greenlight one or two and then knuckle down and make a complete game, and then sell that.

And, apparently, that game ends up being a match-3 game of some sort, with maybe some cut scenes based on these bits of concept art.

And then, when they need content for a youtube commercial, they just play the highlights of the concept art, and never show the ACTUAL GAME at all, and then people are disappointed because they either want the time pressure math experience, or the logical (and snarky) puzzle solving experience, and not another match3.

There is also a strongly 'soviet' smell to the whole thing, as in 1) not available on mobile, 2) PC only, so it can gain better control of your files, 3) paranoia on my part. If they are dishonest about what the game is, how can I trust them operating near my important stuff?

And they just released a new commercial where they added a 'hot chick' talking about this amazing game that's not like the ones that claim to be amazing and then are completely different.... i.e. self-referencing another of their own products, and not saying 'it was real after all' but confirming 'yeah, that one's fake, but this one is the real deal'

Kind of a rough paragraph there, thanks for making it through.

But then there is brand T.

My god, I want to play every game concept they show. It's basically fishdom again, but it's more like mini-RISK. And I guess it's a 'squish' game, in theory, where you squeeze two little units together to make one bigger unit. (except, of course, game not available in mobile, so how, I ask, do you squeeze satisfyingly with a mouse? drag select, I guess. But not the same thing. But probably a hint these guys are also 'lying'

But T has an EXCELLENT concept artist, I guess. And in each concept video, there are subtle variations on repeating themes... combat, gaining control of land/resources, upgrading units, bigger combat, bigger units, bigger land, resurrection.

Every video teaches me something (well, gives me the opportunity to learn)

I just need to stay awake and apply some of that learning now and then :-)

end of babble

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
another babble (I blame the elevated temperatures)

So, Gravity is either a force, some sort of particle interaction, that pushes or pulls mass around

or it's a field that ultimately warps spacetime itself, and motion of mass is controlled by the local curvature of spacetime.

So, what about magnets?

They can cause things to move.

Motion is mass moving through spacetime

do magnets cause small scale changes to spacetime?

maybe not small, at short distances.

and, while I'm at it, electric fields cause charged things to move.

so yeah, you have to have a charge to be controlled by the charge spacetime. or magnetic for the magnetic spacetime.

And yet the nearby magnets and electric fields are there, whether you are magnetic or charged or not.

so something prevents you from 'seeing' the charged spacetime

So, I was trying for a single spacetime with charge, magnetic, and gravity, um, fields (waves hands)

but the thought of being controlled by multiple spacetimes simultaneousy, is interesting.

I kinda lump it with thoughts like 'there are no free electrons per say, just an electron field that manifests electrons as needed while maintaining a cosmic balance.'

might as well lump that into spacetime, with a bunch of electrons private to that spacetime.

---

and now, a practical idea: electromagnetic acceleration of a person in a charged spacesuit.

Like you have been exploring Jupiter and they need to send yo home to earth as quickly as possible, so they put you in some sort of lifeboat, give it an insane electric charge somehow, and then accelerate it at 8 Gs or so... well, there's the problem. for the speed we need 100Gs, but that requires additional magic to keep the passengers alive.

well, let's say you could afford to maintain a 100 mile long accelerator in orbit somewhere... varous places of orbital interest.

and it's maagically powered by etheric nano-energy

at 10Gs you get deltaV = 320 ft/s*s
at 100Gs, 3200 ft/s*s

the acceletator is 518000 feet long, so the max continuous seconds of acceleration is

simplified to 1/2 at^2 = 500K ft

1/2 a = 160 (10G) or 1600 (100G)

t = sqrt( 500K/160 ) = 55 seconds (10G)
17 seconds at 100G

So the muzzle velocity at 10G is

simplified to a * t

so 10G: a is 320, t is 55, v = 17,600 f/s
100G, a is 3200, t is 17, v = 54,400 f/s

code:
ft        1 mile        3600 sec
-- * -- * -- = miles/hour
sec 5280 feet 1 hour

3600/5280 = .68

10G 17600 -> 12K miles per hour
100G 54400 -> 37K miles per hour


clearly my math is suspect.

end of babble, return to sleep

[ 09-13-2022, 01:08 AM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
motivational babble

it's noon Sunday, I'm clean and fed, My eyes are online, the weather is rainy, which is a treat.

I could pick any one of my projects and make it a little bit better. I can spend 12 hours on this.

I could start yet another project. Like the meteor storm project (set tweak 1400 to 1 to start it, while in grid space)

I had an idea of an arcade style meteor game that was also sort of a tetris game. So you interact (shoot) the oncoming meteors, and their debris ultimately builds up in a pile beneath you.

if you get hit by a meteor, you take damage. If you run into the debris pile, you take damage. Enough damage and something happens.

Your motion is just left/right, relative to the meteor storm, which falls from the top of the screen.

Only not really from the top, more from in front of you, on the grid space horizon (like backwards scrolling star wars credits)

So, I thought, most of the game of this should come from the lua script (via real time tweak changes), but the 'engine' should support some sort of generalized '2d layer' that it renders for you, made up of a bunch of triangles, in the plane of the layer.

So I did a 'quicky' implementation that uses a single call to canvas.drawVertices() with a dynamically created set of data (verts and triangles, and UV mappings) to render the entire layer.

I then add this to the normal grid space render, just below the ship layer. perhaps it should be just above.. And most of the time it is doing nothing.

But the starmap already lets you declare 'stars & planets' as grvity objects with a simple table, I just added meteor swarm as a type, and it just renders a static bitmap in grid space (at the moment).

But when you pass within its collision radius, the engine sends a 'entered swarm' message to the script

this particular starmap (for the v10 release), when it sees that message, just sets tweak 1400 to 1.

That starts the swarm, which first appears in the distance, on the horizon, and then approaches. Your shell ship is still moving in grid space, which is also still being rendered (probably will have an option to hide that), but the meteor overlay is sort of on top of that, but moves in an odd way as you slikde left and right. It's intentionally odd in a 1978 sort of arcade game.

And that's about it. the meteros are just squares (with perspective) and textured with bits of my favorite mars texture. In theory, they could be interesting 3D objects with some triangle budget.

i have your trigger hardwired to shoot a special 'straight up the screen' weapon, which makes a meteor disappear on contact.

So, for example, I could work on that for the rest of today, and maybe get it to the point of being fun, and extensible.

Might be a good excuse to advance my 'using the synth for sound effects' project.

---

Once I had that basic outline working, I felt like a sort of 'slalom' game to avoid fast meteors seemed kind of promising, and not unlike the metero swarm from Empire Strikes Back... and rougly the same challenge as flappy bird :-)

Also, my debris pile thoughts grew out of hand, as I wanted the pile to remember the details of its contnts, and re-sort itself when things piled up (real physics ish), so the pile, as it grew heavier, would sort of flatten itself out, rather than maintain tall skinny piles for a long time.

Or maybe you would steer so new meteors hit inconvenitent piles in a way that piunded them down, rath than pioling them up.

Also, metaphorically, what is holding that pile behind me? Some sort of tractor field? Oh, it would be cool it I was just re-accelerating them to match my velocity, so they were all just 'following' me, ballistically, as it were. (and if I were to stop, they would all run into me, over me).

I was initially thinking I would use this as a form of mining, so you would enter a swwarm and crack meteros until one of them spilled forth the thing you were looking for.

But there would be other things (powerups) possible, with a list of things and probablilties. And the engine would either grant things straight to nventory, or just send a message and let the script give the rward, which could then be more complicated than just a handful of stuff. It could be three handfuls! Or maybe a beloved character would sent yo a note of encouragement.

Ah, you say, but grid space already has powerups.

true, i cannot argue against that. I guess I was tryig to make it a standaloe game.

well, as a standalone it couldn't benefit from the existing inventory system!

ok, ok, you're right, I have no idea what I am doing and just wasting valuable time.

But I think I'll do it anyway, but maybe with some sort of mission, like "enter the swarm and collect 25 tons of gold"

And the swarm could peter out, or it could disappear if I move too far to the side, so I could inentionally leave when I felt sated.

while in the swarm, I risk various things, like being hit by something heavy, my shell ship is still flying around and can bump into things (in the middle of the storm)

I like the thought of a tractor beam 'bag' being dragged behind me, holding the good stuff I have collected. And probably slows me down as it fills (increased mass gives less acceleration from same force) maybe does some pendulum swinging as I zip about.

What happens if a meteor passes me and hits the bag? maybe it spills some/all...

maybe a recipe challenge where you have to collect a critical mass of uranium, with a sprinkling of other materials, all in the bag at the same time, and THEN smack it with a heavy meteor... crafting.

but yeah, the engine should just send messages on impact, and let the script do all the inventory stuff.

messages

onEnterStorm (shell ship enters storm)
onDamage (ship took hit from meteor, include kg)
onWeaponHit (my bullet hit meteor)
onLeftStorm (my ship is no longer in the storm)

with propeties, like

meteorMass
weaponType
meteorType

and supporting tweaks to set things up

define what the weapon does (one of N choices given by the engine - blow up, make sticky, collect, push away, etc)

define what the meteor is (stony, gold, health charge, etc)

define how long the storm lasts, how fast it is, what probabilitis of meteor types is, what they look like, what powerups look like.

---

While I am at it, I should add a text/button layer... tweaks that let you define up to N things, and for each, you set:

* object type *text, button..
* general screen region (like 'full screen)
* whether or not the layer should hide the game
(BK color or let game show through)
* specific %xy within that region
* font size (in screen height percent)
* centering mode (left/right/center/wrap...)
* color/font(bold)
* "actual text"
* message to be sent when 'tapped' (if any)

And THAT should work together with the conversaton tree stuff I just added.

And then the starmap for v10 should have a meteor storm (with excuse and reward) and a conversatino about something. preferably something witty and not just droning on and on...

oh, right.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
Crackpot Babble

So, I have been mentioning this jokingly, but I admit it feels kinda more real to me now. Like there is more going on with static electricity than I have given it credit for. Sort of a 'cold plasma' concept.

But first, the scientific data for recreation attempts. My test equipment is a pair of wired ear buds (white cable, inexpensive), that have been pretty thoroughly traumatized by bending, and being chewed upon by a fascinated cat.

The earbuds are plugged into a Kindle Fire (2022 build 10"), which is itself plugged into a USB-c cable to my PC over a very long (well, 10 meters) USB extension cable, and maybe a couple hubs.

Traditionally, that cable (possibly with ground loops since it also connects to that same PC via a different convoluted path from its TRRS 1/18 audio connector... that cable is a source of noise, for example, when trying to record on the tablet.

However, during the experiment, I am not aware of any detectable noise coming from the earbuds (when all tablet-generated sounds are quiet. Usually that means the tablet is running v10 of synSpace :-) and it is making no noise.

So, that's the equipment. I am sitting in a chair, wrapped with a blanket (a SpaceX blanket!) that is probably polyester. There is also a wool comforter involved occasionally. The cord falls from my ears to my lap, touches the blanket and then goes to my wooden desktop and the tablet.

Now my cat comes in, and I pick her up, put here on my lap and brush her (with hand or plastic brush-of-many-fingers). And, I can hear the static electricity. And it sounds as you might expect, and is confirmed by the physical sensation of static buildup as I brush and discharge.

(I have not found an actual ground point nearby, that I can easily touch to discharge myself) (note: I have no excuse, other than the very nice ground going to my unused Ham Radio is completely buried under decades of inattentiveness.)

Most of this is just what you'd expect when scraping electrons off a cat. well, all of it is, it's just neat to 'hear' it. But there are some surprising moments all the same. In particular, when she jumps off and her body separates from contact with the blanket, or the earbud wire itself (both, I mean).

There is a sort of unzipping sound, some pitch glissandos, in addition to the more familiar electrical snap and pop.

My perception is that the noise is being injected 'through the earbud cables' directly, with the tablet just providing some sort of DC bias/energy that the buds can use to wiggle their diaphragms.

That the occasionally long line of contact of the wire with the blanket, when pulled away after picking up cat electrons, leads the the zipper sound.

Anyway, cat electrons are the most exciting events, but I also pick up random events when just sitting quietly. Often it's some object, or part of me, that hasn't moved for awhile, and I fantasize has picked up some light charge that hasn't been able to equalize with the rest of the universe yet (sticky electrons, stuck on non-conductors).

I then move it and there is a brief sound of repatriations as a handful of electrons make their way one step closer to the ground electron field. (to coin a term)

But sometimes it's just 'cosmic', and, again I fantasize, that some of those are from coronal mass ejections hitting the earth. I occasionally check and it seems to correlate, but I certainly could not claim any causality.

I am often up at sunrise (not by choice) and there is a correlation to the rising sun. (which also correlates to creaks in the house, and the feeling of minor tremors)

But the poor cat has to deal with this all day long, I imagine. And definitely when I pet her there are more discharges, so it's probably uncomfortable to be petted.

Just sitting around, I guess the charge is by definition not flowing, so I guess it just makes her more fluffy and probably keeps her warmer as a result.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
So many partially implemented systems, but the point is that I am HAPPY to work on whatever I feel like, though I do feel self-PRESSURED to regularly release developmental versions, even if not 'complete games'

Since last I wrote, I reworked tweaks to define weapons, powerups, and map items. And then added some scripted bombs and such to the starmap (things the engne knows nothing about until the starmap defines them)

I added something I call a 'cinematic experience' which basically takes over your camera for a few seconds. For example, if you drop a bomb from a flying vehicle, the camera cuts to a view that follows the bomb to impact, and then pulls back to show results before returning to original camera view (and you have to not crash the plane while the camera is looking somewhere else)

During a cinematic experience, I pulse the 'camera' button in the lower left. If you tap it while it is pulsing, it aborts whatever remains of the running cinematic.

camera zoom/pan (by your gestures) are applied to the cinematic camera when it is running. (Though most experiences take control of at least one dimension of the camera, like pitch, and you can't override something the experience is controlling)

I formalized 'ufo mode' which is now the easiest way to get around. Trivial to fly (just drag in the direction you want to go, and it accelerates quickly to high speed (while in orbit) so you can get anywhere very quickly.

ufo mode comes with a new control which sets where you want the ufo to operate, but basically it is elevator buttons that control the vertical motion of the ufo. take it back up to orbit, take it down for a landing, or to float on the ocean, or just float wherever you are right now.

So you can quickly locate and visit Hives and other items of interest. But while in ufo mode, you never actually 'land'. So you can't interact with Hives and critters directly (you *can* bomb them, and get shot at, but you can't pick up loot, for example)

To do that you have to turn off ufo mode/gravity dampers by holding the STOP button for a second or two. After a confirmation, ufo mode is turned off, the elevator controls disappear and you fall until you hit the planet.

But yo have a 'antigravity weapon' you can select, at which point the trigger fires something like lunar lander engines, and you can come in for a soft landing.

Then you collect resources, craft useful items, gain affinity with a handful of nearby hives, and invest in the health of your hives and critters. Tiny towns spring up with your success.

Eventually, you will also deploy specific units (a la RTS game) in a particular game instance (which I plan on being able to save/resume for creation of your personal terrarium world(s) for each starmap)

The multiplayer 'Warpath-like' Map Activity is started by the instance moderator (via the starmap quick start menu). This invites all members of the instance to take part, and they must confirm.

And I am leaning towards letting people start playing as soon as they confirm, and just moving them to orbit with a starting load of equipment.

During a Map Activity like this one, you (after acknowledging) are not allowed to EQUIP any action button items.

So before you accept the invitation, you can equip all eight of your action buttons with whatever you like/own/can craft, up to the max charges the button can hold. So veterans can start with more stuff than newbies. There should be 'rules' for this instance, which might limit certain super weapons, or call out a specific load for all players. (in which case I need to 'save/restore' your original action buttons at end of the activity)

something like that. But you are limited to just that for the duratino of the activity, other than any sort of 'reloads' that are part of the activity itself.

I think the number of Hives, and their 'level' (maybe sum of hive levels?) might be what unlocks a sort of technology tree. But maybe this should be a specific 'research' investment available to you (that indirectly improves hives and critters)

I am focused on the tech of the 'summon ufo button' After winning over a small number of hives, using your feet and rocket shoes, I want you to learn the recipe for the Ufo Call Button, which summons ufo mode to come pick you up, and give you back your elevator button.

So, as the 15 minute multiplayer sessions moves along, you get the cool vehicle back (some number of charges per powerup) which you then use to acceleraeprogress in the competitive multiplayer environment (with graphs!)

And game over is N minutes, or 'no hives left'

Game rules should be inspired by WarPath and try to achieve the same sort of pacing, with relatively safe areas at the beginning, turning dangerous as players encroach upon each other.

[ 05-21-2023, 06:58 PM: Message edited by: samsyn ]

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
So, a single starmap includes:

* grid space games (pew pew with shell ships)
* critter planets to explore and loot
* critter species to breed
* scripted quests/tutorials/backstory
* random mission opportunities (from templates)
* instance moderator initiated 'multiplayer activities'
* scripted items, powerups, equipment and weapons
* scripted vehicle designs
* retro assets collaboration and collection

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
Potenial Starmap Story Arc

"Utopia" (trying to create a perfect world)

"Terrorium" (decorating/sharing/competing worlds)

"Farmy" (designer critter genomes compete in terroriums)

-----

Starmaps + Instance Data = Terrorium

Instance Data can be saved locally (multiple snapshots per map)

Instance data can be shared peer to peer (moderator controls starting instance data)

Instance Data can be stored in a public database (say, the 'ladder' database)

So, a player might:

* Declare a tournament/ladder (with a cool name and maybe a date range, and some sort of prize (text only))

* Provide a starting terrorium (starMap + InstanceData), actual text stored in ladder database so new players can fetch it directly without other players needed. (not peer to peer in this case)

* then players can launch a game instance with that map and starting instance data, and while in that world, they can battle combinations of Farmy Platoons.

* Players then advance on the ladder, and the snapshot of their Farmy is also recorded in the ladder DB (critter genomes and RPG stats and formations)

* a player wanting to advance on the ladder, makes a challenge to a player above them on the ladder (within some limited number of 'rungs' ahead of them). If you win the fight, you take the run, and people on any intervening rungs are pushed down. If you lose, then you get pushed down by as many rungs as your challenge was above your starting rung (and intervening ladder members are pushed up)

* The actual fight happens on the device of the player making the challenge. The challenged player does not need to be there (though maybe that is also an option)

* Instead, the challenger downloads the terrorium and the challenged Farmy, sets up their starting formation (challengee gets to pick the battle location and starting formation of its own forces.)

* Challenger then direcly commands his own Farmy to attack the ai-driven challengee Farmy.

Hopefully that biases in favor of the human, to encourage ladder participation.

But it's a ladder that doesn't require real time interaction. But again, maybe that's an option.. especially for a tournament as maybe the final N matches need to be scheduled and played 'in person' by all sides.

I should revisit the WoS guild/ladder/tournament system. I should re-write it in Python, with a real database for storage. And generalize it for any (of my) games.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
OK, small change with big possibilities.

Radio message popups can now include optional baked in answer buttons for things like Yes! No! Maybe! Bleep you!

They are all in a line just below the text of the message. Short answers only, please. There is limited room. I set it up for a mx of three buttons, populated left to right as 1, 2, 3, each using as much width as its text requires (and if you run out, it probably just renders off the end)

usage:

bot:askWithAnswers("Do you think I'm Special?", "YES!", "NO!", "ASK ME AGAIN LATER" )
if( bot.askAnswer == 1 ) then
-- they like me!
end

If you don't need a button, set its text to ""

if you don't need ANY answers, just use 'ask'

[ 05-24-2023, 08:04 AM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
RANDOM MISSION GENERATOR

A starmap, while staying true to its status of being 'a small game, to be enjoyed in small bites'

That being said, a starmap can provide:

* a title and storyline, experienced by individual player, as part of their character development and leveling

* A terrarium world (terrorium), planned by the starmap designer, and then optionally evolved by direct player interaction (dropping off new genomes, decorating)

* hand crafted quests to tell the story and explore the world.

* reusable 'dungeon/terrorium' multiplayer experiences. For RPG fun in any background

* Quick Start activit(ies) selected by conversation tree, by moderator, and all instance members are offered chance to join before launch)

- 'WarPath for Hives'
- 'Vehicle Training'
- 'Map-specific Tutorials'
- 'Mini Games'
- RTS games (make a base, fight)
- Jetfighter 2 missions

* and, finally, the RANDOM MISSION GENERATOR (some overlap with Activities, maybe the same thing, only you can walk the conversation tree any time to get to the activity you want.)

Random missions are offered to you when the system feels it is time. Everyone in the Instance gets the invitation (generally via popup radio message from your 'boss') and those who accept the mission (by tapping one of the new (optional) response buttons on the popup radio dialog.

A Random mission is a bit of a Mad Libs scenario where there is a prototype for a stile of mission (say, fly the cessna somewhere, and shoot something, and make it back alive within 5 minutes). There could be dozens of similar missions with the same basic objectives, but with 'interesting/humorous' madlib text provided on demand via that missions random number seed, which is the only data distributed between players.

And each player publishes the seed of any random mission they are on (so others could join them later)

But a player is on no more than one mission at a time. (There is a HUD reminding them of that, and letting them cancel the mission without score)

However, I am thinking, an ACTIVITY might be based on several MISSIONs... Start a multiplayer ACTIVITY, and players JOIN IN, and then they each individually, or in parties, play MISSIONs sequentially until the goals of the ACTIVITY are met.

For Example, Missions might be exactly how you earn the love of a Hive. (In addition to levelling your own critter, and possibly a stable of critters you can summon as a team.)

Which you could do by playing 'as them' one at a time, to level them and train them. But that training then needs to be persistent.... probably in instance data, and how many would I let you have? And how does this track with the hundred or so 'units' I need to have (temporarily) in an RTS game (per player)

Basically, I need a species genome, but then also a training history (another string, I can concatenate on the genome to get an 'individual' of the species.)

and only the training hostory needs to be distributed between players (via instance data)

Instance data is numbered, and games keep an array of instance data strings in numbered slots. If they don't have one, they can ask fr it, by slot numjber, and someone can provide it peer to peer.

[probably like ethernet. We all hear the request, and we all start a random timer of 1-9 seconds. The first to have their timer run out (and who also knows the answer), sends the answer. ut he sends it to everyone, so we all have a chance to write it down in our own slots, but also to cancel our timer so as not to send a duplicate.

Which is why you need a lng enough timeout for at least two full transits between most separated players.

Also, ideally you would only accept critter training from the owner/host of the critter.

And it's the starmap's responsibility to manage the instance data indices (which ones are used for what purpose).I am thinking the individual strings would be as short as possible with something like a 128 character max, but I want to ot reall yhave a max per se. Partly because I want a single slot in the instance data to hold state for multiple similar objects. (potentially)

Anyway, I figure a single starmap could have a dozen or so Mission prototypes, and then madlib into hundreds of Random Missions with various combinations of bad guy descriptions, urgency of action, specific vehicles or devices, and locales.

A really cool mission might have NPCs with conversation trees and random utterances (in character).

Say a mission to sneak into a tiny town building, travel some sort of maze, and collect treasure until you find the maguffin. Being destructive along the way. Levelling your RPG stats.

And a mission is still a lua function, so it can be as arbitrarily complicated as you like.

In this case, there needs to be a meta language a starmap developer can use, which the script then sends to the engine, and the engine then sets up some engine systems to support that. When needed, the engine sends a message back to the script, keeping it in the loop. The script then decides what should happen next.

Basic Mission Prototype

'cessna bombing mission prototype'

DISTRESS BEACON: Hive Galatea is experiencing extreme drought conditions. Craft a Rain Bomb and deploy it near the Hive. I've put a NAV beacon on your map and compass.

CAST:
List of names and locations/beacons
good guy, bad guy, helper guy, home

GOALS[]
1=Craft a Rain Bomb x 3
1=Obtain a Cessna Overcoat x 1
2=Fly a cessna to Galatea
Galatea: Thank you, Samsyn, my critters are dry!
3=

they are listed in order, with a stage number (1,2,3..) and all goals of stage N must be complete before the mission moves to state N+1

And these bits come from a madlib

Cessna, Drought, Rain Bomb, ... so they can be used consistently within the mission, but can be completely different for another mission

Minisub, Eel attack, Grounding Rods, ...
Horseback, Wheat Pirates, Boomerang

etc. with it actually being short sentence fragments moreso than individual words.

---
ANYWAY, the way I have it set right now in Utopia, I hae a bunch of hand crafted tutorial/intro quests which must be done in order

Once you get through those (and you can forget them and redo them via the starmap options panel), it goes into an infinite loop waiting for either an activity to get triggered by the moderator (and for the local player to join it), or for a rnadom mission to become available.

Some random missions will be triggered by actual simulation situations (like an actual drought, or a battle between hives, or the negative actions of a fellow plaayer), and some would just be random out of the blue things (like a disaster in simcity)

So, if I restate that an activity is a series of missions, and ALL the interesting stuff is handled by the 'mission engine' of the synSpace game engine, and an Activity just pre-configures a specific sequence of missions as needed, say, to work through a dungeion with multiple bosses.

So, up in lua, an activity looks like

code:
function warPathActivity()
doWarPathIntroMission()
while( warPathStillPlaying() )
LookForMessagesFromEngine()
emitAppropriateHintsAndClues()
UpdateNpcGoals()
startNewMissionIfAvailable()
AdvanceCurrentMissionIfAny()

Anytime there is not a mission in progress, you are still walking around the same, but you are just interacting with 'the world' and not 'a mission'. So you still fight and level up, and get regular loot, but you don't advance story particularly, other than by making changes to the world (buldings, genomes, etc)

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
oh,

and I think world changes are 'for keeps' for the life of the instance. So the starmap might create a city, and it looks fine when the instance starts, but over the course of several Activities, it might have gotten blown up here and there.

I plan to just leave it like that, and let you choose to save that instance data at any time, so yo can protect favorite moments, but otherwise, just live with the consequences.

Though you probably want to run the same activity several times, say for a tournament, and having it completely reset each time would be the logical thing. probably. Well, I guess that's up to the starmap developer, come to think of it.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
it's a small game, to be enjoyed in small bites.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
Let's see if I can describe the "WarPath" activity. A 'spec' as it were.

A synSpace:Drone Runners "Activity" is a (multiplayer) game session that is started by the moderator, with all players starting at the same time, and which runs for a finite period of time.

* moderator select from Options/StarMap/Quick Activities
* fills out a form to config the session
* offer is sent to all players
* they see a radio message with yes/no response buttons.
* They can ignore or join up until the announced launch time.
* at launch time, various features are locked for the duration of the session, and some magic inventory editing might take place, and your level-in-game probably resets to something.

The "WarPath" activity is a game similar to my WarPath game, only instead of earning the love of planets, you are earning the love of HIVEs.

You start by making one hive love you, a lot. You lose if you drop to owning zero hives.

* In grid space, you find, or are given, a "Paradise Claim Bomb".

* In orbit, you pick a likely location, and drop your claim bomb

* it falls to the ground and 'explodes,' leaving behind a particle emitter

* "Spice" particles come gushing forth and head out in all directions

* Each particle that touches a Hive or a Critter (as it shoots outward from the impact point), causes that Hive or Critter to love me a little more.

* The bomb releases enough Spice that if your aim is at all close, you should 'capture the heart' of two or three Hives.

* A captured Hive might need some TLC before it can start printing more critters (and you want as many healthy critters as possible)

You win if you have the highest critter population by the end of the game session.

Your critter population is the sum of the progeny of all the Hives which are following your team.

Such hives are part of your empire, as it were, and will give you safe harbor (attack incoming enemies, when you are within their 'radius')

You have other interactions with hives that are the moral equivalent of 'investing' in WarPath.

These interactions benefit you (crafting/resources), and the Hive (genome adaptations) to boost the birth rate.

The interactions themselves should be fairly brief, supporting you jumping as fast as possible from hive to hive, as you try to win them all over (and subvert any competing empires)

FEATURES

A UI for expanding the HUD to 'near full screen'

A Hud that shows graphs of population over time.

Distress calls from Hives

Increasingly quick Vehicles to travel between Hives

Anti aircraft fire (Hive's defending themselves)

Anti critter forces (Hive's critters on defense)

pro critter forces (you lead critter army in attack on hive)

pro aircraft fire (if you can get more claim bombs, they are still an effective means of earning love points) but it's a race to develop the means of acquiring more.

Maybe there are lots in grid space, but you can only carry one at a time, and must develop 'return to space' capability in game.

And for each stage/mechanic of the 'game' there should be a 'mission prototype' that can be used by the Activity engine (an activity is a sequence of missions? a parallel of missions?), *and* by the random mission generator, as a 'secret tutorial posing as a random mission'

i.e. the random missions should each teach a handful of game mechanics, and then those same mechanics are important components of the WarPath activity.

And when thinking in generalities, consider also supporting 'Tower Defense' games. (like Tower Raiders Gold, the game I have played more than any other, I think)

It seems the ascii playing field and pokedex would work fine for tower defense. And it would give me a chance to do a proper path finding algorithm (on a simple grid for once!)

Which I should also have for the DOOM levels, come to think of it. (see? the process works!)

Anyway, I need something like 5 interactions, and something I can do maybe 100 times in 15 minutes..

Small game, semi-persistent.

---

Instead of Investments

Maybe a tech tree kind of thing where you command Hives to research things. The research then gives you the Plans for one or more new possessions, which you can then make, after collecting the resources, or buy from any hive you own.

In the simplest, the research is for specific Plans. And I just use the existing Inventory Screen as a sort of 'catalog' or 'wish list' showing all the Plans I already know, AND all the plans that are at least slightly in my reach.

Click on a desirable item, Pan tells you that you don't know the Plans, would you like to research them? Pan then helps you pick one or more idle Hives to research it (more hives, faster research)

Once the research is complete, there is a happy cinematic and you are given one free Prototype. Pan can then make them, given the resources. And any Hive of high enough level can just sell you a pre-print in exchange for a large amount of Spice.

Maybe the Hive itself grows 'smarter' (closer to self awareness as it levels up)

Until I have instance data, there is only 'today' and I start at level 1 with only my initial Hive(s). My main claimed Hive is closest to sentience, but until I have had it research N times, it hasn't gotten sentient, but research is its XP, and it will level up.

Maybe a level 5 item can only be researched by a level 5 (or above) Hive?

Maybe the Plans list filters plans more complicated that the highest Hive level I own.

The inventory screen should have a filter control that lets you select:

* All defined items in this star system
* Only Items I Own
* Only Items I have the Plans for
* Only items I do NOT have the Plans for

And then whichever category you select (ALL, 1..7) the filter applies to items in that category.

perhaps half the hives are non functional at the start, or become so after aggressive bombing. You can craft a Hive Stem Cell, and install it to make a basic Hive, that is neutral to all empires.

Something like that to replace colonization of dead planets (hence it should start pumping out critters as fast as the ecosystem allows) and it is prepared to be bought off by you.

Mining is replaced with resource collection

Hmm, maybe critters make a 'spice' that is valuable as money. Hives make critters because they crave the spice, and will accept spice from us as payment. We get spice from our own critters (the taxes). Maybe.

maybe critters drop spice as loot

and some plants

Maybe you can craft spice from grasses

Maybe spice is how hives level up/become sentient (spice is mitoclorians)

The initial mandatory missions should basically walk you through the mechanics of playing 'warpath in synspace'

And the random missions should teach fine points like navigation and interactions.

============
CONFIG/RULES

* num Teams/Players/Bots
* session duration until 'Highest Population Wins'

[ 06-12-2023, 04:25 PM: Message edited by: samsyn ]

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
samsyn
Administrator
Member # 162

Member Rated:
4
Icon 1 posted      Profile for samsyn   Author's Homepage   Email samsyn   Send New Private Message       Edit/Delete Post 
I added the first implementation of the RESEARCH system (by which you learn the "Plans" for individual inventory items

Basically, Hives do the research on your behalf, and you ask Pan to hook them up for you, from all the Hives that are following you.

Each hive can be researching one itemId at a time, but you can assign the same item to a bunch of hives to research its plan faster.

--------------------
He knows when you are sleeping.

Posts: 11017 | From: California | Registered: Dec 1998  |  IP: Logged
  This topic comprises 5 pages: 1  2  3  4  5   

Quick Reply
Message:

HTML is not enabled.
UBB Code™ is enabled.

Instant Graemlins
   


Post New Topic  Post A Reply Close Topic   Unfeature Topic   Move Topic   Delete Topic next oldest topic   next newest topic
 - Printer-friendly view of this topic
Hop To:


Contact Us | Synthetic Reality

Copyright 2003 (c) Synthetic Reality Co.

Powered by UBB.classic™ 6.7.3