Last Minute Summer Jam 2018

This year we decided for a different format for our summer game jam.

Instead of jamming for one stressful weekend we went for a jam that would give the participants one month to complete their projects with one kickoff weekend in the beginning and one finish weekend at the end. Weekly progress meetings are also planned but those may just be organized by the individual teams.


  • Kickoff Weekend: Friday 07/20, 16:00 – Saturday 07/21 20:00
  • Finish Weekend: Friday 08/17 – Sunday 08/20

Both events will take place in the i9 at Infeldgasse 13.

There are no snacks or drinks at the locations so everybody is responsible for his own provisions.

Veröffentlicht unter Allgemein

Game Dev Students Graz

Veröffentlicht unter Allgemein

Talk Summary: GDC 2017 – AI Summit – PCG Shotgun: 6 Techniques for Leveraging AI in Content Generation by Tyler Coleman, Zach Aikman, Tanya Short, Tarn Adams, Mitu Khandaker-Kokoris, Luiz Kruel

PCG Shotgun: 6 Techniques for Leveraging AI in Content Generation

  • Author: Thomas Nuschy  (May 5 2017)
  • Tags: : PCG, procedural story generation, procedural personality generation. procedural level generations
  • Track: GDC 2017 – AI Summit
  • Url:
  • Speaker: Mitu Khandaker-Kokoris, Spirit AI; Tanya Short, Kitfox Games; Zach Aikman, 17-BIT; Tarn Adams, Bay 12 Games ; Luiz Kruel, SideFX Software; Tyler Coleman, Retora Games
  • Link: Summary


Abstract This work gives an short overview of different procedural content generation (PCG) tools in games. PCGs are used in various aspects of game development. This summary touches the topics of procedural story generation, personality generation and level generations. It shows that designers sometimes have to think outside of the box to get the result they want.

1 Summary of Talk

In the GDC talks PCG Shotgun: 6 Techniques for Leveraging AI in Content Generation Tyler Coleman, Zach Aikman, Tanya Short, Tarn Adams, Mitu Khandaker-Kokoris and Luiz Kruel present different applications of procedural content generation in gamedevelopment. The talk gives six short introductions of six different applications.

1.1 Procedural Character-Based Narratives M

itu Khandaker-Kokoris from Spirit AI talks about techniques used for procedural narrative generation. Using such procedural narratives allows game designer to tell various different stories not just one. The first method presented is Agent-driven Stories. This method is for simulating the interaction of agents that tell the player something about the word. The story is told by a mechanism called noticing. A game in which this mechanic is used is Little Invasion Town . Little Invasion Town utilising noticing for telling the story of the game by showing text bubbles and the behaviour of the agents in the game. The second method is Story-driven Agents. In this case one specific agent knows a lot about a specific plot. The player learns about this specific plot by interacting with this agent. This interaction can be a dialog or something else.

1.2 Maximizing the Impact of Generated Personalities

Tanya Short from Kitfox Games about how to generate personalities using procedural methods. The generate a personally we need two main parts. First a Reasoning, meaning why does the agent to something. Secondly a Behaviour, meaning what is the agent doing. In human generated personalities agents show a behaviour and its up to the player to interpret their reasoning. This can be called Behaviour First. This is more natural because its how it works in real life. In contrast to that stands Reasoning First. This method is used by most procedural games. The agent tells the player his reasoning and then acts. Its up to the us as players to notice what the agent does with its reasoning. A problem with this is that in can result in a lot of information for the player but as players get more accustomed to procedural personalities game designer don’t have to expose all traits of agent. It can become part of the gameplay to find this hidden traits. An example for such a game is The Shrouded Ilse. There a several ways in which the impact of procedural personalities can be maximized. First, in general personalities can be very subtle, even extremes. Therefore it is import to support these personalities with some sort of behaviour. Secondly, procedural generated people do not act like real people, which leads to some level of comedy. Third, its much more economically to generate reactions in agents from one action, allowing the player to learn more about the agents in the game. And last, change in personality is normal.

