I realized my fix to imenu broke indentation, so maybe try pulling again. I don't have lisp-indent-offset set to anything; in fact doing so breaks the indentation further.
Recent community posts
I love reading that you'd never used Fennel before the jam; that's so cool that you could pick it up quickly and still finish your game with 2 days to spare.
I pushed some changes to fennel-mode to get rid of byte-compiler errors; can you let me know if that fixes the indentation problems you were seeing?
I think it was missing an explicit require of lisp-mode?
Great job; the quips really help add a lot of character and make you care more about the game.
I took a look at the source and I believe this has the distinction of being the largest public Fennel codebase in the world; congrats!
This crashed for me at first when running from source, but then I ran "raco pkg install lens" and then it worked! You should probably either include that in the source or make the instructions clearer that it's required before it will work.
I'm using tiled (https://www.mapeditor.org/) for the maps in my game and have found it very useful to allow quickly creating levels. But there are a few things I found helpful I thought I'd share in case others are using Tiled.
The first is that we have a number of object layers which indicate where specific enemies and other things should be spawned, but the markers in the map are just indicators, so we want those layers to be invisible. While I'm working on the maps I want the layers to be visible, but I'd always forget to make them invisible before exporting the map, so they'd show up in the game where they don't make any sense. What I ended up doing was toggling the visibility in code right after loading the map instead, so I don't have to do it in Tiled.
The other thing I found really helpful was adding a linting phase to the map loading. I have enemy objects which have a property telling the game which patrol path it should follow. The patrol path is an object defined in the patrols layer, but it's easy to make a typo or something and have weird errors down the line, so I do an explicit check to confirm that the patrol it points to is present during map load time to make errors more obvious.
Looks promising. If you want to make executables for various platforms instead of just source tarballs, feel free to crib from my Makefile; it can do Windows exes, Mac apps, and GNU/Linux AppImage builds from love2d games. https://gitlab.com/technomancy/goo-runner/blob/master/makefile
I'm hoping to collaborate on a TIC game with a friend, but I'm having trouble figuring out a good way to do that. Is it best to just keep code in separate files in a source control repository and run `tic80` from that directory, then use `require` in your cartridge and not keep any actual code in there until you're ready to publish, or is there a better way?
The new eval command could be helpful for the kinds of things you'd use a debug mode for. Hit esc; run `eval trace(player.status)` or even use eval to replace the definition of a function and then `resume` to see what effect it has.
One of the big things I miss from coding games in LÖVE is the ability to interact with my games while they're running. It's invaluable for debugging to be able to just pause the game and inspect and change the contents of various game state tables.
Imagine if when you press ESC to get to the console you could run a command like `lua print(state.abc)` to see the contents of a game's table, or run `lua state.abc = 481` and then run `lua TIC()` to see the effect your change has on gameplay. (If we want to get really fancy we could add a `resume` command, but let's not get ahead of ourselves.)
First of all, is this a good idea? I understand that having support for multiple languages complicates this. I could take a shot at implementing this for the languages that run on the Lua runtime (including MoonScript and Fennel) but implementing it for JS or Wren is beyond me. If it's agreed to be a thing worth doing I'd be happy to put in the work to see it since interactive development is very important to me, and it's difficult for me to work without it since I've been so spoiled.
Let's just say it was a week where I had a lot of free time! Business trip took me out of town so I had each night alone in a hotel room with nothing to do but jam. The music and art are both Creative Commons-licensed works I found on https://opengameart.org which is a wonderful resource!
This is a lot more fun than it looks like at first glance! It would help a lot if the instructions were visible from within the game, and maybe if there were a way to write notes within the game as well. But I enjoyed it once I got over the confusion; quite a good brain teaser.
My kids loved this one; eventually they got to the point where they just tried to see how long they could play without getting any cheese at all.
Great work on the graphics; really nailed the pixel-art vibe!
The frog guy is hilarious; love the voice-overs. The controls were pretty frustrating, they responded sluggishly, and I never did figure out how to talk to any of the characters the frog tells you to talk to.
Thanks for the feedback. I tried to give the text a translucent background to make it more readable but didn't make it in time for the jam, so I will add that in after the jam rating period is finished.
In the mean time, all the controls are described in white text on a black background on the pause screen, so you can see how things work by pressing escape.
Nice job. I recognize some of those planet sprites from a game I made a few years ago.
I had a bit of a hard time understanding how changing the positioning would affect the path of the ship, but with some practice you get the hang of it. You might consider re-wording the instructions; it wasn't clear that "mouse" meant "drag the mouse on the planets" at first glance.
What a blast! This was my first jam, and I was really happy to have a full ten days, because trying to finish in 3 would have been rough on my health.
Worst moment: getting all the coding complete and realizing I have no idea what I'm going to do for level design. By that point I was down to two days left, but I knew I had been heads-down in the game so long that I could no longer be relied upon to determine what is or isn't fun.
Best moment: I spent most of the jam on a business trip (had a lot of solo nights at the hotel for hack time which worked out really well) but once I got back home and got to show my game to my kids, they were able to playtest, spot bugs, and even help with level design a fair bit. Using Tiled for the levels made it really easy for them to pitch in. Their enthusiasm helped push me over the line to finish (just barely) in time.
Hey folks; I spent some time creating a makefile for creating love2d distributables: this supports creating portable .love files and also .zip files for Windows and Mac OS which bundle the love2d framework in them; might be useful for anyone else targeting the love2d framework from Fennel, Urn, or some other lisp on that runtime:
It also runs the luacheck linter, which is actually surprisingly useful on the output of the Fennel compiler.
edit: this has been fixed
Thanks for the feedback! The console login behavior should be clearer in the next beta, and I'll add an "ls" function; that would help a lot. I also agree that the interface when you press ctrl-o could be a lot nicer--I hope to address that in a future release too.
Thanks for being understanding that the game is still in beta.