Archive for November, 2010

Hot Co-op Blob Multiplayer or: How I Learned to Stop Worrying and Love the Blobs

Tuesday, November 9th, 2010

Graham here again, to talk a little about co-op multi-player in Tales from Space: About a Blob.

Co-op platforming games are not too common, however it does seem to be becoming more popular in recent years. Some newer games such as N+, and Little Big Planet show that there is alot of potential for fun co-op in platforming games, and it was something we were always keeping in mind for Tales from Space: About a Blob.

"I'll just be over here eating this corn"

Other than the initial few days of Blob prototyping, the only other time I had any space cycles available to code on the project was when we began experimenting with local multi-player. Getting the initial code in for local multi-player was pretty easy (much of the foundation was already in the engine when I started), but it raised a lot of new questions and problems, some of which the team spent months experimenting with different solutions. How many players should there be? How should checkpoints, death, and re-spawning work? How should the game camera behave? Should we try to keep all players on-screen? Should players collide with or pass through each other? Can players hurt each other? How can we inspire competition between the players? Some of these questions do not have simple or obvious answers.

"Tasty Humans are Tasty"

Another consideration was game performance. The simulation of Blobs interacting with each other can be pretty computationally intensive, and the more Blobs we had the more expensive this would be. We found that just making it so that the players pass through each other was an easy but unsatisfying solution. It’s a lot of fun to interact with the other players, allowing a friend to jump off you to reach a higher ledge, or even “accidentally” pushing your “friends” into a pit of toxic waste. Chris spent some time working through these issues using various different techniques to try to simplify the complexity of how our Blobs were interacting with each other.

"There are Blobs in my backyard!"

With colliding Blobs in and working well, we finally settled on 2 players as the sweet spot for the game. With 3 or 4 people in the game, players were constantly interfering with each other causing death, which was often more frustrating than fun. The recent New Super Mario Bros Wii suffers from the same kind of issues, where players can inadvertently kill each other very easily.

"Wait up Bro"

We experimented with trying to keep all players on-screen by making the edges of the screen “hard” and not allowing players to leave the screen. This created a bunch of interesting side effects, like players not being able to fall off the bottom of the screen (the bottom of the screen would hold them in the air), or players getting themselves trapped as would sometimes happen in the classic game Gauntlet. After playing with this for some time, we finally settled on an approach similar to how Little Big Planet solves the problem. We now allow players to go off screen, starting a countdown timer when they do. If the timer expires before the player can get back on to the screen, the player dies. We try to prevent this from happening as much as possible by zooming and positioning of the camera.

Green Blob about to Die! T-minus 2 seconds

I’m happy to say that after a lot of trial and error, co-op with a friend is one of the most fun ways to play the game now. I’m really looking forward to playing with friends at home when the game is released (you’re going DOWN McQuinn).