Wednesday, October 21

Game from a Frosh (Woo!!), MIGS + Game Jam news

Logistics first:
We've settled on a hotel for the trip to the Montreal International Game Summit (MIGS). The good news: it's a sweet hotel, and is about half a block from the conference center. The bad news: it's gonna be about $135 per person (for the 2-day stay). Ouch. The price crept up fast: $100 for the hotel, +tax, +parking. On the other hand, I'm looking forward to staying in a hotel room larger than 10x10x10 ft with bunk beds stapled to the walls. MIGS is November 16-17.

We're hosting a Game Jam the day after Halloween, November 1st!! Show up, find the theme, and partake in some hangover coding! Should be an interesting showing.

Game from a Frosh!
Adam, a new Freshman member of the club, showed his progress on his game "Catmouse," a 2-player top-down chase-and-kill game. Woo! Of course we're stoked to be seeing a new project from a Freshman -- more of that! Adam distributed the game to the club on a flash drive and had members pair off to test out the game. Generally, we gave him the feedback that the balance was still a little off, very biased towards the mouse; other than that though, it's looking great, especially for just a few weeks of work from one dude! Well done Adam!

OMFGTTRPG TIME!
Justin (TM) ran a small tabletop RPG today; a good time was had by all! Or so it seemed, judging from the shouting and jumping coming from that corner of the room.

Thursday, October 15

Chris and his Black Box: A Night with Python

In our ongoing efforts to welcome new members and arm them with some tools they might employ to create their own games, we tried a new activity last night: Chris (aka Southpaw Hare) created a small shell of a Python game, where you select what kind of bullet, target, and explosion you want to use. Lo and behold, the game begins and prompts you to shoot your chosen bullet at your target-box-blob-DeathStar-Cow-HowardDean-thing, and it explodes with not-so-predictably hilarious results.

This activity was designed to introduce members new to Game Development to the concept of The Black Box, or, more textbook-like, modular development. Members wrote new definitions for bullets, targets, and explosions in simple Python files, and just imported them into Chris' base code (without any knowledge of how that base code works) to create new functionality in the game. This activity encapsulates, on a small scale, how a larger-scale game would be put together: one programmer writes the physics, another writes the display, another writes the movement controls, each module treating the others as 'Black Boxes': knowing only the input and output, not having to worry about the specific implementation. When brought together, these modules create a game.

Hopefully, new members, namely those who might be intimidated by the scope of creating an entire game, can now expand the concept of the Black Box from this activity to their own projects, and think about how to design the game as a series of connected components.

Happy component-plugging!!

Fig 2: From time to time, you'll find yourself with many components.

Stack of Pancakes


I'm SO happy to meet you. This is the Game Dev Club Blog. We Build Games here.

Thursday, October 8

Project Update: "Needlemouse: The Emerald Hills" (Jono) / 3D Art

Jono talked forever tonight about the game he's working on, Needlemouse: The Emerald Hills. To condense, he talked about:

The Art
Jono showed the club the first glance of the in-game level art. Here it is:
Someone clearly had a headfull of acid last time he played Sonic.

Prototyping
It's kinda a big deal. Without prototyping, you don't know if your game is really as great as you think it is, or if it's utter crap. A prototype is a super-simple version of your game, or an aspect of your game, for idea-phase testing. Build prototypes constantly, always try out new features, expand on those that work and are fun, and throw out those that don't work and suck. Prototyping is the difference between a game that is fun and effective and a game that isn't.

Communication
You can't build your dream game all by yourself. And even if you can, you'll still need to be able to communicate effectively with team members in the game industry and in life in general. Good communication tools are paramount to pulling off a big project. Jono recommends Google Docs (soon to be obsoleted by the upcoming Google Wave, which his lucky team has been using), Subversion / Git / some version control system, and Skype.

3D Modeling
It's pretty much just three tools:
  • Extrude Face / Edge (for creating new chunks)
  • Insert Edge Loop (for adding detail to an area)
  • Split Polygon (for redirecting edge loops)
Good polyflow is the most important part of modeling; with it your models will be low-poly and easy to work with. Without it, your models will be bloated and cumbersome. Here are two polygon redirection patterns which will make your models easy and efficient:
Fig 2: Redirecting around two edges; redirecting around one edge. Good polyflow puts detail where you need it.

Jono's project can be followed at Needlemouse.com.

Btw, this post written by yours truly, in the third person. We wouldn't actually rip on a member showing their work (unless they're an officer... in which case, fair game! ;-)

Wednesday, September 30

Game Cabinet, Project Update (Franklin), Code Tuts

Last week, Evan talked to us about the Game Cabinet, a Windows-based arcade machine in the Union to show off Game Dev games. To get your game working on it, you have only to install your exe on the machine, provide your author etc information in an XML document, and set your game's keyboard controls up with the cabinet's settings. Talk to an officer to get the details on the key bindings and XML format.

We also heard from Franklin, who gave us an update on his helicopter mining / digging game. He's planning on submitting it to a few competitions, with the deadlines approaching in three weeks. Since last time we saw it, the game now has a functioning store, and boundaries on the world, thanks to feedback he had received from club members and outside testers (testing & feedback == very important!)

Dan gave us a high-level tutorial on collision detection theory, using a method of projecting 'shadows' of objects onto axes perpendicular to the polygonal face being checked. He also discussed how to check for a collision between frames (for example, a bullet which is on one side of a wall in the first frame, and on the other side of the wall on the next frame -- of course this must register as a collision, even though no frame has the two objects colliding).

Chris gave a brief word of wisdom on loading grid data from a text file -- for example, loading a 2D map from a file which has rows and columns of 1's or 0's for wall or no-wall. The problem is that loading [row, column position] from a text file (aka reading normally, top-to-bottom, left-to-right) to your map array as [x,y] will reverse X and Y. So, you must switch your nested reading loops to make the program read [y,x], which, when reversed, will give you the correct [x,y].

Tonight, Andrew gave us a more detailed Python tutorial, including drawing to the screen and basic movement, and Justin let us in on a few of his techniques and algorithms for creating procedural maps. (Gentlemen, feel free to provide some more substance to this meek little mention, my notes are non-existent and my mind is failing me. Face-palm!)

From what I (Jono) hear, apparently Thomas, Russell, and Ben also showed their Project Needlemouse (projectneedlemouse.com) at some point, while I was too busy with my weekly Wednesday tacos and rum (it can't be stopped, not even by the pressing duties of the Secretary). Their game is a mock of my Needlemouse, and has garnered them some interesting attention:
  • They received the best comment the internetz have ever spewed forth: "Tails looks like an abortion."
  • The game was featured on Joystiq, and declared "likely less of a disappointment than Sega's upcoming Project Needlemouse"
  • The gents got a contract Flash game offer out of it. How is a mystery to me. But congrats.

Wednesday, September 9

First Meeting Madness!

The first meeting was a madhouse! And by madhouse I mean madhouse of awesomeness! Six returning members gave brief talks about different aspects of Game Development:
  • Thomas talked about Flash Game Development, and showed his new game Bullet Taker.
  • Z and Andrew talked about Python, and showed some of their games.
  • Jono talked about 3D Art / Maya, showed his recent professional work, and announced his new game Needlemouse: The Emerald Hills.
  • Franklin showed us Unity, and presented his new Digger game.
  • Ben showed off Game Maker, along with one of his Game Maker games.
Of course, come to a meeting and talk to the respective presenter if you want to learn more about his field of expertise.