Assignment 5: Game Engine Review

In this assignment, you will perform a critical review of a commercial game engine other than Unity. This will help you:

  • understand the features that at least one other game engine provides
  • understand the different ways in which similar functionality is provided differently in different engines
  • understand the trade-offs that game engines must make.

Overview

In this course, we have explored game engine-level support for common game development tasks such as pathfinding, AI behaviour, networking and physics. Our examples have been largely illustrated through features of the Unity game engine, and code we have written around Unity. To gain a broader experience, in this assignment, you will evaluate another game engine of your choice. The assignment has the following requirements:

  • Implement a very small application using a game engine other than Unity
  • Perform a critical analysis of this engine
  • Present your findings in class.

Unlike other assignments in this course, in this assignment, you are to work in pairs.

Example Game Engines

There are numerous professional-grade game engines that you can consider. I suggest that you pick from the following list. I would prefer to have a variety of selected engines and topics, rather than everyone reviewing the same one, so please discuss choices with your classmates.

  • CryEngine, used to create such titles as the Crysis Series, and Far Cry. CryEngine is particularly well-known for its support for very high-end graphics. You can download CryEngine at no cost here. If reviewing this game, it might be interesting to focus on Flow Graph, the visual scripting language.
  • Stingray is Autodesk's new game engine. Stingray's main novel feature is its tight integration with modeling and animation tools, solving what is often an awkward asset pipeline with other engines. This might be a good choice if you are artistically inclined, or simply want to see the newest thing. It is free for students. If you are interested in the art pipeline, this is a particularly interesting engine to look at.
  • Lumberyard is Amazon's new, free game engine, and is also available free. If you take this choice, you should investigate Lumberyard's support for integration of games with the AWS cloud back-end.
  • The Unreal Engine underlies many games, such as Bioshock, the Infinity Blade series and the Mass Effect series. The Unreal Engine is currently available at no charge. Unreal's interesting features include the BluePrints visual programming language and built-in support for behaviour trees.

Critical Review

Your review should examine key features provided by the engine, such as physics, AI, network handling, scene management, scripting, visual tools and animation. If you are considering a complex engine, you may choose to focus on one or two of these features while giving a briefer overview of the others. In considering where to focus, you may choose to put more emphasis on features which are unusual, interesting and different from Unity's approach.

The review should be critical in the sense that it does not simply enumerate features (as one might find in a manual), but instead evaluates the features' effectiveness. In what conditions does the approach work well? In what conditions does it work poorly? Compare concretely with other engines, notably Unity.

Example Application

Use the engine to implement something simple. This should not be a full game, but enough of a tech demo to illustrate the engine's capabilities (or at least, the capabilities that are of most relevance to the feature(s) you are focusing on.)

Presentation

Each group will perform an in-class presentation of their findings. The presentation should include topics such as the following (not necessarily in this order):

  • an overview of the engine, including its general structure (e.g., visual editor, scripting mechanism) and general strengths and weaknesses (support for AI, networking, etc.)
  • a demo of the application that has been built
  • detailed review of one or two specific features of interest (e.g., visual scripting language, interesting support for path-finding, interesting FSM mechanism), including critical comparison to other engines, notably Unity

To Hand In

Using OnQ, provide a hand-in consisting of two parts: (1) Your slides from your presentation in class, and (2) your application built using the engine, as an executable.

The slides should be formatted in PDF.

The application should be a stand-alone executable that I can run on my computer (MacOS or Windows acceptable.) This may be uploaded to OnQ, or you can provide me with a link to a file sharing service such as OneDrive, Dropbox or Google Drive. Ensure that the executable is in the form of a zip file, and that all necessary files are included. Test this by downloading onto a computer where your demo has not been installed before.

Evaluation

Your assignment will be graded out of 10 points, with 5 points for the slides and 5 points for the application. In addition, your presentation in class will be graded out of 5 points. The following criteria will be used:

  • Is your application in a file or folder named appname-lastname1-lastname2, where the two last names are the members of your group? Please note that this is very important to allow me to keep track of whose application is whose.
  • Have you clearly provided the big-picture view of the engine, in terms of what features it provides, what problems those features address, how applications are structured, how the engine appears to developers?
  • Have you isolated one or two features for in-depth discussion? Are those features clearly explained, including their motivation and functionality?
  • Is your review critical, in the sense of explaining positive and negative aspects of features, and comparing to Unity?
  • Does your review show concrete examples, not just bullet lists of features?
  • Are architectural features shown diagramatically?
  • Is your presentation clear, and well-timed? Are questions answered clearly? Do both people in the group present and show mastery of the subject?
© 2019 Nicholas Graham