A faster map, arcologies is playing model cycles. Parts come in as institutions crumble, until kudzu eventually consumes it.

(edit to add the map)

14 Likes

this is flipping gorgeous. i had no idea what to expect and then around 29 seconds i was like :open_mouth:

EDIT: this map is so cool. i love how you used institutions everywhere. i’m especially curious about the cryptic casino in the northwest and the tunnels.

1 Like

Intermediate! I just signed up for the workshop before I read this and can barely switch the thing on. And it’s only on a 40h.

Ah well, how bad could it get?

1 Like

WHOA! Holy shit. Yeah, this is great! Thanks for sharing.

2 Likes

v1.2.0 “arctangents & archangels”

  • NEW monome arc support. This allows you to map your arc to various controls: norns encoders 1-3, “browse cells”, change crypt directory, global transpose, BPM, and “danger zone” clock.sync(x). One interesting convention of note: encoders that “sparkle” will musically alter your arcology. Encoders that do not are “safe” and are reserved for tasks such as menu navigation. Map your arc encoders and set orientation via the norns parameters menu.

(the note select animation on arc is lame. it is going to be another week or two to get it to where i want it. alas. “good enough for metal” as we used to say.)

14 Likes

OMFG the arc is alive.

Just having a quick play with it now — I deeply appreciate being able to remap the arc controls! Curious to see what you do for the note select animation. Traffic is one of my favorite arc implementations for performance controls partly because of how it does transpose and modulate.

Other quick-and-shallow thoughts: Cell select feels great, didn’t know I that I wanted it but now it feels obvious. Noticing some arc animation slowdowns on the analysis page when scrubbing through structures, but I didn’t hear that affecting the audio or midi timing so I feel weird even mentioning it.

I love spending time in this script. Thank you.

Here’s a 100% reproducible (for me, norns shield) pset issue I’ve been meaning to send your way for a few minor versions now (apologies for late reporting): If I disable any structure(s) in Edit and save that as pset 01 so that it’s my default settings, I get error: init the next time I load the script. Only by deleting pset 01 will arcologies load again.

