PQ93 Version 1.0.2

PQ93 is a simple fantasy console I started writing in 2017. Since then, I have worked on it intermittently, but I never considered it to be a high priority.

Despite the long development time (~5 years as of this writing), I haven’t spent very much time on PQ93; maybe a month’s worth of normal work hours.

I learned a lot along the way, and I enjoyed making my own fantasy console, but I didn’t find anything to do with it to make it particularly unique or interesting.

Normally, in a situation like this, I would just delist the program from the internet so it isn’t a burden on society.

However, some people paid a small amount of money for this program early on, and others paid for it as part of a political fundraising bundle.

For this reason, I would feel dishonest if I delisted the program.

So, instead, I have found chunks of time here and there to do one feature update, to fix some glaring issues and user experience sins.

Numerous bugs have not been fixed, but may be if people encounter them and let me know. Future feature work is not planned for this project.

I hope that this update makes things better for anyone who enjoys the program and would like to use it.

Notable additions include a resizable editor, Undo/Redo, code linting, and many more buttons and keyboard shortcuts for common needs.

Platform Support

Initially, I attempted to ship PQ93 on Windows 10, macOS 11, and Ubuntu via an AppImage. It turns out that the time investment necessary to maintain a release on all three platforms is not remotely worthwhile for such a small project.

Currently, PQ93 v1.0.2 is available only for Windows 10. Much of the update has been written on macOS 12, however. A macOS release may happen if at least a good handful of people want it to happen.

For Linux users, I highly encourage you to run the game under Wine. In my experience it works just as well as running it natively.

A word of advice to others: Ship on Windows. Only ship on Linux if your project is open source and people compile it themselves. Don’t bother with macOS.

If you want to ship on more than one platform, wait for there to be enough demand that it is actually worth the time it will take to wrangle.



  • (2022-03-21) Write a default config file if no existing one is found.
  • (2022-01-10) Right click to erase notes in the piano roll editor.
  • (2021-12-15) Popup when you try to quit with unsaved work.
  • (2021-12-22) Map editor stamps now tile instead of smearing.
  • (2021-12-18) Add API function to draw an arbitrary sprite sheet region.
  • (2021-12-18) Sprite editor Alt+Click to pick a color.
  • (2021-12-18) Map editor Alt+Click to pick tile.
  • (2021-12-18) Map editor hotkey to swap between big and small editor.
  • (2021-12-18) Resizable editor window.
  • (2021-11-21) When saving a cart, save a backup of the original file.
  • (2021-11-20) Add the ‘browse’ command.
  • (2021-11-14) Particles and SFX for placing things in the editors.
  • (2021-11-14) Show cart runtime errors in the code editor.
  • (2021-11-11) Undo/Redo for all the editor tabs.
  • (2021-11-09) Shift+F8 navs to previous lint item.
  • (2021-11-09) More consistent editor keyboard shortcuts.
  • (2021-11-07) Buttons for flipping in the sprite editor.
  • (2021-11-07) Copy/Paste buttons for SFX, music, and sprites.
  • (2021-10-20) Automatically close strings, parens, braces, brackets.
  • (2021-10-19) Tab autocomplete for filenames in the shell.
  • (2021-10-19) API function to set the window title.
  • (2021-10-19) Press F8 to jump to the next lint item.
  • (2021-10-18) Web export now uses WASM.
  • (2021-10-17) Window position + size remembered across sessions.
  • (2021-10-16) Config option for linter delay.
  • (2021-10-15) More clear when trying to run an empty cart.
  • (2021-10-15) Code editor minimap.
  • (2021-10-14) Added run button in top left.
  • (2021-10-14) Errors are word-wrapped.
  • (2021-10-14) Code linting.
  • (2021-10-13) Shell history is remembered across sessions.
  • (2021-10-13) Shell history works like an LRU cache.
  • (2021-10-09) API calls and Lua builtins are highlighted differently.
  • (2021-10-09) Scrollbar handles resize based on the number of items.
  • (2021-10-07) Sandboxed game code.
  • (2021-10-05) Autocomplete in the code editor.
  • (2021-10-04) Ctrl + / to toggle comment.
  • (2021-10-04) Alt + Up/Down to move a line up or down.
  • (2021-10-03) Home, End jump to the end or beginning of words, lines.
  • (2021-10-03) Code editor trims trailing whitespace.
  • (2021-10-03) Shift+Tab will unindent the current line.
  • (2021-10-03) Detect tabs vs. spaces and insert the right one.
  • (2021-10-03) Toggleable rendering of whitespace chars in code editor.
  • (2021-10-03) Indentation guides in code editor.
  • (2021-09-12) Carts dropped on the app run immediately.
  • (2020-06-14) Boot animation can be disabled.
  • (2020-06-13) Editor animations can be disabled.
  • (2020-06-13) Editor flavor animations + sounds.
  • (2020-06-13) Simpler config file formatting.


  • (2022-07-09) Cart browser should have continuous scroll.
  • (2021-11-14) When using the Run button, Escape should return you to the studio instead of the command shell.
  • (2021-11-07) It was possible for a music pattern to repeat infinitely.
  • (2021-10-28) Music doesn’t stop when changing modes to the shell.
  • (2021-10-28) Loop points are wrong for SFX ending on a rest.
  • (2021-10-26) Multiline string support in code editor.
  • (2021-10-20) Syntax highlighter breaks on backticks and ampersands.
  • (2021-10-18) Code line highlight + cursor can cover the top bar.
  • (2021-10-18) Crash on pasting Unicode.
  • (2021-10-17) Unprotected calls to Lua API could cause crashes.
  • (2021-10-16) Jumping across word or line doesn’t update horizontal scroll.
  • (2021-10-13) Cart flag chunks were written and read incorrectly.
  • (2021-10-13) Could only navigate backwards in shell command history.
  • (2021-10-08) Line numbers should be 1-based.
  • (2021-10-08) Error line numbers are recalculated.
  • (2021-10-06) Detect unrenderable text and show a mystery box.
  • (2021-10-02) File op errors should produce meaningful error messages.
  • (2021-10-02) Segfault when trying to run a missing file.
  • (2021-09-29) Inputs stick when you switch tabs.
  • (2020-06-14) Vertical scrollbars had off-by-one errors.
  • (2020-06-14) Vertical scrollbars didn’t update during mouse drag.
  • (2020-06-14) Folder command fixed on Windows.


PQ93-v1.0.2-win64.zip 2 MB
Jul 09, 2022

Get PQ93


Log in with itch.io to leave a comment.


Good post. That all makes sense. I’d mostly agree on the platform release stuff but I’ve found doing windows and Mac isn’t too bad if you statically link everything. Plus I develop on macOS too so I basically have to have both supported. Though if you’re only developing on windows yeah skip other platforms.