Game Design and Development 2 is an in-depth course about Game Development. It covers selected topics such as AI in Games, the Game Design Process, Game Assets and Photogrammetry, Procedural Content Generation, Data Analytics and more. We recommend attending Game Design and Development 1 before this course.
The course consists of interactive presentations, guest lectures, individual assignments and a group assignment where you design and implement your own game.
This semester most of the lecture will be held online. The lectures will be streamed on Twitch, and discussions will take place on Discord. If possible, some tutorials will be held at university.
This table shows when lectures are held and submissions are due. This semester’s schedule is subject to change, some dates will be updated based on current circumstances. The Videos of GDD2 (2020) are available here: https://www.youtube.com/watch?v=uYP9FAuj30M&list=PLMn67nXFsPMBWvZsQmvPZPsZdmFtRqY64
|2021-03-17||[Lecture 0] Course Introduction, Recap (Slides)|
|2021-03-24||[Lecture 1] Photogrammetry (Slides)|
|2021-04-14||[Lecture 2] AI for Game Design Part 1 (Slides)|
|2021-04-14||[I-00] Say Hello (Submission)|
|2021-04-14||[I-01] Photogrammetry (Submission)|
|2021-04-21||[Lecture] AI for Game Design Part 2 (Slides)|
|2021-04-22||[G-01] Group Registration, Game Idea (Submission)|
|2021-04-28||[Lecture] QA (Slides)|
|2021-05-05||[Tutorial] Saeed’s Blender and Unreal Introduction Part 1 (Video)|
|2021-05-05||[I-02] Juiciness (Submission)|
|2021-05-12||[Lecture] Topics TBA|
|2021-05-19||[Lecture] Topics TBA|
|2021-05-26||[Lecture] Topics TBA|
|2021-06-02||[Lecture] Topics TBA|
|2021-06-02||[G-02] First Prototype (Submission)|
|2021-06-09||[Lecture] Topics TBA|
|2021-06-09||[G-03] QA Feedback (Submission)|
|2021-06-11||[G-04] AI Topic, Group Summary (Submission)|
|2021-06-16||[Lecture] Topics TBA|
|2021-06-23||[Lecture] Topics TBA|
|2021-07-02||[G-05] Full Game (Optional Submission)|
|2021-10-01||[G-05] Full Game (Submission)|
[I-00] Say Hello
Say hello on Discord! Let us know who you are on Discord by telling us your username in TeachCenter. Don’t forget to update your info in TeachCenter if you decide to change your Discord username during the semester. You can also use your first or full name as nickname for the Discord server if you want to.
Create a 3d-model from a real object. Preferably find a statue or other cool object at or around campus inffeld. If you find another interesting object somewhere else, you may create a model of that object. Create a document that contains screenshots of your object, you may also include info about your 3d-scanning-process, or pictures of funny failed attempts. All details can be found here.
Upload your document (i01-<your-matriculation-number>.pdf) and your 3d-model (i01-<your-matriculation-number>.[blend/obj/fbx]) in a format that can be opened by Blender 2.9x to TeachCenter within the deadline in the schedule.
Optional: Upload your model to Sketchfab, tag it with ‘tugamedev’ and submit a link to it in TeachCenter. If your model is not downloadable on Sketchfab, make sure to upload the model to TeachCenter as well.
Have a look at the talk Juice it or lose it by Martin Jonasson & Petri Purho and get inspired. We prepared a (rather minimal and barren) game inspired by classic arcade games. Your task is to make it juicy. You can add a selection of effects mentioned in the talk, such as color, easing (movement, scaling, …), animation effects, sound, particles, or camera shake. Feel free to get creative, you are not limited to the options in the talk, turn the game upside down, make a controller rumble, you name it! But remember, while you are allowed to change almost anything in the game, don’t change the fundamental mechanics of it, the game should still be recognizable as the same game. The goal is to make the game very juicy, but still keep it playable, in other words: Try to find a great amount of effects, but don’t overdo it!
Optional (bonus points): Overdo it! After finding and selecting effects that make the game very juicy but let the player stay sane while playing place a button somewhere in your game. A press of said button should juice things up to the next level.
Note: The quality settings of the project are set to ‘Ultra’ to make sure that rich effects stay visible in the final build. If you add a lot of effects and run into performance issues in the build you can try to update the quality settings to balance visual quality and performance.
Display your name or matriculation number somewhere in the game or on the page (at least for a few seconds in the beginning).
Once done implementing your game create a WebGL build and create a zip (i02-<your-matriculation-number>.zip) and upload it to TeachCenter within the deadline in the schedule.
Create a page hosting a playable build of your game. You’re responsible for uploading and hosting your WebGL build, we recommend using itch.io or github pages (create a user site if not done already and then create a project site for your game). Share the link to your page in TeachCenter. Feel free to share your link (and test other games) in the public 2021-gdd2 channel on Discord.
[G-01] Group Registration, Game Idea
Form a group of 4-5 people and decide on a game idea that satisfies the details below. If you haven’t found a group yet you can find group members on Discord. Create a document where you describe your idea and tell us about which technologies you plan to use in a few paragraphs. Create a rough effort estimate for your idea to make sure it is possible to implement the idea in this semester. You can also add some sketches. The document can later be used as a basis for your game design document. Also, decide on a fancy name for your group.
Your game idea must be based on a 3d-environment and the game must integrate the 3d-models of the photogrammetry assignment in the environment (creative integrations are allowed). Furthermore, an AI Concept (a list of concepts will be published for G-04) must be part of your game.
Implement a virtual reality game. Unfortunately, we might not be able to provide access to our VR equipment at Campus Inffeldgasse. Nevertheless, design your game with VR in mind. Depending on the regulations we might be able to provide testing possibilities in summer. We recommend using Unreal Engine, especially if one or more members of your group own VR equipment.
Let us know for which VR platforms you plan to develop your game in your game idea document if you have VR equipment.
Optional (Bonus): Networked Multiplayer
Add networked multiplayer functionality. Select a multiplayer type such as player versus environment (or coop), player versus player, or asymmetrical multiplayer for your game. Keep scope in mind, especially certain types such as battle royale come with a lot of optimization and synchronization tasks. Try to come up with a concept that is implementable by your group given the time available.
We recommend using the network features of Unreal Engine.
Alternative Option: Alternative Controls Create a game that does not just use standard input hardware (keyboard, mouse, controller) in standard ways. Instead, design and use an alternative control mechanism. This option can also include some basic networking to connect your alternative inputs to your game. Crafting, DIY know-how and electronics tinkering skills are an advantage for this option. Your creativity is the limit, but here are some examples to give you a feel for what is meant by alternative inputs: Phone: Connect a phone via wifi or bluetooth and use the touchscreen in combination with some of the sensors (gyroscope, accelerometer, …) to control the game. Repurposed peripherals: Use other peripherals such as a microphone or a drawing tablet to control the game. Custom inputs: Disassemble an old keyboard and build a custom controller, or use some components from the maker toolbox to create custom input devices. Raspberry Pi, Arduino, mircropython and esp8266 are good platforms you can use as a starting point for your device.
Topics & Inspiration
You are free to choose the topic of your game. The genre and game type can be freely selected as well. However, your game should be an explanatory game. This means that your game could for example explain a scientific concept, how to cook a meal, how to invest in stocks, how to follow the corona rules, and so on. Creative interpretations of the term “explanatory” are okay.
Keep important aspects such as race, gender, culture etc. in mind.
Motor (e.g. more than one type of input device), Cognitive (e.g. contextual in-game help), Vision (e.g. color blindness safe colors), Hearing (e.g. subtitles), General (e.g. difficulty levels). You can look up more details here.
Create a PDF with the naming convention:
## is your group number, hence group 5 sends the file
First, enter your group in TeachCenter, then upload your file and enter your group name within the deadline in the schedule.
[G-02] First Prototype
Create a prototype according to the topics and guidelines. The prototype should show what your game will look like (e.g. blockouts of levels) and it should demonstrate the core mechanics of your game.
Create a page for your game on itch.io, you do not need to upload a build yet, but add a short description and screenshots that promote your game.
Upload a zip file (
g-02-group-##.zip, is your group number) containing the build to TeachCenter and add a link to your itch.io page within the deadline in the schedule.
[G-03] QA Feedback
Test a game from another group. The QA Strategy section below outlines what to look out for during testing.
Provide a small report (.txt file, or excel sheet) with a list of issues you’ve found:
[ID / Type of issue (1-3) / Description of issue / Severity of this issue (A extremely bad – C nice to have) / Tips for improvement]
#4 / 1 / The game controls are not clear / B / Explain the controls on the start screen
#5 / 3 / Driving into a tree for 100 times crashes game / C / Find root cause for the crash
You should test the player experience, the usability, and QA (alias bugs).
Type 1: Player Experience (Game Design)
- Design good?
- Idea clear?
- Level too long/short?
- Do you understand the game?
Type 2: Usability
- Interface intuitive?
- Easy to use?
- Controls understandable?
Type 3: Quality Assurance (Severe Bugs)
- Test intensively
- Find bugs
Create a PDF with the naming convention:
## is your group number, hence group 5 sends the file
Upload the report to TeachCenter and send it to the the other group via e-mail or Discord within the deadline in the schedule.
[G-04] AI Topic, Group Summary
As a group pick one of the topics and select it in TeachCenter (first come first serve, the start of the selection will be announced on Discord) and create a short presentation (max 5 slides) about how this concept can be applied in a game project and give examples. Create a short video (max 5 minutes) presenting and describing the concept (showing the slides). Every game project has to include at least one of the concepts. The descriptions of the other group members should help you choose which one you want to include (it is okay if several groups include the same topic in their game).
There will be a WebEx lecture where we watch all of your videos together. All groups will get access to the videos in order to help with the selection of a concept for your game.
- Bayesian Networks
- Blackboard Architecture
- Command Hierarchy
- Decision Tree Learning
- Emergent Behavior
- Filtered Randomness
- Fuzzy Logic
- Genetic Algorithms
- Influence Mapping
- Level-of-Detail AI
- NGram Statistical Prediction
- Neural Nets & Perceptions
- Obstacle Avoidance
- Player Modeling and Reputation System
- Production and Trigger Systems
- Reinforcement Learning
- State Machines and Stack-based State Machines
- Smart Terrain
- Subsumption Architecture
- Terrain Analysis
Create a video, show the name of your topic, your group number and your names somewhere at the beginning of the video and export it in at least FullHD and at max 4K resolution, in a format (e.g. H.264 mp4) that can be played by common video players. Use the naming convention:
## is your group number, hence group 5 sends the file g-04-group-05.mp4.
Upload the video to TeachCenter within the deadline in the schedule.
[G-05] Full Game
Fully implement your game and create a presentation for the final exhibition.
Short “pitch” (max. 4-5 minutes!) – try to “sell” your game/game idea. You can show your video or play the game live (or both if time).
Note: If it is not possible to hold the final presentation in person, there will be final presentation videos similar to the AI-Topic presentations.
Please bring your own equipment for the exhibition. In case you are missing hardware contact the tutors in advance.
Note: If the exhibition cannot be held at the university, all games will be collected in an itch.io game jam so that you can play all of the games.
Deliverables (on a DVD or in a zip)
- readme.txt with the following information, so that we can feature your games on the website:
(1) Game title + short game description
(2) Who worked on this game (all names + matr. nr)
(3) Technologies used
(5) Link to build for feature on website (such as on https://gamelabgraz.com/games/)
- Final Game Design Document
(don’t forget to mention which AI Topic you chose and how you implemented it in your game)
- 4-6 screenshots
- a small video of the gameplay (ca 2-3 minutes)
- Build and source code of your game
If there is no offline presentation, a zip file with all deliverables replaces the DVD, and all deliverables should be uploaded to TeachCenter within the deadline in the schedule.
Update the details about your game on your itch.io page and join this year’s game jam (TBA). We encourage you to upload the video and a build of your game to itch.io to make it available to a broader audience.
If you want to develop your game further and publish it not only within the scope of this lecture, we are happy to help and answer any remaining questions.
Links & More
Grading and Fine Print
Game Design and Development II is a lecture with integrated exercise (VU, continual assessment). If you do not submit any assignments (partial course requirements, Teilleistungen) you will be deregistered from the lecture. The examination is considered to have started when the assignment [I-01] Photogrammetry or any following assignment has been submitted.
You need to submit all assignments to receive a passing grade.
Each assignment will be graded based on how accurately you fulfill the tasks of the assignment description. For game assignments the game design document, game elements, game design guidelines, usability, polishing, balancing and the presentation can be taken into account as well. For written assignments the readability, formatting, and how precisely the topic got addressed can be additional decisive factors. For some assignments you might be able to earn bonus points, this is designated in the assignment description. The assignments are weighted according to the weighting table.
A total of 100% (excluding bonus points) can be achieved. Upon receiving 50% and more, the student receives a passing grade. The grading key denotes which percentage corresponds to which grade.
Partial course requirements are corrected after all partial course requirements have been completed.
Late submissions are not considered by default. Contact the tutors (preferably before the deadline) if you cannot submit an assignment in time, we might be able to find a solution.
If you decide not to finish the course after submitting the first assignment considered in the examination contact the tutors, so that the grouping can be updated. If there are any open questions feel free to contact us.
If unauthorized aids are used or cases of plagiarism occur (e.g. a written assignment contains parts copied from another source or referencing is not done properly, or a game contains 3rd-party assets without proper attribution) a grade of “U (Ungültig/Täuschung)”, meaning that the grade is invalid, is given for the course (§ 27 para. 2 part of the statute chapter “Legal Regulations for Academic Affairs” in conjunction with § 73 UG). The student is then requested to attend a hearing, where he or she is confronted with the incident.
|>= 75||< 87.5||2|
|>= 62.5||< 75||3|
|>= 50||< 62.5||4|
A collection of games created in previous GameLabGraz lectures
Johanna’s personal book recommendations and books the lecture draws inspiration from.
Jane McGonigal – Reality is Broken (+++)
One of my favorite books. Jane McGonigal gives some inspirations and ideas of how to use games in different contexts. Reads like a novel and avoids theoretical aspects.
Jesse Schell – The Art of Game Design (+++)
This is the book I am using a lot for my lecture. Very good summary of the most important design aspects from different points of view (technical aspects, player psychology, all different design things).
Scott Rogers – Level Up (2nd Edition) (+++)
Also a very good design on game design. I’ve especially enjoyed the bonus chapters with inspirational lists for environments, game mechanics, and different templates as an inspirational resource for your games.
Jeremy Gibson – Introduction to Game Design, Prototyping, and Development (++)
This book gives also a very nice introduction to game design techniques, but in a more practical manner. The main part of this book is a unity and C# tutorial.
Raph Koster – A Theory of Fun (++)
I simply love the style of this book. It has comics and sketches 😉
Flow – Mihaly Csikszentmihalyi (+)
Wonderful book (THE book) about the flow experience with neat examples from all different fields.
Katie Salen & Eric Zimmerman – Rules of Play (+)
Very interesting book on game design with a lot of practical examples. Note: Amazon credit me a small referral amount, should you purchase a book after following these links.