CS/INFO 3152: Introduction to Computer Game Development

Assignment 12
Alpha Release

Demo: Monday, April 11th at 10:10 am
Due: Saturday, April 16th at 11:59 pm

Your third presentation is your alpha presentation. This is an extremely important presentation, and should be thought of as your midterm. Naively, alpha should be your game completed without any content. More concretely, we expect the following two things from you: a level editor and one (small) complete level.

By now, you should be familiar with the role of a level editor in game development. We are not expecting a fancy GUI, but simply hand-editing XML or JSON files is not desirable either. We want something that allows you to visualize the game layout. The features of your level editor will be a significant portion of your presentation; we expect you to be able to modify a level -- adding or removing challenges -- on the fly.

With that said, it is not enough to add new challenges in class. We want one level created ahead of time. This level should be carefully thought out. It does not need to be an introductory or tutorial level; it can be an intermediate or more advanced level so that you can show off a lot of features. We also are not expecting it to be particularly balanced. However, it should have clearly identifiable challenges, and should show how your game mechanics are used to overcome these challenges.


The Level Editor

Level editors in this class range from the fancy to the minimalistic. We only have one requirement: the level editor must allow you to visualize your game layout. That means you should be able to see the layout of your level, click on spot, and lay down a new challenge or piece of terrain in that spot.

The last designer lab required the designers to create a level for the flash game PyroKid. This game has an online level editor for you to play with (you can also read the instructions for the designer lab). This level editor is a good representation of what we expect in this course. There is a button for every major gameplay element, and the designer can click to add it to the screen.

For some of you, we have commented on the importance of AI in your level editor. This particularly true of strategy and stealth games. See the slides on data-driven design for how to fit AI into level design. We are not expecting a complete scripting language. But a drop-down box that allows you to chose between canned behaviors is a very good thing.

Finally, the level editor does not have to be in Java. It can be written in Flash, HTML (as a web application), or in whatever format you want. The only requirement is that the level editor produces a file that can be read in by your game engine. This is the data file that you specified in your architecture specification.

In presenting your level editor, the key thing that we will be looking at is the challenges that are currently supported. While you may add new challenges to the game later, these challenges should define the core elements of your gameplay.


Third-Party Level Editors

With the move to LibGDX, there are a lot of third-party level editors out there. There is both Overlap2d and VisEditor. While it has a lot less features, the terrain editor Tiled works across multiple platforms. You are free to use them (with an important restriction), but you may find them a lot of more complicated to work with than you expect.

The number one rule of third-party tools is that you may not use the runtime-libraries. Runtime-libraries automatically load the files into code for you. First of all, this violates an important learning objective for the course. But more importantly, runtime libraries force you to accept their software architecture over your own, which is beyond unacceptable. So if you use a third-party level editor, you must write your own code for reading the output files and converting the result into code.


Class Presentation

The demonstrations for alpha are a bit more involved than the previous ones. Alpha demonstrations are expected to take a full 15 minutes, including questions from the audience. In the past, we have asked for an accompanying (Powerpoint) slide presentation. However, because the level editor is enough work in its own, we will delay that until the beta presentations.

With that said, we do what you to be a bit more structured in your presentation this time. Your presentation should proceed as follows:

  • A 5 minute demo of your level editor, identifying your current challeges.
  • A quick demonstration of you playing a short level made in class.
  • A 3-5 minute demo of your completed level made before class.
  • A 5 minute question-and-answer session with the class

As part of your presentation, you should be prepared to answer the following questions:

  • What do you consider to be the core mechanics of this game?
  • How have these changed from your original proposal?
  • How does your level editor help you visualize your level layout?
  • What were your greatest difficulties in making it to alpha release?
  • What are your plans for the first beta release, particularly regarding level design?

Presentation Schedule

As you can see from looking at the calendar, this presentation will now take place over three classes days: the Monday and Wednesday lectures and the Tuesday lab. This is to give us enough time to cover the presentations. Instead of the four presentations per class that we had with the prototypes, we will drop to three presentations. We will repeat this format for beta release.

So that know when to bring your demonstration, the presentation schedule is as follows:

Monday (April 11)

  • Intertidal (Shoal Storm)
  • Luxophobia (Brought to Light)
  • Serendipity Productions (Fara Heim)

Tuesday (April 12)

Section 201 (11:15-12:05)

  • Tempest (Sync)
  • Magic Studios (Deserted)
  • Team Ramen Studio (Sandglass)

Section 202 (12:20-1:10)

  • Matchbox (Aiden)
  • SmokeStack (Cavern Crawlers)
  • EleventhKnight (Teddington)

Wednesday (April 13)

  • The Beige Gang (Mount Sputnick)
  • Blueberry Gloom (RoboControl)
  • Game Brigade (Downstream)

Submission

Due: Saturday, April 16th at 11:59 pm

Once again for this assignment, we ask you to turn in your prototype. This should be a rough snapshot of your game. In particular, we would like an executable JAR, though you are welcome to send us the whole project if you wish. You should gather all the necessary files for your prototype and zip them together in a file called alpha.zip before submitting.

In addition, you should not forget to turn in your third two week report. This will allow us to see how you are organizing you time, and make suggestions for future milestones.