1.3 In-Game Content Generation by AI-Agents

Tarn Adams from Bay 12 Games talks about AI algorithms to create game objects. AI algorithms can get quit complicated with a lot of parameters to configure. This parameters can be used to restrict the output of the algorithm. For the parameters everything can be used events, locations, peoples, relationships or personality. With the created objects its possible to create an emerging narrative by using the output of an algorithm as input. The example that is given in the talk is that the player is elected mayor. This triggers that an AI agent creates a statue of the player. This statue holds some data about the player or an vet. One thing you can do with this data is let AI agents react to it or you can simply use it to distributed information about an event. By using generated game objects as input for other procedural algorithms we can create some sort of event tree. This tree can contain objects from the past, present and future. This allows the game to refer back to past events and let new content emerge from it.

1.4 Procedural Systems and AI in Galak-Z Zach

Aikman from 17-BIT talks about procedural level generation and how to make NPCs more alive in their game Galak-Z. Galak-Z is a 2d space shooter game that uses procedural generated levels. They create the used a two step method. The first step was fo generate cavers using Cellular Automata. Cellular Automata work on a cellular grid with a finite number of states for each cell. States transitions are described by a constraints. With the right constraints it is possible to create room like structures. In 1.4 you can see an example of a Cellular Automata. 17-Bit used this technique to create chunks of a level that are later stitched together. The problem is that generating this chunks during runtime is too inefficient.

Figure 1: Example of a Cellular Automata[2]

The second step was to stitch the stitch the level chunks together. This was done by utilising Hilbert Curves. In 1.4 you can see the first to third order hilbert curve. In Galak-Z they used this curves to stitch the level chunks created by the cellular automata together to create the levels. To avoid that every level has the same base structure they took higher level Hilbert curves and took move some sort of sliding window around to get more complex levels. In Galak-Z they used Contextual Barks[4] to make their NPCs look more alive. Contextual Barks are simple described a set of rules that if met lead to a dialog. A problem that can arise 2 Figure 2: First to third order Hilbert Curves[2] with Contextual Barks is that the number of rules can be very high and lead to a very complex systems.

1.5 Procedural Generated FPS

Luiz Kruel from SideFX Software about how to create levels for a FPS using procedural methods in AAA quality. He used a tool called Sentient Sketchbook[5] to create a basic room layout. For generating the level they use a backwards approach the designer creates a basic level layout with connected rooms. The level layout is then in combination with the SEntient Sketchbook to create the content of the rooms.

1.6 Pseudo is your Friend

Tyler Coleman from Retora Games talks about how pseudo randomnumber generators can be used in games and how you can take advantage of the pseudo nature of these generators. Usually randomnumber generators need some sort of seed. In games the seed might be responsible what kind of experience happens in the course of the game. Their are different options on how to get a seed. The first one is to let the user input the seed. This allows players to share their experiences with others as the same seed triggers the same events. Another option would be to user the users input as seed. An example would be something like the Assassins Creed loading screens where the player can run around and do stuff or something simple like entering the username. Another seed possibility is to take the X, Y and Z coordinates from an object. This seed is unique to that item. Also UserID can be used as seed. This allows a unique experience for a specific player. Another type of seed is Lifetime Seed. The idea behind this type of seed is that the gamer experience stays consistent through multiple gameplays although it is different between players.

2 Overview and Relevance

The talk shows that procedural methods can be used in very different way in every aspect of game design form level to personality creation and also at some level for story telling. Some methods present in the GDC talk are more or less standard methods but as the use of Hilbert Curves for level generation shows game designers have to sometimes think outside of the box when conventional methods do not work for the problem at hand. I think that the relevance of procedural generated content will get higher but more in the aspect of story telling. Procedural generated stories make a game much more replayable than dungeons that are to some point random, like dungeons in Diablo.

3 References and Further Sources

[1] Little Invasion Tales,

