Files of check-in [c1b0bf682a] in directory src/worpt [history]
Chewbranca's Worpt
Worpt is a prototype platformer using the awesome Warped City art assets from https://ansimuz.itch.io/warped-city and the platforming physics from http://www.osmstudios.com/tutorials/love2d-platformer-tutorial-part-1-the-basics . Currently this is an engine capable of running the map.json file from the Warped City demo game. The goal was for this to be the intro level and then to create new levels, and the progress is that intro level is playable and nearly complete.
This Project is Based On:
Project Structure
- technomancy: https://gitlab.com/technomancy/exo-encounter-667
- alexjgriffith: https://gitlab.com/alexjgriffith/min-love2d-fennel
Platforming Physics
- OSM Studios Tutorial: http://www.osmstudios.com/tutorials/love2d-platformer-tutorial-part-1-the-basics
Game Art Assets, Map File, and Sample Game
The wonderful game assets from:
- Warped City: https://ansimuz.itch.io/warped-city
Original readme.{org,md} follows:
Minimal Fennel Love2D Setup
In a lead up to the annual Autumn Lisp Game Jam I thought I'd look into Phil Hegelberg's approach to last Aprils Jam, using love2d in concert with fennel. Phil outlines his approach on his blog.
The first step is to see how fennel works as a standalone execution environment, then slowly integrate some of the love2d API.
This repo contains the minimal viable setup to get started with Phil Hegelberg's game design process, plus some additional libraries.
PROJECT=project-name
git clone https://gitlab.com/alexjgriffith/min-love2d-fennel.git $PROJECT
cd $PROJECT
rm -rf .git
Phil's Modal Callbacks (PMC)
Phil Hegelberg's exo-encounter-667 is structured using a modal callback system. Each game state has a mode and each mode has a series of specific callbacks.
If you design your game as a series of states in a very simple state machine, for example start-screen, play and end, with unidirectional progression, you can easily separate the logic for each state into state/mode specific callbacks. As an example, in order to have state dependant rendering that differs between start-screen,play and end you could provide a draw callback for each of those states. Similarly if we need state dependent logic and keyboard input we could provide update and keyboard callbacks. As you iterate you can add and remove callbacks and states/modes as needed with very little friction.
Emacs Setup
Once you install the latest version of fennel-mode, you can run
C-u M-x fennel-repl
followed by love .
to launch a repl.