The theme for the Global Game Jam 2016 was “Ritual”. During the brainstorming phase, Arisa Matzanke (game design) and Alpha Rats (graphics) pitched an idea I found interesting enough, even if it’s a straight forward interpretation of the theme: combine items to summon Satan. The player would be presented with an initial set of items, that combined would produce new items, until reaching at some point the necessary items to perform the final invocation. I joined them as the coder of the team.
We recruited Kirill Krysov to help with the graphics, since this game would have a lot of graphical content, and Cédric Douhaire offered to make some music for our game. During the jam, we also recruited Ruth Bosch for designing a cool logo. It might have been one of the biggest jam-teams I’ve been in, but it worked pretty well: there was enough work for all of us to do.
As usual, I used Löve2D, so that the implementation, code-wise, was simple and straight forward, with also multi-platform support out-of-the-box with no extra effort required.
The game has three different endings, one of them being the Satan Summoning. The other two, you will have to find yourself. The game is played completely with the mouse (or finger, if you play the Android version). Besides, in the desktop version, you can exit the game by pressing ESC any time, switch between windowed and full-screen with F1, or reset the game with F5.
The game is available for free at Google Play. Please do not download the version from the project page at the Global Game Jam website. It’s still an older version with some bugs and missing features, and we’re not allowed to update the game any more in there. In this post you can find the proper download links for the latest version, for all desktop platforms (64 bits) as well as the Android APK. The Löve file is also provided if you don’t find your platform there, it has been tested on versions 0.9 and 0.10 of the engine.
This is the game we made at the Berlin Mini Game Jam October 2015. Starting from a basic game concept from Norman Ritter, we teamed up with Denice Wagner and Tommy Friese and made this game with Löve2D. Our description of the game is “local multiplayer abstract infinite runner survival game”.
It’s a game about avoiding obstacles of your same color. You can control your own shape, becoming narrower or wider. When you are narrow, the speed increases, making it harder to dodge the coming obstacles but easier to pass through the gaps, and vice-versa. The game can be played by up to 4 players at the same time, the single player mode being a practice mode. With more players, it’s about who survives the longest. Visually, the running tracks of each player are overlaid on top of each other, adding a bit of confusion but also making the game more fun. It supports gamepad controllers as well as keyboard input.
The music is the song “Master of the universe”, by Alpha boy’s album Heroes on tape. Graphic design by Denice and Tommy.
This is a collaboration with Alpha Boy. An audio-visual experience, rather than a game, even though it has a certain degree of interaction.
The grid. A sky. The 80s.
We teamed up at the Berlin Mini Jam of September 2015. Inspired by my partner’s music, I started sketching some procedural code based on old tricks for demos, and we went on with that. I think the result is quite neat. We even recorded a small video of it. However, youtube’s compression has severely affected the quality of the result, we recommend people to download and play the game themselves.
In August 2015, I attended Join, a conference about local multiplayer games. Gregg Tavares presented his latest project, SuperHappyFunTimes, which is a NodeJs-based module for massive multiplayer local games. The idea is that you can run a nodejs server in your computer, running the game. This server creates a captive portal in your local wifi network, which other devices in the same network can access by opening a browser and going to the direction http://happyfuntimes.net . The idea is that these other devices will be smartphones. The server gives them a simple web page that will be a custom controller for the game. In other words, as many as 100 players at the same time can connect to the same game, via their smartphone, and use it as a controller.
I found it very interesting, and at the following mini game jam that month, I made a little game called Stock Option. It’s a very much simplified “simulation” of the stock market, with only one single type of stock. The players only have two options, “buy” and “sell”. The rule is that each time one player “buys”, the price increases by 1 euro, so the next buyer will find it more expensive. Each time a player “sells”, the price decreases by 1 euro. All players trade with a “central bank” with a virtually infinite supply of such stocks, the price is only directed by their actions.
If you want to play it yourselves, you’ll have to download and install SuperHappyFunTimes. Then you can get this game directly from the official site, in addition to other games that are made available in that system.
Notes: The screenshot is of a lower quality this time because it’s ripped from the presentation video below. Still, I wanted to use it because it shows more players connected. If I was creating my own screenshot at home I wouldn’t be able to easily reproduce 16+ players connected.
Presenting the game during the jam:
The theme for the Global Game Jam 2013 was “the sound of a heartbeat”. Tanja Borzel had an idea for a game involving single cell beings swimming in the primordial soup, the player would synchronize the beat with other cells in order to connect to them, “becoming friends” and merging towards a multi-cellular being.
We teamed up and built a first prototype. She took care of the art direction and created all the graphic assets, I wrote the code. I had not been using Löve2D for a couple of years, last version I had checked was 0.5.0. Over time, new versions of this framework had come out, adding new interesting features like shader support and sprite batches. I decided to give the latest version at the time (0.8.0) a try. I was pleasantly surprised, so much that this is the framework I have been using for the majority of my games in these two years.
First of all, we made a game with a strong influence from “exploration” games, something deliberately relaxing without any pressures on the player nor fast-paced action. One of the design goals for this game was “no aggression”. We would avoid any game mechanics involving cells “attacking” each other, by eating or any other similar means. On top of that, another design goal was to create a game without instructions, a game where the whole point of it is to learn how to play by trying. Given that the concept of this game is very different from the typical ones, in terms of new game mechanics to learn, the prototype had the flaw that it was very obscure and players were mostly lost. Across time, this has been a game that survived in a corner of my hard disk. Every few months I would go back to it and change a few things and show it to friends for play-testing. Through this iterative process, the game has evolved into what it is now. I am satisfied with how accessible it has become, and I am finally sharing it publicly.
Iwan Gabovitch helped us with the sound design and music, finding royalty-free material we could use. For the main sound effects, I ended up using some instruments from the OLPC project.
As I mentioned, the game is made with Löve2D (version 0.9.1). It’s free to download, but we appreciate a donation if you like it. It’s available at itch.io.
Some days ago I was looking for some way to quickly check the documentation for some of the languages / frameworks that I use, specially when I am offline. I came across Zeal, which integrates well with many text editors. The idea is simple: you highlight the keyword you want to look up, press “F1”, and you get directed to the corresponding page. Zeal provides a quite big list of documentation bundles, called “docsets”, but one for Löve2D is missing. However, it is relatively easy to create one yourself, provided you have the documentation already in HTML format.
So, I downloaded the Löve2D wiki as a zipfile, using the link provided in the wiki itself, and spent a couple of days massaging the files until they appear in a format that is better fitting for this purpose.
If you are using Löve2D on a regular basis and you’re tired of the typical “copy text -> open browser -> go to google -> paste -> click search -> click on the first result -> maybe I still need to navigate the wiki a bit more to find the info that I’m looking for”, this might be helpful to you.
Docsets, however, have a predefined set of possible “categories” in which to classify your pages, as you’re building the internal database. I’ve tried my best to fit the wiki categories into those, but sometimes I couldn’t find a good match: for example, the tutorials are in the “Annotations” category since I couldn’t find anything better, or the information about the different versions of Löve2D are in the “Packages” category since there was no “Versions” category.
The docset might or might not work on similar software that also uses the format (like Velocity or Dash), but I haven’t had a chance to try it.
I hope you find this useful.
The week before the jam, I had been thinking about online arguments. I had an idea for a possible game where the person who gets the last word in “wins”. But if someone else replies, then the other person is “winning”. This is a minimalist interpretation of that concept, where you “win” by being the last to press the button. The catch is that if you “reply” again when you were the last to “talk”, you “contradict” yourself, so you lose points. In terms of this game, this means double-clicking is punished, you need to be alternating presses between the two players. The point of the game is to trick the other player into double-clicking, so that you can get ahead in the race for maximum score.
The game was playtested during the jam, the players generally liked it and some suggested turning it into a drinking game, which I think it’s a cool idea.
The browser version supports gamepad controls: just plug 2 gamepads, one per player. If you don’t have gamepads, you can use the keyboard: left player uses the “A” key, right player the “L” key. But part of the point of the game is to psychologically trick the other player into double-clicking, therefore physical contact is not allowed, nor touching the other player’s button.