I really like PICO-8 - it's really helpful to be able to learn a little tool, and stay inside that same tool until I finish a whole game.
However, one of my goals in playing with PICO-8 is to practice Lua.
Is there a way to turn off the PICO-8 specific syntax, so that I don't acquire "bad habits" of using += or whatever?
I think at some point it'd be necessary to say exactly what PICO8's Lua does and does not implement and it would be better to give it a distinct name like "Moonlet, a subset of the Lua language" to make things clear for people experienced with the language.
- The manual is included in the distribution. See file pico8.txt.
- setmetatable is allowed (sample)
- Lua stdlib is not Lua it's is a library of modules for common programming tasks in Lua. Don't get confuse between Lua (the language) and Lua the standalone interpreter (linked with common librairies).
With pico-8, you have the Lua language (syntax) with pico standard library.
The syntax shortcuts are described in the manul (+=,-=,... and != for ~=). They are really welcome.
If you speak french you can find additionnal documentation here.
I like the idea of calling the pico-8 language "Moonlet". I also think it is important to note that you will learn good programming skills, and learn how to solve problems with code. Learning how to code in general is much more valuable than learning proper lua syntax. The skills you gain from pico-8 can then be applied to any programming language!
I have to agree that the manual text file has been an open tab in my browser constantly for the past week. It covers everything you need to make a great Pico-8 game.
That being said, I have looked up some Lua when trying to solve problems. I then try those in P8 and it fails...and that reminds me, this isn't Lua, it's Pico-8.
If I want to use Lua, I should use Lua, not Pico-8.
Pico-8 isn't Lua and I don't think it wants to or is trying to be Lua. They share some DNA, sure, but they are two separate things. If I want to learn how to play guitar, I don't practice on a trumpet.
And like breadbeard mentioned, regardless what you're using, learning and practicing general programming concept and patterns is far more valuable and can be transferred. Pico-8 will make you better without even knowing it.
[Please log in to post a comment]