4 ms·
That why question sure is haunting isn't it. For example, I invented a programming language for board games and the #1 question I generally get is "why isn't t
by mathgladiator 5y ago
That why question sure is haunting isn't it.
For example, I invented a programming language for board games and the #1 question I generally get is "why isn't that a framework".
The hard part in life is learning to embrace your quirks.
- RangerScience 5y ago> programming language for board games Go onnnnn? :D
- Jtsummers 5y agoThey had a Show HN a few hours ago: https://news.ycombinator.com/item?id=30542230 https://news.ycombinator.com/item?id=30542230 It looks like that's what they're referring to.
- Tomte 5y agoIt took me three or four readings to understand your request. Go happens to be both a programming language and a board game, so I promptly forgot about it also being a verb.
- mathgladiator 5y agoI will! I even have a video: http://jeffrey.io/AdamaPlatformInTenMinutes.mp4 http://jeffrey.io/AdamaPlatformInTenMinutes.mp4 And I'm building it as a SaaS which I've made available: https://www.adama-platform.com/ https://www.adama-platform.com/ for "early access". I'm still trying to figure out how to explain it. Basically, take an IDL like proto/thrift. Then add in the ability to transform the data. Then add in a sense of privacy of who can see what. And boom, the foundation is laid for a document transform language. The reason to do all of that is because the state of the board game requires a great deal of care. For instance, wouldn't it be great to offer Undo? What if you hook a socket directly up the document and then differentiate state changes after privacy checking? Right now, it's a mess, and I'm forking efforts to work on a board game web ide where people can build board games online. Adama is the foundation for the IDE such that it starts collaborative from the get-go.
- ramses0 5y agoWith a little experience in this area, I think that a replay-log is the best way to go, possibly with some data "encrypted until revealed". eg: chess has algebraic notation and that allows replay, undo/redo, save/load, etc. If you were to come up with some notation for chinese checkers... blammo, same concept. The "replay log" doubles as a relatively expensive save-game format (re-run the steps). If you're doing something like texas hold'em, you might do: Deal @ 1 => "XX, YY"; Deal @ 2 => "AA, BB"; Flop "AH, 2H, 3S" ; Bet @ 1 => $12.34 ; etc... ...and then "materialize" the XX,YY things at the end, while maybe keeping individual + central records. eg: 1.json => (XX==4S, YY==5H) // 2.json => (AA==6H, BB==7H) // central.json == union(*.json) ...multiplayer is hard, but some sort of replay-log of the messages is my current thinking of the only rational outcome. If you're looking to make an online boardgame IDE, then focusing on devising a game notation (which may include privacy) would be helpful.
- mathgladiator 5y agoMy language generates document changes that go inside of a replay log. I basically translate document layout + transformation logic into JSON changes which can be joined under JSON merge. The neat thing about basing everyone on JSON merge is that I have a way to deal with buffer bloat very easily with flow control.
- Supermancho 5y agohttp://book.adama-platform.com/tour.html http://book.adama-platform.com/tour.html - The architecture diagram is broken =(