Diary 2018-12-24

By Max Woerner Chase

Today, I made cursor sprites, of which I'll probably need more, and started working on the actual code to power the game. I got code to take turns and determine the winner, if any. Next up is cursor movement code. From there, I think I "just" need all the input and drawing code, the latter of which really needs the sprite sheet to be laid out in a saner fashion.

My impression of developing for the PICO-8, rather than just reading over other people's projects, is kind of mixed so far. I haven't done I/O, so I don't have any strong feelings there yet. Between spriting and coding, the sprite creation stuff is fine so far. The coding is kind of ehh. It's mainly that I'm used to much longer lines, so I keep on overflowing the screen, and the result is confusing to navigate. Out of the fantasy consoles out there, I wonder if any of them are more flexible about development environments.

I guess I'm thinking in terms of, to develop for some actual consoles, you can in theory use any source language that can target the console's chipset, and therefore any editor, and rely on the compilation toolchain to tell you if your executable will for whatever reason not fit or work. I don't know if that's a reasonable angle to approach a fantasy console from, especially if I'm on-board with using Lua. In any case, I just grabbed a few likely-looking consoles: ECoS, LIKO-12, neko8, and PX8. I won't mess with them until I feel like the PICO-8 is seriously holding me back. What I have right now is organizational issues on my end, and I need a serious plan if I'm to deal with them. There's also the fact that, looking at these, I doubt they'll be silver bullets, and I'll need to weigh the pros and cons, and also maybe look into the ones that involve paying money for them. Also just installed pyxel.

Did the cursor movement code. It definitely feels like the bigger issue than tools is having a mental model that doesn't get tangled up in abstractions. I do this thing sometimes where I kind of buy into the monad-and-related-typeclasses hype without, well, actually using Haskell, and I think that's overall a net negative to productivity. I guess slightly more concretely, the problem is seeing the elegance of sbstraction, but missing the cost of specializing an abstraction to a specific instance, which is required in order to actually ship a thing.

Thinking about this current project, I think there's a chance I'll skip other fantasy consoles once I get a handle on doing stuff in the PICO-8, and just try to transfer whatever I learn into fancier equivalents of the various PICO-8 tools.

Well, none of that's happening right now. Glad I'm getting a better picture of my limitations around development. I'm feeling like taking a break, then focusing on the spritesheet. For now, it's almost actually the timestamp on this post, so I'd like to be done now. Good night.