So I’m thinking of using Observables for the GGJ, which is coming the weekend after this one. For the simple reason that It’s great fun to develop in, I don’t have grand ambitions (read: requiring native code for performance and such), and once done I can immediately share the results via the web very easily.
Maybe others would like to do the same?
EDIT: Here is the template notebook I have settled on for now. It has
- Tom McWainwright’s function to easily load (multiple!)
- good fullscreen support (thanks to Mike Bostock),
- a demo of how to use Howler to play back sounds
- example code of checking if touch input is inbounds of the
- example code of triggering fullscreen when touching the
p5.jscanvas (convenient on mobile)
- esample code for detecting whether or not the sketch is fullscreen (could be useful for freezing the sketch until running fullscreen, for example)
That should cover the most essential functionality for making games .
As some prep-work, maybe we could make a list of useful tricks, frameworks and ideas? For example, a bit of quick searching turned up these existing Observable notebooks that could be useful:
- p5 (how to embed p5.js, which itself has some great libraries for making simple games)
- Embedding PuzzleScript games into Webpages (you lose advantages of directly writing JS, but it’s pretty cool that the resulting games are accessible too!)
- Compiling Walt in an Observable notebook (A compiles-to-WASM language. Similar to PuzzleScript this loses the JS compilation advantage, but maybe there are parts of a game could benefit from being written in WASM-via-WALT)
- midi player
- module require debugger
If you see any other notebooks you think make sense to add to this list, please reply!
I also still have some unanswered questions:
I what is an easy way to create a full-screen canvas?
Can I just load p5.js libraries? (have to try this out tonight, I know it’ll just be a dangerous rabbit hole if I try it now)answer: nope
EDIT: Updated lists