curious_reader
08/19/2022, 10:25 AMDuncan Cragg
08/19/2022, 9:49 PMGarth Goldwater
08/20/2022, 12:18 AMcurious_reader
08/21/2022, 10:27 AMDuncan Cragg
08/21/2022, 3:52 PMcurious_reader
08/21/2022, 4:00 PMTom Hutchinson
08/22/2022, 8:44 AMDuncan Cragg
08/22/2022, 9:02 AMKonrad Hinsen
08/22/2022, 4:00 PMDuncan Cragg
08/22/2022, 4:57 PMGarth Goldwater
08/23/2022, 11:24 PMThis image shows Terminal Phase with the ability to undo mistakes and restore previous state visibly exposed. But here’s the wild thing: the gameplay code of Terminal Phase was fully written and released before any consideration was given to showing off time travel as a demo. The time travel interface was added on within just a couple of short hours after the game was already written and without modifying any core gameplay code. The only thing that needed to be added was some scaffolding to keep a certain amount of state and display it to the user.
This game prototype is entirely local, but where Goblins gets really exciting is applications running over a distributed network…
Please note that there are some interesting things happening here:
• The two participants are speaking over a peer to peer network (Tor Onion Services, in this case, though Goblins is designed to be flexible as to the particular network substrate chosen)
• No participant in the chat can fake messages coming from any other participant in the chat (on an object identity level; avoiding naming conflicts through a petname system came in later iterations of the system)
• Communication is end-to-end encrypted
• And, the entire chat system backend, for both rooms and for users, is a mere 154 lines of code!
But here is the even more amazing part: the core chat protocol does not mention the network even once. It does not need to… in fact, the entire chat program was written using Goblins’ asynchronous programming style locally, within the same process. When the chat code was connected to Goblins’ networking code, the chat system just works.
curious_reader
08/26/2022, 4:52 AMTom Hutchinson
08/26/2022, 1:58 PMGarth Goldwater
08/26/2022, 6:42 PMTom Hutchinson
08/26/2022, 10:41 PMGarth Goldwater
08/27/2022, 2:56 AMTom Hutchinson
08/27/2022, 3:01 AM