[2] Cellular Automaton,

[3] Hilbert Curves,

[4] Dynamic Dialog, Ruskin Elan, GDC2012_Ruskin_Elan_DynamicDialog.pdf

[5] Sentient Setchbook,



Veröffentlicht unter AI Summaries, Talk Summaries

Talk Summary: GDC Europe 2016 – Shrinking Data for Fun & Profit by Dietmar Hauser

Shrinking Data for Fun & Profit by Dietmar Hauser


1 Summary of Talk

The talk is about how to shrink data and how game developer can benefit from it.

1.1 Motivation

Why shrink data? It has multiple profit reasons to shrink data, but the main premise is money. It can save your money by reduce your bandwidth costs for initial downloads, updates and continuous connections. Also decreasing the loading times and smaller app size of your game will be achieved by shrinking data. So it can expand the reach of your game. The speaker mentioned some action reasons why it could be fun to shrink data. Two of the reasons are to find the next best data algorithm to reduce data size and to deal big data properly.

1.2 Data Compression [2]

Data compression is the process of encoding information using fewer bits than the original representation. It comes in two flavors, lossless and lossy. Lossless compression has no information lost. The compressed data is equal to the decompressed data. Unlike the lossy compression, it removes unimportant information. So the decompressed data will not be the same as the original data.

1.3 Reducing Network Traffic

Usually the HTTP (Hypertext Transfer Protocol) is used to send some data over the network. It has a built in compression. So it compresses automatically the outgoing data. But the outgoing data can also be compressed with some data treatments. For example, the omission of whitespace and comments in the data or to save a recurrent string only one time and replace it with an identification number. Another opportunity to reduce the network traffic is to use binary data formats. Binary data has a stronger compression speed and faster compression options. The talker mentioned some general hints, like always encrypt after compression and to make the compression configurable. Configurable in this context means, that the compression algorithm should be easily replaced with a newer or faster algorithm.

1.4 Shrinking Download Size

This section is about game asset downloads. Game assets are music, sound effects, 3D models, sprites and so on. This sort of data will be downloaded only once and it changes not so often. Therefore it is the best option to use the strongest compression algorithm. Also in this chapter the speaker gave some general hints. If game assets will be stored on the device, a user-friendly way would it be to save the files compressed. But never forget about the compression time of these locally saved files.

1.5 Compress App Packages

The created app packages from the developer environments are just simple zip files. The compression is not very good. So compress the app data before packaging.

1.5.1 Textures

The best way to compress textures is JPEG. JPEG is a method of lossy image compression. The most pitfall is to use PNG images, because the PNG file size is almost twice as large as the JPEG file size.

1.5.2 Geometry & Animation

Geometry and animation data is essentiel in a game application, but they are very format depending. Avoid to use tangents and binormals, because these vectors can be descriped by simpler curves to save some memory size. The best approach to shrink geometry and animation data is a lossy compression with an generic algorithm.

1.5.3 Sound & Music

For sound and music use a lossy compression, like MP3 or OGG.

2 Overview and Relevance

Shrinking data is very important in game development. In the speech were some future technologies mentioned, which are nowadays available, like the HTTP/2 from the „Reducing Network Traffic“ chapter. In my investigation I only found two new technologies. The first technology is Google’s RAISR for image compression, introduced in October 2016. [3] The second technology is the Zstandard algorithm. [4]

3 References and Further Sources

[1] Leslie Lamport, LATEX: a document preparation system, Addison Wesley, Massachusetts, 2nd edition, 1994.

[2] Mahdi, O.A.; Mohammed, M.A.; Mohamed, A.J., Implementing a Novel Approach an Convert Audio Compression to Text Coding via Hybrid Technique , International Journal of Computer Science Issues, 9 (6, No. 3): 53–59, 2013.

[3] Yaniv Romano, John Isidoro, and Peyman Milanfar, RAISR: Rapid and Accurate Image Super Resolution,, , 2016.

