Quick question! :D What are you making your wizard game in?
LÖVE, a pretty simple framework for making games with Lua. I picked it mainly because Telltale had some Lua openings that I was looking at when I started, but it’s been a pretty mess-free way of doing things.
Lua is kind of an insane language, in that everything is just a table that can be indexed with any value- and in which numerical indices start at 1, for some insane reason. It’s got weird magic variable name binding that lets you just instantiate local variables (which you have to do explicitly- default scope is global for some reason and requires no keyword, so a line can be “newVariable = value” and that’s just in global scope forever, whoops) and then use them in a function defined in the same scope, even if that function’s passed to be called later when that variable would ordinarily disappear. There are no increment/decrement/self-assignment operators, supposedly because “simplicity” but actually because Lua has a weird single-pass compiler that may or may not actually be able to do it. Semicolons are optional, brackets are verboten (it uses “end” as a keyword for defining blocks), and there is no integer data type (all Numbers are floats).
That said, I’ve gotten pretty comfortable working with it, and I’ll be honest- I think working with this totally raw anarchy do-what-you-want scripting language has helped me appreciate what saner languages bring to the table. My school taught its intro programming courses in Java, which got me real confused about what programming was- all kinds of things I assumed were rules were just made up to encourage you to not do completely crazy things, and instead do completely different completely crazy things because WOOOOO, OOP IS ALWAYS THE RIGHT TOOL FOR EVERY JOB.
also this game is small enough i don’t need to like, worry about low-level performance at all, so why NOT do everything in a scripting language










