Sunday, December 11, 2011

ESE and Karts for Kids: Success!

The End of Semester Expo and Karts for Kids were both highly successful, thanks to everyone who came out! Stay tuned for some info about the games that we made this semester...

Thursday, December 8, 2011

ESE and Karts for Kids

Need a study break? Join the SGD on Sunday for our end of semester expo! Come play four games created by students over the last semester, and while your at it, prove you worth by out racing everyone in a SGD and ACM sponsored Mario Kart Tournament. Entrance to the tournament is just $10, and all proceeds go towards benefiting Child's Play!

The event will be held:
Sunday, December 11th from 11am-2pm
in Thornton D221

If you want to donate using a credit card you can do so using the widget below. All money collected here will be sent directly to Child's Play without going through us. All we will see is the name you enter so that we let you in to the tournament. In order to enter you will need to donate at least $10.

Sunday, November 13, 2011

Mid Semester Update

It's (more than) half way through the fall semester, and that means projects are starting to get playable and move towards their final state for the ESE. We had our mid-semester expo a couple of weeks ago, so I thought I'd give an update on where the projects stand so far.

- Kinect Pong has made good progress, and are now reading in a moving skeleton from the Kinect and letting you bounce a ball back and forth off a wall.

- Sequence has a test level going where you can match and extend the pattern that the game gives you.

- Marblematic has a working 3D scene using the Ogre3D graphics engine, with some great lighting and shadows. Next up will come physics and track building mechanics.

- Beat Descent has beat detection working and lets you fly around a test dungeon while playing random tracks off of your computer.

- Node Defense has a working tile engine and some basic tower mechanics set up.

Friday, October 14, 2011

Mid-Semester Expo

The Mid-Semester Expo has been scheduled for Wednesday, October 19th at 6pm in Olsson 120. Come to see the progress of the 5 cool projects!

Friday, September 9, 2011

XNA Crash Course

On Tuesday we hosted a tutorial session for Microsoft's XNA Game studio.

You can download a recording of the session here, and the code sample from the presentation here.

To use XNA you will need the following, which are both free/free for students:

Sunday, August 28, 2011

Pitch Meeting Scheduled!

The pitch meeting for the Fall Semester has been scheduled for Tuesday, August 30th at 7:00pm in Olsson 009. Come out and see what we're going to work on this semester, we have 5 great projects in store for you!

Thursday, April 14, 2011

iPhone App Development

Games for the iPhone and iPad have been very popular in the last few years, so for those looking into developing a game for an iOS platform, here are some concepts to think about.

-The language used in iOS development is Objective-C with Cocoa. Whether or not you like this language, there are quickly increasing number of tutorials of how it works.

- In order to develop iOS games, you'll need a Mac (sorry PC-users) and Xcode, the IDE for creating iPhone, iPad, and Mac applications. Xcode is a great IDE that comes with an interface builder and one of the best developer documentations around. You can either buy it from the Mac App store (about 5 bucks at time of writing) or you can download it for free if you are a member of the iOS or Mac Developer Program (which is $99 a year and allows you to distribute the game through the store).

- iPhone App and Game Development relies heavily on the Model-View-Controller software architecture, which divides programs into three parts:

-- Models- These are abstractions of data or data structures. For games, some examples of this would include characters, items, enemies, and levels.
--Views- These are the physical representation that the user sees. The art and animations of what was listed above are good examples of views as well as the menus and help screens.
-- Controllers- These link the actions of the user to the program. The models and views can be changed based on what the controllers detect from the users.

The controllers is probably the hardest part to grasp for a new iOS developer. It is a lot more than writing code for when a player presses a button. Everything on the screen inherits from the UIView class, and each of these can have a ViewController. If the player rotates the device, a ViewController is responsible for managing how the screen flips or adjusts. If the player presses on an enemy, the enemy's ViewController reads this and alters the enemy accordingly.

This should be enough for a good start in developing for iOS.

Wednesday, March 2, 2011

T-Cubed Update

T-Cubed for Xbox Live Indie Games is coming along pretty nicely. So far we've added a number of new minigames, a scoring system, and support for avatars. We've also ported the game to the Xbox 360 (although this video is for the PC). From here we'll continue adding minigames, as well as improve the overall polish and balance.

Saturday, February 19, 2011

The Onion Development Model

Everyone who's been in SGD for more than a year has seen or been on a failed project, and most every repeat director has had at least one dud in their history. There are a number of different reasons for this:
  • Director is lazy or distracted
  • The development environment sucks
  • The project idea fails to motivate people to work hard
  • The project is reliant on a single feature or person
  • Project has too large of a scope
When preparing to compete at the 2011 Rosetta Stone Game Jam, we started thinking about ways to mitigate these problems on a 36 hour scale. Frankly, an SGD project also condenses into about that scale over the course of the semester. We felt we had pretty good methods of dealing with the first four issues. So, we looked for a way to ensure success despite the 5th one.

We say despite, because in our experience there is no such thing as a project with a perfect scope. The onion model accounts for that, and allows the project to succeed regardless. Basically, you start with the smallest possible vision of your game that would still be playable, fun, and still "your game". So if you were making a space shooter, you would say that your onion was flying around, firing and destroying enemies.

With the onion, you don't spend any time on any aspect of the game that does not fall into the core of the onion until those parts are complete. For example, you wouldn't work on enemies shooting back at you, or multiple types of AI, until all those basics were in.