[4] Smaller and faster data compression with Zstandard,, , 2016.


Veröffentlicht unter Talk Summaries Getagged mit: , , ,

Talk Summary: GDC 2016 – Security in Gaming, How Protecting Your Gamers Can Be as Simple as 1.2.3 by Simon Thorpe

Security in Gaming, How Protecting Your Gamers Can Be as Simple as 1.2.3 by Simon Thorpe



This paper deals with the problem of using passwords for the authentication in games and introduces a new two factor authentication service called Authy. In addition some common guidelines for players are discussed when dealing with accounts. Finally a new approach to user authentication for mobile devices is presented that could be used to enhance security in many applications.

1 Summary of Talk

Security has become a main issue in nearly all applications that we use nowadays. In most of the systems we have to authenticate us before we can use any service. Since there are more and more online games and standalone games were some data has to be stored on the servers, security is also very important in gaming. Many games also use in game purchases, where the gamers could buy some items or unlock features by paying with real money. Due to that fact, attacks on game accounts increased drastically over the past few years. If a password is stolen, some private data could be extracted from the corresponding game account. The main problem in authentication is that all users hate passwords and should remember passwords for different accounts. A survey showed that most of the users use very weak passwords because they are more likely to be remembered. But on the other hand unwanted persons could easily steal these passwords, and that is the core problem.

1.1 Two Factor Authentication

Two Factor Authentication (2FA) uses two pieces of information for authentication. The typical form of 2FA is that you know this information, for example a username or email and a password. The problem here is that also other could probably know this information. Another way of doing 2FA is that you have something physical like a chipcard or an encrypted token generator. The third possibility would be to use unique aspects of yourself to authenticate.

Over the last decades there had been many different approaches to perform 2FA. At the beginning there were hardware based token generators. After the invention of mobile phones, it was possible to send voice or text messages with one time password codes. Since the evolution of smart phones, applications on that mobile devices could be used to do 2FA. The problem of older 2FA mechanisms was that someone had to either buy these token generators as used for example in World of Warcraft or that the authentication was not secure when using email verification for logging in. Another disadvantage of such approaches is a very bad end user experience because the user often does not know what is actually really going on.

1.2 Better way of 2FA

With a newly presented application called “Authy” there is a better way of doing 2FA in modern use cases. To demonstrate the capabilities of Authy it was integrated in a Minecraft server to authenticate the user in the game. If the user wants to login onto the server, a push notification is sent to the user’s mobile phone. On the smart phone some details about the authentication 1 process are shown and the user is able to approve or deny the request. The main advantages of this mechanism are that the end user is informed in detail what is happening and he can respond immediately. Apart from the login process, it is also possible to protect in game actions or any kind of process with this approach.

Authy was designed to provide stronger authentication for comsumers, communites and administrators. It could also be used for transaction security, for example to protect worlds or for in game purchases. The service also supports older 2FA methods for one time password codes like voice or sms.

The service can be integrated in any kind of application where calls via a REST API are supported. So Authy is a cloud service that it accessible from everywhere. There is also a client app available for all mobile platforms that handles the push notifications and interacts with the end user to approve or deny the authentication request. Further there exists an Authy SDK to support the creation of own mobile apps that handle the user interaction. The service itself manages security, monitoring and 2FA support through API. Especially the push logic is very likely to be attacked so in this part secure communication is provided by Authy. The main thing to remember when integrating Authy in your application is that you own the application and the users in terms of software design and just use the cloud service to perform 2FA.

Using Authy is very easy und just requires three main steps to be performed. There are interfaces for many common programming languages, so performing these steps will work throughout a variety of projects. First a user has to be registered in Authy with corresponding email and of course a phone number. This call returns an authy id for this registered user that should be stored in the current application (e.g database). If authentication of a user is required at some point, an approval request is sent using the stored authy id from before. In the last step the callback of the request is used to get the result and perform some action. Following this approach Authy can be used in different applications and games to provide user authentication in a more convenient way.

