Develop on Pico8
Getting Started - Tutorial / Guide / Awesome PICO-8 / Helpful Posts
Keyboard Shortcuts
Reload/Run/Restart Ctrl+R
Quick-Save Ctrl+S
Lua
- Tables - Table index start at 1 in Lua
- OOP
- Coroutines
- using External Editor
- multi assignment -
local x,y = 10, 11
- Multiline comments
- 16.16 fixed point numbers - need additional library for float
Tips
Tutorials
- Pico-8 Tutorial Crash Course For TOTAL Game Dev Beginners! - general intro on tools available - very basic sprite move
- Let’s make a PICO-8 Game in 30 Minutes! - more complete overview
- how to reuse existing game to make your own - use celest movement (MIT Licenced)
- Programmer des mini-jeux avec PICO-8 ! Tuto pour débuter
- Programmer un shoot’em up !
- Programmer un jeu d’aventure à la Zelda
- moitié basse de la map / partagé avec les planche de sprites 3 & 4
Pico-8 Feature review
- Sprite
- Sprite animation Ctrl-L set start then end - U / W cycle within range Work aslso on big sprite
- paste big Ctrl-B
- activate Grid Ctrl-G
- print ctrl code
- Map in different place
- Save url - a url embeding your code
- Label for cart
- custom font - variable width
- Map Editor
- move & edit in selection without erasing what’s under it - by using the cursor key
- String are array now
- Char wrap
-
TLINE ??
- PICO-8 0.2.4
- 64ko Memory
- Video Remapping - The video memory sections can now be mapped to each other, allowing the screen to be used as if it were the spritesheet, and/or to draw to the spritesheet as if it were the screen.
- Big Maps - This feature doesn’t come with extra cartridge space to match! So to use 0x8000 and above, you’ll need to manually mset() or memcpy() some map data. This feature will be most useful for carts that procedurally generate their maps or have some custom data storage scheme.
- P8SCII - character data can be specified and printed in-line using “\^.” followed by 8 bytes of raw binary data
Debug
-
You can also STOP() in code and it will stop the interpreter. Then run “.” To single step. “R” to continue running.
- You can also inspect variable with print from pico8 console.
- and from code itself
print('score: '..score, 0, 120, 8)
- and from code itself
-
printh - prints a string to the host operating system’s console.
- HELP: Performance profiling?
Compression & Packing
- PICO-8 Token Optimizations
- compressed size limit
- Shrinko8 - A set of Pico-8 cart tools, with a focus on shrinking code size.
- From one Pico-8 cart to many
- rectpack2D / HN - A header-only 2D rectangle packing library written in modern C++.
Written on October 22, 2023, Last update on December 16, 2023
pico8
codingame
lua