We’re all in the roguelike business, so failure is not only expected, it’s FUN!
Now that the challenge is over, please take a second to go to 7drl.roguetemple.com and update your game status (assuming you registered it there).
The current breakout I see is:
118 Finished (!!)
118 still “Working on it”
I’d love to see most of that last 118 “Working on it” get flipped to success. I suspect many will ultimately be “run aways”. With this many games, odds are no one is going to try your game unless you go and mark it as ‘finished’.
Note that once you click on ‘Edit’ and enter your password you need to scroll to the bottom of the page to edit the actual game info.
The game is asynchronous co-op, which means you can play by yourself, at your own pace. But if you have a partner logged in to the same game, you can help each other, trade items, chat, share knowledge, etc.
For example you can give a potion of health to your ally, or warn them that a “bubbly potion” is actually poisonous. You can also shoot a fireball over or use a warcry to scare monsters away from them.
More to come soon, I will write some kind of ‘how to’ guide later today. For now, please enjoy discovering it all yourself. 🙂 I am way too burnt out.
A very successful day 3. Thanks to some play testing from the #rgrd IRC channel I was able to get the basic co-op mechanic working. Right now 2 players can play the same game across different browsers, and your progress will get updated on your partner’s screen.
So, two exact same dungeon instances (level seeds are pre-generated), but two totally separate games. The split screen seemed a bit noisy at first, but I came up with a much nicer updating schedule that takes into account that most turn-based roguelikes are played in a “rush, rush, wait” manner. It will try not to needlessly spam the screen if your partner is in the middle of a furious dash.
In the game, the evil TIME MASTER has shattered reality inside the CAVES OF CHAOS. Every adventurer that enters arrives in their own splintered instance of the cave, but their companion is nowhere to be found, reduced to only a flickering echo. Out of the corner of your eye, you can catch ghostly flashes of your companion and the monsters she is facing.
Your companion has the exact same dungeon to deal with. But if you are brave enough, you can help her overcome the odds, and vice versa.
Up next for day 4: re-adding monsters, and coming up with with my “co-op sync” formula which will determine the effectiveness of co-op abilities. The farther away you are in TIME and SPACE will decrease how much you can help your ally. I haven’t figured out an exact formula for this yet but it will look something like:
S = sqrt((2D-distance)^2 + alpha*(Turn Differential)^2)
Where alpha is some factor that allows for maximum “fun”. I want players to be able to play by themselves if they want, but be subtly nudged to wait up or catch up to their friend.
Basic single-player game is working, thanks to gutting some existing code. Player can walk around and do basic inventory stuff – apply, equip, drop, remove, throw.
Monsters also mostly work, although I broke the flying mechanism at some point.
More importantly, the game is being hosted through my django web framework, so that game seeds can be stored and grabbed. This way every game with the same seed will generated the same levels, which makes a lot of the “sync” part of “asynchronous multiplayer” easier. (I hope? ROT.js has a built-in RNG engine so this should be cross-browser compatible)
Up next is getting the game to talk to websockets. THEN we can worry about talking back… and then there’s the whole “second player” thing. 🙂
Finally got around to starting my 7DRL — DUNGEON DUAL — on Sunday, around 11am Eastern. I am trying to focus on a FUN multiplayer/co-op implementation so I spent most of the day doing networking stuff, getting a tornado websockets test working, and setting up a basic django framework where users can login and start games.
For the game itself I am mostly gutting some robocaptain code that uses ROT.js and CoffeeScript.
I hope 7 days is enough time to make both the game itself and the co-op mechanic fun, but we’ll see…. goal for today will be to have the simple game talking to websockets 1-way. 2-way sync will likely take a few days. And then I will have Friday/Saturday to finish up the actual game mechanics.
I also discussed it a bit on reddit, and you also may remember the game name from last year, which failed miserably. 🙂