After the core of the onion is complete, you designate a set of features as the next layer and repeat the process. This guarantees two important things. First, if your project is cut off (such as at the End of Semester Expo), you are sure to have a fun and playable game. Secondly, you ensure that the features most important to your game receive the most testing, polish, and attention.

If there's a small problem with your firing code that causes the game to crash 1% of the time, if it's added at the end, you may never see the bug. But if it's added first, you'll be sure it gets the testing it needs.

The Onion model may or may not make sense for larger project, because the engine needs to be ready to accommodate the small features from the beginning. However, we think that for SGD it is a great way to secure a good showing by the end of the semester.

Wednesday, February 9, 2011

Galaxy Raider Spring Semester 2011 Update #1

Galaxy Raider, SGD's epic 3D air/space fighter game, is off to an exciting start this semester. During the last semester, many of the core mechanics were implemented and now the team is working hard to improve and add to the existing content and codebase.

Started as a year-long project, the Galaxy Raider team is still going strong after a rough first semester, with some returning and even more new members, we can expect great things from Galaxy Raider this year. Initially using a previously programmed 3D graphics engine and terrain editor as a framework, the Galaxy Raider team began the work of building a complete game last semester.

Previous Content:
-Physics and player movement
-First weapon and damage system
-Player Ship model
-Original Music
-Original Storyline

Over winter break and during the last few weeks, Galaxy Raider has continued to progress and add new features, some of which are listed below.

New Feature List:
-Auto-targeting laser weapon
-Early stages of a particle engine
-Some basic AI
-Main menu system
-Optimized game engine

Even more features are yet to be added, stay tuned for future updates from Galaxy Raider and the rest of the SGD projects.

Sunday, February 6, 2011

The Flat Red Ball game engine

Flat Red Ball is a game engine for games developed in XNA. Currently 2 SGD projects – Moves and Virtuoso - are using the engine in their projects, and one other – Colors – used it last semester. It has also been used for projects such as the Android version of Steambirds, a popular game originally developed in Flash.

One of the biggest advantages to FRB is the automatic inclusion of input methods and collision detection. Normally it is fairly difficult to handle input and collisions (especially collisions) in XNA. Flat Red Ball makes it much easier to process input from numerous methods (such as the keyboard and Xbox gamepad), as well as not only detecting collisions, but reacting to them. This makes it much easier to set up the basics of a game and getting into the meat of the development.

Another big advantage to Flat Red Ball is the amount of tools for content creation. FRB has numerous tools to create sprites, animations, tiles, and levels. This makes it much easier to integrate this content into the game – creating a level in the level editor makes an XML file with all the data, which is then read into the game.

From a programming standpoint, FRB provides two main structures, Entities and Screens, to manage all the parts of the game, as well as a way to organize these structures, known as Glue. Entities are basically FRB’s definition of an object; if there is logic for an in game object, it is an entity. The biggest difference is the inclusion of a manager, an automatically created object that handles all of the entities added to it. Screens are exactly what they sound like – objects to hold all the data in any given “screen” in your game (such as the menu, level, etc). You use screens to add all the objects and entities to the game, as well as manage some of the logic necessary for the objects in the screen to interact. Glue is an IDE much like Visual Studio, but designed specifically for FRB. It makes adding and editing entities and screens much simpler than just doing it straight from FRB, though it is not necessary to use the engine.

All of these extra tools, however, come at a cost. While entities and screens are quite useful, it definitely makes the learning curve for FRB very steep. In addition, all the extra tools are completely separate applications, not one big one. Each of these applications works differently, and each one is integrated into the game in a different way. The result is a fairly clunky combination of tools that are fairly difficult to use all at once, even if they simplify the individual components greatly.

To download the FRB engine, or to get more information on what FRB can do and tutorials on how to do it, check out their website at

Friday, February 4, 2011

Internship Opportunity -- TeeGee

Last night Tom Giedgowd, a student at the Darden School, came by to pitch some internship opportunities for his startup company developing customizable teddy bears.

Check out the presentation for more info on the opportunities, and send any questions or applications to

Tuesday, January 25, 2011

Spring 2011 Pitch Meeting

Join us for the first meeting of the semester. The Spring 2011 Pitch Meeting will be held on Thursday, January 27th at 5 pm in Olsson 009. Experienced members of the club will pitch five new projects with positions available for programmers, artists, designers, and musicians. If you're not currently a member of the club, this is a great opportunity to see what we're about and get involved in making games. If you're already a member, make sure to try to make it as well, because this is you're best chance to see what projects we'll be working on and to get in on a team.

Tuesday, January 18, 2011

SGD Team Places at Rosetta Stone Game Jam 2011

This winter break, a team from the Student Game Developers attended the 2011 Rosetta Stone Winter Game Jam and took 2nd place in the student division for their game Doodle Defender.

The three students were each awarded a MacBook Air and a 1-year subscription to Rosetta Stone TOTALe. Their team, Cornflower Blue, consisted of third year Computer Science majors Nicholas Loffredo, Andrew Gaubatz, and Daniel Epstein. You can check out a video of the game in action below:

The challenge was to develop a game themed around "exploration", "layers", and "ink" in 36 hours. 11 teams in all participated with 6 teams in the professional division and 5 in the student division.

For more information on the competition and the other winners, check out the official press release.

Although this organization has members who are University of Virginia students and may have University employees associated or engaged in its activities and affairs, the organization is not a part of or an agency of the University. It is a separate and independent organization which is responsible for and manages its own activities and affairs. The University does not direct, supervise or control the organization and is not responsible for the organization’s contracts, acts or omissions.