I wanted to play with procedurally generated music, so here's a little game where you can listen to the little cells in Conway's Game of Life!
When music is paused, Z to toggle the aliveness of the cell at the cursor.
X to play a song of the current board and then load the new one according to Conway's Game of Life rules. You can now press X again to stop the music.
You can't spawn cells live during a song.
When the music is not playing, use arrows to move around a cursor. If you go over an alive cell, it will play its note.
I made use of eruonna's music data structure example code., as well as stat(20) and stat(24) to draw the yellow box. I didn't even have to touch the SFX menu, although I did select which channels play on which patterns by hand.
Pitch is controlled by how old a cell is. It's snapped to c-minor because that seems to be part of Pico-8's ~Aesthetic~.
Timing is controlled by position (as seen with the yellow box).
==Jun 10, 2018==
Cells are now color-coded by letter-note. In the future, you will be able to switch between this and the previous instrument color-coding:
Sharps/flats are a checkered blend of the letter-notes they are located between.
There are now multiple boards. Had to rework most of my functions to support this, but now it's pretty easy to change the number of boards. The music is a little messed up, but in the future, the big board will control two sfx channels, and each little board will control its own sfx channel. Hopefully this will lead to more interesting repetition patterns in the music.
==Jun 5, 2018 Part 2 (Actually fun to mess around with now!)==
I added functionality to the cursor! Now you can press Z to kill or spawn a new cell at the cursor.
Randomly spawning cells is gone until I can get a better interface. Reset cart to get new random cells.
Modified the default effects, and added a feature to allow per-instrument volume adjustments. I think it sounds much more musical now!
==Jun 5, 2018==
Now it works! No more music bugs... I hope. This one was very embarrassing: I tried to refer to "sfxn" as "sfxm". I really need to go into a non-pico8 editor when doing serious debugging. I noticed right away after doing that.
Added cursor to preview the singing voices of each individual cell.
==Jun 4, 2018==
Aha! I added a function that allows you to easily print a character onto a cell. Hold <- to see the cells in deadlist, and -> to see cells in alivelist. It turns out that I was adding the same cell to alivelist multiple times (when pressing X) but when they died, only removing them once. Fixed now, so I think no more ghosts will be singing!
I wonder if it would be cool to have four small boards going at once, at different speeds. That way you could have repetition: maybe one instrument per board.
==Jun 3, 2018==
I can't seem to squash some big bugs. Sometimes after running for a while, music will play where things look dead. Ghosts? Maybe it has to do with how inexperienced I am with Lua's tables.
If I continute working on this, I'd like to add a simple editor so you can find out what a gilder sounds like.
I'd also like a ~pitch view mode~ where instead of color-coded instruments, it color-codes by the note that will play.
Introducing my first actual game on pico-8: Tile Flip! (v1.0)
Tile Flip is a puzzle game where your goal is to flip all tiles to the same color (it doesn't matter which color). You control which tile is selected with the arrow keys and press z to flip the tile, but all the 4-directionally adjacent tiles are also flipped.
Tile Flip starts out easy. On Level 1, only a single move is required to win. After winning, press z again to move onto the next level. After that, it gets harder very quickly. I can only get to Level 4 or so, but then again I'm not very good at puzzles.
All generated puzzles should be solvable. If you're a cheater, you can use this solver.
This is my first properly polished game on pico-8, and my first attempt at composing video game music! I designed the graphics myself as well and I'm proud of the coherent asethetic and bold colors. I enjoy how pico-8 encourages me to stretch my artistic abilities. I have many years of coding under my belt, but it's hard to make nice, polished games by yourself without those art skills!
If I don't abandon this project, the next version will include a menu where you can view statistics like your current level, time playing, and moves taken. You'll also be able to retry a level (or regenerate it-- maybe this uses up lives?)
Special thanks to my girlfriend for helping me figure out how to highlight selected tiles without it looking horrible.
My Hello World project!
Two points bounce about randomly on the screen, and colorful lines are drawn between them. Whenever one of the points bounces off the wall, one of four sounds will play. Each time you play, a different pattern will get drawn.
So far, there is no interactivity. Maybe in version 2...