Finished GamesThis Mortal Coilby Sam____Download
- Announcement postGunpowder's Kissby NiallMDownload
- Announcement postWhat's this?
A game jam where every game is network aware and responds to (and transmits) the exact same set of Open Sound Control messages. A shared network protocol means that all the games made for the jam can be hooked up to each other, with chaotic, unpredictable, and exciting! results.What's Open Sound Control?
OpenSound Control ("OSC") is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology
Essentially it's a very simple means of communicating over a network. Although it was designed primarily for audio applications the specification is very open-ended, and can be used for almost anything.
The specification can be read here
.What are the rules?
Every game must respond to and transmit the same set of OSC messages. These messages are:
(where X is a number 0..7; i.e. your game should be designed so that there are 8 networked entities of some kind, in addition to the player)
All messages should be made up of one of the above addresses and a single float value, normalised to 0..1. Messages can be sent individually or as part of an OSC bundle.
The jam will start on August 17th and finish on August 24th, but the dates are flexible. If you need more time, take it!How do I?
Depending on your tool/language of choice, the biggest hurdle may be implementing the OSC protocol. To simplify things, I've put together a simple lua project which will receive and transmit OSC messages, based on my own 2d game engine:Download it here
for more information about it)
If you'd rather not use lua, here's some OSC libraries which might be useful:
Alternatively, if you have access to sockets for networking, you could always code your own OSC implementation. The specification
is not particularly complicated, and you could ignore the parts that we're not using for the jam (timetags, data types other than float etc.).This Part's Optional
I've written a combined game launcher and patcher for the jam, to make it easier to setup games and route messages between them. If you want your game to play nicely with the launcher however, it does impose a couple more requirements on your game. See this post for details.Download the launcher here[original post follows]
Prompted by this game
by Chris Novello, I want to host an Exquisite Corpse Open Sound Control
The idea is that we each (separately) make games that transmit and respond to a common set of OSC messages, and then connect them all together and see what happens
For now I'm going to leave the details up for discussion, but here's my thoughts:
- The first thing to do is settle on a common OSC address structure so that we don't need to rely on intermediary programs to translate messages from one game to another.
- Chris Novello's code-bending FAQ offers some useful suggestions.
- I'm in favour of making the addresses as generic as possible, so something along the lines of /trigger, /setPosition x,y,z, /addEntity etc. I'm open to suggestions.
- We should probably have a list of OSC resources here. I have a fairly robust c++ OSC lib I could make available, but I'm sure there's plenty of other options out there.
- Of course, the use of OSC means the games could be hooked up to all sorts of other things. Using something like Duration to record and playback a speed run, for example