Re:Jai Language Primer
by weavie on Friday February 12, 2016 @09:13AM
(#11087238)
Yes, how much fun folks could have if you could connect a Repl into your game and arbitrarily change the rules on the fly!
[ Parent
| on HN ]
(shameless plug alert)
This is how my WIP (verrrry WIP) game engine written in Guile Scheme works. It is built explicitly to enable iterative, live development.
2 year old video of a precursor to the current project: https://dthompson.us/functional-reactive-programming-in-sche...
Simple example program: https://git.dthompson.us/sly.git/blob/HEAD:/examples/simple....
More complicated minesweeper example: https://git.dthompson.us/sly.git/blob/HEAD:/examples/mines/m...
Home page: https://dthompson.us/pages/software/sly.html
Hoping to get a 0.2 release out the door in time for the Lisp Game Jam coming up in April.
Re:Jai Language Primer
by CyberDildonics on Friday February 12, 2016 @10:01AM
(#11087607)
You can do that right now with Love2D and a stub game loop that sources the actual implementations every second or two.
That is a far cry from a REPL.
Re:Jai Language Primer
by CyberDildonics on Friday February 12, 2016 @10:32AM
(#11087851)
It's better than a REPL, that allows you to write a game completely live. I'm not sure what you think is lost since you didn't back up what you are saying with anything.
It is strictly less powerful than a REPL. Claiming that you can't live code a game at a REPL is false, because I do it on a regular basis. When I write games in Scheme, I use a REPL to write the game live, doing all of my editing within Emacs. I do not have to save files for the code to be evaluated, I just press a keystroke to evaluate the specific form I'm interested in. I can evaluate more fine-grained sections of code, not only entire files.
Re:Jai Language Primer
by CyberDildonics on Friday February 12, 2016 @12:10PM
(#11088656)
Pressing a keystroke is all it takes to save a file.
Also if you are selectively executing parts of files, how is it that you are editing the live running source code?