2 Overview and Relevance

In the year 2016 there have been many cybersecurity incidents where organizations, companies and also individuals were involved. It was a bad year for password security because a lot of data was leaked or stolen by cybercriminalists. The attacks exploit the fact that users still prefer passwords that can be easily remembered instead of secure passwords. So the current developements in authentication methods explore other methods that reduce the reliance on passwords to reach a higher security level. Two Factor Authentication, biometrics and other techniques are becoming even more popular. [1] With the growth of online gaming, game accounts also became a huge target for cybercriminal attacks. Virtual economies evolved inside games where players are trading with virtual items and currency. These items are then selled outside the game causing some exchange of real world money. Due to that fact, stealing an identity or getting access into one’s game account is a main issue for cybercriminalists. There are a few tips aside from authentication mechanisms that players could follow to ensure privacy and security. When signing up for a game account, players should determine whether it is really necessary to provide their real name, address or email address for this purpose. Another very important point is that players should not link credit or debit cards to a gaming account if they are not interested in buying in-game items or things like that. Using security software on every system and not using game account credentials to log into unverified or untrusted sites or apps are general recommendations to protect the privacy in any case. [2]

2.1 Multi-faceted approach to user authentication for mobile devices

In the two factor authentication service called Authy, which was introduced above, a mobile device is used to approve or deny an authentication request. In the worst case this mechanism could also fail if any unauthorized user gets access to the mobile device, for example if it is stolen. Therefore a new multi factor authentication approach for mobile devices called mAuth could be really helpful. With this approach, the user is continously and unobtrusively authenticated while the device is being used. Low-level sensor data is used to extract some typical behavior of the end user in the high-level context via machine learning algorithms. In detail, frequently visited places, physical proximity with the device and gait patterns are fused to create a dynamic trust score. This score determines whether the user is trustworthy or not to access different applications. It turned out that if sufficient sensor data is available, the system is able to detect an adversary in less than one minute. [3] 2 So when combining an appropriate 2FA mechanism with this method for mobile devices it would be possible to make many applications and games more secure.

3 References and Further Sources

[1] Looking Back, Moving Forward: Cybersecurity Resolutions for 2017 last visited: 14.02.2017

[2] Data Privacy and Online Gaming: Why Gamers Make for Ideal Targets last visited: 14.02.2017

[3] Devu Manikantan Shila, Kunal Srivastava, Paul O’Neill, Kishore Reddy, Vincent Sritapan. “A multi-faceted approach to user authentication for mobile devices – using human movement, usage, and location patterns”. 2016 IEEE Symposium on Technologies for Homeland Security (HST), 2016


Veröffentlicht unter Talk Summaries Getagged mit: , , , , , ,

Google Hash Code 2017 at TU Graz

  • Feb: 23. Feb: Google Hash Code

Google Hash Code 2017 – sign up today!

Think you could come up with a way to optimize Internet coverage for Project Loon balloons? Or how about routing Google Street View cars through Paris?

Step into the shoes of a Google engineer and tackle these types of challenges during Hash Code, a team-based programming competition for students and professionals (18+) across Europe, the Middle East and Africa organized by Google. You pick your team and programming language, we pick a real-life engineering problem to solve. Are you up for the challenge?

The competition is divided into two stages:

  • an Online Qualification Round on 23rd February at 18:30 CET
    For this round, your team can participate from wherever you’d like, including one of our Hash Code hubs. Hubs allow for teams in the same location (eg. city or university) to compete side-by-side in a more fun and exciting environment.
  • a Final Round on 1st April
    Top scoring teams from the Online Qualification Round will be invited to Google Paris to compete in the Final Round of the competition.

Find some teammates and sign up today at!


Veröffentlicht unter Allgemein

Game Jams, Hackathons, Challenges

Here you have one weekend to come up and realize an idea for a game! You can either try it by yourself or create/join a team to complement your skills and create your vision. What makes this game jam special is, that our location is but one of many locations across the entire globe and everybody is working on the same theme at the same time!