Matron messages during `error: init` load:
# script load: /home/we/dust/code/arcologies/arcologies.lua
### cleanup failed with error: /home/we/dust/code/arcologies/lib/_midi.lua:52: attempt to index a nil value (field 'devices')
# script clear
ERROR (i2c/hp) failed to write
including /home/we/dust/code/arcologies/lib/includes.lua
including /home/we/dust/code/arcologies/lib/config.lua
including /home/we/dust/code/arcologies/lib/structures.lua
including /home/we/dust/code/arcologies/lib/Cell.lua
including /home/we/dust/code/arcologies/lib/mixins/bearing_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/capacity_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/channel_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/charge_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/clockwise_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/crow_out_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/crumble_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/deflect_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/device_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/docs_stub_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/drift_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/duration_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/er_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/level_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/mapping_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/metabolism_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/network_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/notes_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/offset_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/operator_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/output_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/ports_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/probability_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/pulses_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/range_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/resilience_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/state_index_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/structure_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/territory_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/topography_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/turing_mixin.lua
including /home/we/dust/code/arcologies/lib/mixins/velocity_mixin.lua
including /home/we/dust/code/arcologies/lib/Signal.lua
including /home/we/dust/code/arcologies/lib/functions.lua
including /home/we/dust/code/arcologies/lib/saveload.lua
including /home/we/dust/code/arcologies/lib/_arc.lua
including /home/we/dust/code/arcologies/lib/_crow.lua
including /home/we/dust/code/arcologies/lib/counters.lua
including /home/we/dust/code/arcologies/lib/docs.lua
including /home/we/dust/code/arcologies/lib/filesystem.lua
including /home/we/dust/code/arcologies/lib/_grid.lua
including /home/we/dust/code/arcologies/lib/glyphs.lua
including /home/we/dust/code/arcologies/lib/graphics.lua
including /home/we/dust/code/arcologies/lib/keeper.lua
including /home/we/dust/code/arcologies/lib/menu.lua
including /home/we/dust/code/arcologies/lib/_midi.lua
including /home/we/dust/code/arcologies/lib/page.lua
including /home/we/dust/code/arcologies/lib/parameters.lua
including /home/we/dust/code/arcologies/lib/popup.lua
including /home/we/dust/code/arcologies/lib/_softcut.lua
including /home/we/dust/code/arcologies/lib/sound.lua
including /home/we/dust/code/arcologies/lib/api.lua
pset >> write: /home/we/dust/data/system.pset
# script run
loading engine: PolyPerc
>> reading PMAP /home/we/dust/data/arcologies/arcologies.pmap
Engine.register_commands; count: 7
___ engine commands ___
amp	 	f
cutoff	 	f
gain	 	f
hz	 	f
pan	 	f
pw	 	f
release	 	f
___ polls ___
amp_in_l
amp_in_r
amp_out_l
amp_out_r
cpu_avg
cpu_peak
pitch_in_l
pitch_in_r
# script init
pset >> read: /home/we/dust/data/arcologies/arcologies-01.pset
### SCRIPT ERROR: init
/home/we/dust/code/arcologies/lib/keeper.lua:403: attempt to index a nil value (field 'selected_cell')
stack traceback:
	/home/we/norns/lua/core/norns.lua:136: in metamethod '__index'
	/home/we/dust/code/arcologies/lib/keeper.lua:403: in method 'delete_all_structures'
	/home/we/dust/code/arcologies/lib/structures.lua:66: in method 'delete_disabled'
	/home/we/dust/code/arcologies/lib/parameters.lua:118: in field 'action'
	/home/we/norns/lua/core/params/option.lua:51: in function 'core/params/option.bang'
	/home/we/norns/lua/core/params/option.lua:36: in function 'core/params/option.set'
	/home/we/norns/lua/core/paramset.lua:389: in function 'core/paramset.read'
	/home/we/norns/lua/core/paramset.lua:408: in function 'core/paramset.default'
	/home/we/dust/code/arcologies/lib/parameters.lua:131: in field 'init'
	/home/we/dust/code/arcologies/arcologies.lua:17: in global 'init'
	/home/we/norns/lua/core/script.lua:105: in function 'core/script.init'
	[C]: in function 'xpcall'
	/home/we/norns/lua/core/norns.lua:137: in field 'try'
	/home/we/norns/lua/core/engine.lua:91: in function </home/we/norns/lua/core/engine.lua:89>

Thank you!
Realizing how many words it can take to describe one of these maps.

The casino in the nw corner is playing one of the melodies, getting photons from the tunnel in the ne corner. All the tunnels are on the same network, so it’s receiving a combination of what makes it into the other two. But the tunnel south of that casino is also receiving what the casino plays and bounces back out, so there’s a little bit of a feedback process happening.

Arcologies is amazing.

1 Like

v1.2.1

  • NEW Note select for arc is no longer lame.
  • FIX Resolve init error when loading pset’s with disabled structures.

v1.2.2

  • FIX .arcology save/load issues.

@Philternaut thanks for the bug report. it is fixed in this version! i cannot reproduce the arc slowdown you describe. if you can share instructions for how to make it happen please let me know.

i love that you love the script! do share artifacts!


@gimber :slight_smile: :slight_smile:

5 Likes

OK, I’m just the worst, I managed to break it enough to really show the slowdown, which actually is affecting the clock as well.

The caveat: This is the result after several randomized maps, and represents something no well-intentioned individual would voluntarily create!

  1. Load up the attached PROBLEMITE.arcology.
  2. Start it playing.
  3. Wait. For me after 20 seconds it’s pretty much bogged down every time.
  4. Notice clock slowing down and UI becoming less and less responsive, also affecting Norns buttons and encoders.
  5. If I delete the tunnels, this seems to resolve it?
  6. I resolve to create something nice to balance out this monstrosity. I’m so sorry for making arcologies cry :slightly_smiling_face:

In matron during slowdown: clock: ignoring resumption of canceled clock (no coroutine)

Norns Shield, Pi 3 B+, 3A power supply, with grid, arc, and iConnect mio connected, wifi is on; max observed CPU meter was 34%. Dunno if any of that is relevant.

PROBLEMITE.arcology (342.6 KB) PROBLEMITE.pset (1.3 KB)

3 Likes

oh wow this is a good one! yes i can reproduce on norns and ethernet connection. this is really good. i had this bug logged before but couldn’t reproduce it reliably. interesting lead with the tunnels… looking at the map i actually wonder if it is a supercollider issue… hmm…

