theRAPTLab / gsgo

GEM-STEP Foundation repo migrated from GitLab June 2023
1 stars 1 forks source link

Quirks with current character controller merge request #93

Closed benloh closed 1 year ago

benloh commented 3 years ago

In GitLab by @jdanish on Apr 23, 2021, 05:25

I can break these out but figured the first pass would be easier in one place:

benloh commented 3 years ago

In GitLab by @jdanish on Apr 23, 2021, 12:59

Note that number 6 is the main "must have" and the rest are nice to have.

benloh commented 3 years ago

marked the checklist item 1. Blueprint should be Character Type as completed

benloh commented 3 years ago

In GitLab by @jdanish on Apr 24, 2021, 17:16

@benloh making sure you see the new items!

benloh commented 3 years ago

Thanks!

benloh commented 3 years ago

marked the checklist item 6. Setup stage is not sticking (it reverts) as completed

benloh commented 3 years ago

marked the checklist item 9. The links to add characters during stage setup no-longer appear as completed

benloh commented 3 years ago

mentioned in commit 13ee8743ec3927aa43f5eade94b94c37bb2258f3

benloh commented 3 years ago

6) and 9) addressed by 13ee8743ec3927aa43f5eade94b94c37bb2258f3

benloh commented 3 years ago

marked the checklist item 5. Re-loading the screen for character control (to fix scaling, for example) increments CC number (that's fine) but leaves the old one in the character inspector panel. So I might only have CC3 open, but 2 is still listed. Update: the actual characters are also left on the main stage. as completed

benloh commented 3 years ago

5) Agents belonging to Devices that drop out are now removed. 96bd90f857467c8036ed17fb58bed05ae04959f7

benloh commented 3 years ago

In GitLab by @jdanish on Apr 25, 2021, 04:31

This does seem fixed! The one exception (not sure if this is different code?) being that if a character disappears due to being changed to a new type (e.g., change fish to algae) then the device is listed twice, once for the original character and once for the new one.

benloh commented 3 years ago

In GitLab by @jdanish on Apr 25, 2021, 04:32

Confirmed.

benloh commented 3 years ago

In GitLab by @jdanish on Apr 25, 2021, 04:34

Re: #4, It appears it is not random. Rather, if you open and close "setup stage" no inspectors open. However: open inspector for fish01, go to setup stage, then back to run. inspector for fish01 re-opens as expected. However, if you then close the inspector, go to setup stage and back, it now re-opens. So, however the previously opened ones are being noted is not being flushed / reset?

benloh commented 3 years ago

In GitLab by @jdanish on Apr 25, 2021, 04:50

