Print fewer munchkins messages.
Try to implement mutex in World.
Use OSC client for sound system. Change IP address of Max MSP logic.
- New patch to simulate donuts logging in and out.
- WIP to use mutex.
- Tentative fix for the issue of donut removal leading to a deadlock. We got an infinite loop in the main draw() method's first try block ('while (!osc.getManager().allMarked()) Thread.sleep(100);'). We now maintain a vector of donuts to be removed, and perform the removals in a batch operation.
- Updated Max patch to simulate TUIO inputs of fiducials.
- Change timing to give more time to my slow machine to initialize the app.
Try to make login more interesting: donuts appear from outside the frame. They still disappear instantly because of a constrain instruction on all Things in the World in World.step().
Listen to contacts between donuts and inform the sound system of such events.
Syntax: /booth$BOOTHID$/donutContact $ID1$ $ID2$ X Y          (where X & Y are [0-1])
- If a donut has been idle for more than DONUT_THRESHOLD_LIFETIME_MS ms and there are more than DONUT_THRESHOLD_COUNT donuts at the booth, send a message to the sound system to trigger the logout sound.
- If a donut has been idle for more than DONUT_IDLE_LIFETIME_MS ms, remove it entirely.
- If a donut reappears after DONUT_THRESHOLD_LIFETIME_MS ms but before DONUT_IDLE_LIFETIME_MS ms, refresh its status so that it can be logged out if it is idle for another DONUT_THRESHOLD_LIFETIME_MS ms.
- Listen to donut login instructions from other booths on port DONUT_LOGIN_PORT. Also use this port to inform other booths of logins. Hence class FiducialOscServer becomes FiducialOscClientServer (it was actually a client).
- Similarly, class LogicOscClient becomes LogicOscClientServer, because it listens to booth login information on port DONUT_LOGIN_PORT.
- Update the test patch to include fake login information.
Added some random noise to the movements
Added two new linear-activated agent nations (PURPLE and ORANGE)
Cosmetic change
Finer control of munchkin sizes and explosion rate