this was known as the fearsome “event horizon” memory leak.

1 Like

v1.2.3

  • FIX ♯ notes on arc.
3 Likes

@tyleretters
you sir…are a fracken mad man!
:stuck_out_tongue:
just took the update for a drive for tonight’s broadcast…
the animations on the ARC are phenomenal!!!
i almost found myself using certain settings because of them!
hah!

may have found a wee bug…

Scrolling through the structures on the playfield with ARC 4.
A section of four CRYPTs displayed without their parameter info.
it displayed the structure and the info in the very top header but the menu area was blank except for three dots - …

it only occurred for a bit but after i switched screens and then went back it stopped doing it.

it never came back even after running for an hour or so.

apologies…
i forgot to save out the file and the map.

what is your favorite structure?

  • HIVE
  • SHRINE
  • GATE
  • RAVE
  • TOPIARY
  • DOME
  • MAZE
  • CRYPT
  • VALE
  • SOLARIUM
  • UXB / CASINO
  • TUNNEL
  • AVIARY / FOREST
  • HYDROPONICS
  • INSTITUTION
  • MIRAGE
  • SPOMENIK / AUTON
  • KUDZU
  • WINDFARM
  • FRACTURE

0 voters


the Music Hackspace workshop was a ton of fun! the recordings are up here: https://musichackspace.thinkific.com/courses/arcologies

and here’s the course pdf: Arcologies Workshop.pdf (2.6 MB)


@SPIKE YAY! i’m glad you like them. i spent… a lot of time on the animations. thanks for the bug. i’ll try to reproduce that.

6 Likes

i’m doing dev stream and listening to SIGN now: twitch.tv/tyleretters


v1.2.4

  • NEW Add cloakroom. The mechanisms of these liminal structures are as clandestine as they are abstract.
  • NEW Add “GLOBAL PSYOP” arc binding. This controls all cloakrooms simultaneously.
  • FIX “BROWSE CELLS” arc LEDs are now solid instead of sparkling.

Screen Shot 2020-10-17 at 09.27.22


cloakrooms are the next evolutionary step after hydroponics. with them you can modulate all of these:

  • BEARING
  • CAPACITY
  • CHANNEL
  • CHARGE
  • CLOCKWISE
  • CROW OUT
  • CRUMBLE
  • DEFLECT
  • DEVICE
  • DRIFT
  • DURATION
  • INDEX
  • LEVEL
  • METABOLISM
  • NETWORK
  • NOTE COUNT
  • NOTE #1
  • NOTE #2
  • NOTE #3
  • NOTE #4
  • NOTE #5
  • NOTE #6
  • NOTE #7
  • NOTE #8
  • OFFSET
  • OPERATOR
  • OUTPUT
  • PROBABILITY
  • PSYOP (yes, psyops themselves can be modulated - so you can have a cloakroom target psyops on adjacent cloakrooms, which can then have their own targets…)
  • PULSES
  • RANGE MIN
  • RANGE MAX
  • RESILIENCE
  • TARGET
  • TERRITORY
  • TOPOGRAPHY
  • VELOCITY

just about the only thing you can’t modulate is structures (i think that would be silly, and not in a creative way.)

16 Likes

I am here just to say that I really appreciate this sort of conceptual work. Respect!

1 Like

Oh man!!! Was just dreaming of a duration mod source of some point!

2 Likes

hey there…
apologies but…i think i new a dummies guide for the cloakroom.
:stuck_out_tongue:
i tried placing a cloakroom by a Topiary.
set the modulation to note count.
didn’t see any change.
tried opening ports…closing ports…shooting it with a Hive.
what am i missing here?

1 Like

try this. open it up and hit play. select the topiary. you’ll see the note count modulate between 7 and 8.

CLOAKROOM.arcology (59.9 KB) CLOAKROOM.pset (1.4 KB)

here’s the territory susceptible to psyops:

2 Likes

a retrospective of the last seven weeks and a peek of what dreams may come

16 Likes

AH!
i get it now…
so depending on which port you shoot…it will increase or decrease the assigned parameter of another structure that falls within the 3x3 area of a cloakroom.

thank you so much for the example file!
i really had to see that one in action.
:stuck_out_tongue:

2 Likes