As context for 11, my goal is to support the "algae farmer" activity (see code in dev-jd/pilot if needed). What we would do is go to setup stage, hit algae 20 times, and then the "algae farmer" will just control main (since this wouldn't work with character controller yet). Anyhow, if t he algae or off the stage, it makes sense for the kid controlling the fish to avoid them. I set x and y to that coordinate in init, but they appear dead center no-matter what I do unless I also set them in the map setup. Maybe by reverting to "default" this is being over-ridden? Is there a better way to set the default or is this a bug?

benloh commented 3 years ago

OK for this it might be better to describe ideally what you want. CharControl is capable of generating multiple entities (like the old FakeTrack did). It might even be able to control them all together in a group.

benloh commented 3 years ago

Yeah that's different code, and the issue is already described in 3).

benloh commented 3 years ago

In GitLab by @jdanish on Apr 25, 2021, 10:14

The eventual model would be like a sticker / stamp where you could click all over the map and each time you do an algae would appear and it’s AI would take over. Seeing as that is I assume a big addition, we figured we could test the experience by adding a pile of algae to the edge of the screen and letting one kid move them on via main. Either way I’d expect the init positioning to override the default?

benloh commented 3 years ago

mentioned in commit fe7a92d922cff792784754fab3a8950d37f767d0

benloh commented 3 years ago

Fixed with fe7a92d922cff792784754fab3a8950d37f767d0 DisallowDeRegister was not being passed correctly to the Inspector.

benloh commented 3 years ago

marked the checklist item 4. Re-set stage seeds to open up some prior character inspectors (I thought that was fixed in an earlier build but maybe not) as completed

benloh commented 3 years ago

mentioned in commit 71f2959fbb780ee43bbe841eb6634a33b173b20b

benloh commented 3 years ago

mentioned in commit 3ae1a04278a67ccfaa2cb47a041d4586dd2d4343

benloh commented 3 years ago

marked the checklist item 7. In setup stage we can't move AI items if they are behind user controlled so maybe set the z level? as completed

benloh commented 3 years ago

7 should be fixed with 3ae1a04278a67ccfaa2cb47a041d4586dd2d4343 NOTE: There might be a performance hit because of setting zIndex.

benloh commented 3 years ago

@jdanish Right now when you click to add an instance in the "ADD CHARACTER" panel, I insert a custom init script that places the newly created agent around the center of the screen. This was to prevent them all from piling up right on top of each other so you couldn't tell if you'd added anything.

The init script runs after # PROGRAM DEFINE, so init will override anything you might have set in DEFINE.

I see a couple of a solutions:

a. Change the code so it randomly places the new agent in a broader area (e.g. anywhere within the bounds of the project.

b. If you put your placement code in # PROGRAM INIT, we can run that AFTER we run the auto-placement code. That would let you have final say over where the algae is placed.

c. Perhaps even simpler might be to simply not run the auto-placement script if # PROGRAM INIT is present. That way we always know that # PROGRAM INIT controls everything and there aren't any hidden overrides in the "ADD CHARACTER" panel call.

Long term, there's two separate issues I think: i. Yes, a stamping tool could be built. ii. We probably should have split Map Editor off into its own page so that Main control doesn't have to be given up. If you need/want to do this again via Zoom that should give you more flexibility. Even with the stamping tool you'd have to do this dance of figuring out who controls what.

I'll go ahead and implement c).

Depending on how the remaining items (2 and 3) go I could look into a stamp tool tomorrow.

benloh commented 3 years ago

In GitLab by @jdanish on Apr 25, 2021, 11:39

I'd actually lean towards b because every character we've made has some init, but few have x and y getting set.

To be clearer, also, the manipulation we are using to test this will be during run, not map setup. So it'd be the direct click and drag via main that we are looking at since that'd allow a kid to throw algae in front of the fish, or tempt the fish a new direction, etc.

benloh commented 3 years ago

Doh. Just saw this. I already implemented c). b) would be much harder to do currently because there isn't a quick way to grab all the code for a given pragma.

I've added a setRandomPositionY Movement call so hopefully between those two, you can get what you want with # PROGRAM INIT. e.g.

# PROGRAM INIT
prop x setTo -430
featCall Movement setRandomPositionY
dbgOut "Init"

See a8a33e9545163ebe22b525f80770e024875c610a and e8f38d25c23e2a12ca27849b6e085fecd9811708

benloh commented 3 years ago

marked the checklist item 11. Calls to set x and y in the # PROGRAM DEFINE section are ignored. as completed

benloh commented 3 years ago

marked the checklist item 3. If you change character type (fish to algae, and vice versa), each one adds a new device in the main screen list (with same number) as completed

benloh commented 3 years ago
  1. should be fixed with 06d9d9ada665aee37bfad43fa9a120511b98f016. Changes in blueprints should not register a new device now, but re-register the old device.
benloh commented 3 years ago

marked the checklist item 2. The view panel doesn't re-scale, though reloading the controller fixes it (so not a huge deal yet) Update: this appears to be fixed, BUT the faketrack panel is not re-scaling, so you might lose the control button or not be able to move across the entire stage. as completed

benloh commented 3 years ago
  1. Should be fixed with eaeee6d58f8aa5e2e483432454a12fda924e174a It's a fairly complex fix, since we need to resize the controller and try to keep everything in the same place as the screen resizes. A bit hacky and should be reviewed.
benloh commented 3 years ago

marked the checklist item 10. BL: On RESET STAGE CharControllers revert back to upper left positions. as completed

benloh commented 3 years ago

10 fixed with d8400373869bb87c19951779ec439701e4072d6a. Same problem as #101

benloh commented 3 years ago

Closing this.

8 has been moved to a new issue #105.