Game jams are a wonderful place to learn how to create games from scratch. You are invited to create games together from people from all different disciplines (programming, art, audio, management, testing…) and with various backgrounds and levels of expertise (industry experts, students, newbies). You have never developed a game before? Don’t worry! This is the perfect place for you to dive into your first game dev experience!

  • Feb: 23. Feb: Google Hash Code

Google Hash Code 2017 – sign up today!

Think you could come up with a way to optimize Internet coverage for Project Loon balloons? Or how about routing Google Street View cars through Paris?

Step into the shoes of a Google engineer and tackle these types of challenges during Hash Code, a team-based programming competition for students and professionals (18+) across Europe, the Middle East and Africa organized by Google. You pick your team and programming language, we pick a real-life engineering problem to solve. Are you up for the challenge?

The competition is divided into two stages:

  • an Online Qualification Round on 23rd February at 18:30 CET
    For this round, your team can participate from wherever you’d like, including one of our Hash Code hubs. Hubs allow for teams in the same location (eg. city or university) to compete side-by-side in a more fun and exciting environment.
  • a Final Round on 1st April
    Top scoring teams from the Online Qualification Round will be invited to Google Paris to compete in the Final Round of the competition.

Find some teammates and sign up today at!


Veröffentlicht unter Allgemein Getagged mit: , ,

Pre-Christimas Talks 18/12 @GameDev/TuGraz

This Friday 18/12 2015 we have a full schedule on game-related and start-up related talks and events at TU Graz. All talks are in HS i11, Inffeldgasse 16b KG.

( )


*** 13:00 “3D Modeling in Blender”, Phil Gosch – HS i11 ***

3D artist Phil Gosch ( will give a tutorial on how to use Blender for 3D modeling – you can also bring your laptop if you want to follow along the tutorial.

*** 14:00 GameDev Talk 18/12 14:00 – Daniel Klug, Greenheart Games insights – HS i11 ***
One of the makers of the very popular and famous game “Game Dev Tycoon” will visit us.

Daniel Klug will talk about Greenheart Games ( and will give us some insights: how do they work, how did they came up with the idea of their popular game Game Dev Tycoon, how they did end up where they are now, what are the challenges/advantages of a full remote team … and of course of their famous piracy system.

Bio: Daniel has been in the software industry for over ten years. Prior to founding Greenheart Games he worked extensively with C++ and later int WPF/C# and the .NET Compact Framework space.


*** 15:30 BIT TALK – Accessio – How to Start-up (lean) – HS i11 ***
Elevator Pitch winner Dominik Wieser will talk about his start-up “Accessio”.

Dominik founded Accessio ( together with Philipp Reitter in 2015. In his talk he will tell the story how the idea was born and developed and talk about the lessons learned founding a company. Dominik and Philipp attended the Gründergarage which is a course for students who think about founding a company. He will also talk about the Lean Startup Methode and the way they build their prototypes and product. In the end he he shares his opinion and thoughts about the Startup Scene in Graz and his motivation for founding Accessio.

Bio: Dominik Wieser visited the HTL in Innsbruck for Electronics. Then he decided to study Information and Computer Engineering at Graz University of Technology. He currently is at the beging of his Master studies. In 2015 he co-founded Accessio, a company that simplifies access to business parkinglots. Dominik also worked for NXP Semiconductors and Swarovski.

Veröffentlicht unter Allgemein

Book Recommendations

This is my personal recommendation for an reading list. And also a list of books I use for the lecture.

*** Jane McGonigal – Reality is Broken
One of my favourite 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 inspirational resource for your games.
** Jeremy Gibson – Introduction to Game Design, Prototyping, and Development
This book gives also a very nice introduction on 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 simple 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 referal amount, should you purchase a book after following these links.

Veröffentlicht unter Allgemein

Thesis Process

1. Write thesis plan


-> Formular “Anmeldung”


Veröffentlicht unter Allgemein