Visit to the UK’s Biggest Gaming Event – EXG 2017

Last year during University Welcome Week, several bus loads of BCU Computing students along with a number of staff headed off on an adventure to visit Bletchley Park (online). This year The UK’s Biggest Gaming Event EXG 2017 happened to be taking place during welcome week, so several hundred students and staff ventured to the NEC to explore the world of computer games – past, present and future. The photos below should help to give some small sense of what the event was like.

One could find several hundred retro games available to be played – a detailed list available from the Retro Strand (online).

EXG 2017 is running from Thursday 21st to Sunday 24th Sept inclusive, so plenty of opportunities still exist to check out the event and play some games. The 2016 EGX event had over 75,000 people in attendance (online), will this year be even bigger?

Useful Links
EXG Website (online)
EGX Facebook Page (online)
EGX Twitter Feed (online)
EGX on YouTube (online)
EGX on Twitch (online)

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

EGX 2017

This EXG 2017 Trailer on YouTube may also help to give a good sense of the event.

The following embedded videos are of various talks that took place during the opening day – 21st Sept. These talks include Andy Serkis discussing Planet of the Apes, Xbox One X & the Future of Console Technology with Digital Foundry, Wolfenstein II: The New Colossus, Designing The City of Kings, a MMORPG inspired board game with Frank West and How Firaxis saved XCOM from complete disaster with Jake Solomon.

Advertisements

Data Structures – Working with Queues and Games

Queues are really quite a fundamental data structure that all in computing should know. Probably one of the most popular real world examples of a queue in operation is that of a checkout counter in a shop. This is a classical example of First In First Out in operation. The first person to join the queue will be the first to be served at the checkout. All further customers join the back of the queue. Hence is a nice example of enqueue() and dequeue() in operation.

The “Hot Potato” Queue Simulation
Another example that is often used is the “Hot Potato” (online), whereby a person has a “Hot Potato” that gets passed around by “people” in the queue. At each iteration a “person” from will become removed from the queue and placed at the back – therein enqueue(dequeue()). This will occur a certain number of times before the “person” with the “Hot Potato” will be finally removed from the queue. This process continues until just one person remains.

Print Queue
An example more tangibly related to computing is perhaps the “Print Queue”. When a new document is sent for printing it is placed at the end of the queue enqueue(). The process of actually printing off a document will remove it from the queue dequeue(). Under many circumstances this will removed the first print job. However many multi-function printers/photocopiers of today, will present a list of print jobs one screen once you log on, allowing you to select which job or jobs you wish to print. So the example of the “Print Queue” isn’t perhaps the best any more, although even with these multi-function one can often “Select All, Print & Delete” which will print off each job in the “Print Queue” following the standard FIFO ordering.

Waypoints
So what might be a good example of a queue system in operation that would be applicable to students studying Game Development? One nice example is perhaps that of Waypoints, the following (online) link is to an animation that moves an onscreen object towards a location the user has clicked (Waypoint), as the user clicks other locations, these are added to the “Waypoint” queue. When the onscreen object reaches a Waypoint location it is dequeued.

Message Queue
Another nice example is of how to implement a “Message Queue” in a game (online). In this case game avatars can pass messages to one another following a distinct packet/envelope structure, that of: sender, destination, type, data. Therefore instead of having Objects communicating in what could be almost considered as a fully interconnected mesh of messages (just consider what a system sequence diagram for this would be like). All Object / Avatar instances instead communicate with each other through a single queue based messaging system.

Production / Build Queues in Games
One example I considered quite applicable to Game Development students was that of the Production Queue. Many stratagy based games make use of “Production Queues” or “Build Queues” to creating anything from Tanks, and Ships to Aircraft and Experimental Weapons such as the AC1000 from Supreme Commander 2 (online) developed by Gas Powered Games.

The Noah Unit Cannon Experimental (online), is a fixed emplacement that can queue up the production of several types of land units, such as the Rock Head Tank, Titan Assault Bot and the Sharp Shooter Mobile Anti Missile Defense to name but a few.

Simcity Buildit
Simcity Buildit makes very extensive use of Production / Build Queues through the form of Factories that produce basic materials such as Metal, Wood, Plastic, Glass and Electrical Components. These items can take anything from 1 minute for Metal up to 7 hours for Electrical Components to be produced. When fully upgraded these factories have a production queue of 5 units. Materials produced in the Factories can then go on to be used in one or more of the nine Commercial Buildings. The Commercial Buildings take the form of Farmer’s Market, Furniture Store, Hardware Store and Donut Shop to give just a few examples. Details of all the items these factories and buildings can produce can be seen (online) (online). The following videos give some sense of what these building are like.

Given that one can wait almost an entire day to process a full production queue of Beef (11 units) it is very useful to have the opportunity of speeding up the process with “Speedup Tokens” in the form of: Turtle x2, Llama x4 and Cheetah x12. To create “Speedup Tokens” one must either earn them through the “Contest of Mayors” or create them from small pieces by creating “Epic Projects”. These are building that can create a fragment of a “Speedup Token” every 24 hours. The more “Epic Buildings” one has the more fragments are needed to create a “Speedup Token”, however as a starting point one needs 3 fragments for Turtle, 6 for Llama and 9 for Cheetah.

Perhaps tasking Games Development students with creating Production Queues that simulate the creation of Beef, Televisions, Popcorn or Pizza as is the case with Simcity, or Land, Air and Naval units in the case of Supreme Commander is a good way of demonstrating the use and need for queues – particularly in strategy games. Another interesting reason for focusing on Production / Build queues is that especially in the case of Simcity Buildit, many of the items produced are dependent on other items. Therefore quite long chains of production can be formed just to produce the necessary resources to create one “Expensive / Complex” final item.

Parallel Processing / Super-computing
Simcity Buildit provides a really good example of the costs associated with production / processing and relate very well to issues around Parallel Processing / High Performance Computing (HPC) / Super-computing and how jobs can impact one another in the determination of the overall execution time. The classical example of this is the process of making breakfast – many tasks can be done in parallel, though one will be constrained by the cost of the operation that takes the longest. Taking a parallel approach to making “breakfast” can however yield a good deal of cost / time savings over a step by step approach (online).

What other Games use Production Queues?
Do you know of any other games that make heavy use of “Production Queues” / “Build Queues”?

BCU Global Game Jam 20-22 Jan 2017 – Event Summary

Over the weekend of Friday 20th Jan to Sunday 22nd Jan 2017 the Global Game Jam 2017 (online) took place. Tens of thousands took part at locations all around the globe, with Hawaii being the last to kick off. An embargo was in place on the theme until Hawaii had begun, the idea being not to talk about the theme online until Hawaii had joined in the fun. The theme for this year was “waves” which provided quite a deal of scope and direction for idea generation.

One of the locations for the Global Game Jam in the UK was BCU in Birmingham which was organised by Liam Sorta @LiamSorta and Andrew Wilson – Programme Leader for the BSc in Computer Games Technology @BCUGAMESTECH. The event had a great turnout of over 100 people, many from Birmingham, but others from Warwick, Southampton, Newcastle & as far afield as Australia (though had been in the UK since the first semester). It wasn’t just University students either, but also a good few graduates whom work in the games industry. Once the theme for this years jam was announced everybody broke up into teams (a little over 20 in total) and headed to the labs to do a quick brainstorm of ideas and routes to take, before getting down to making those ideas a reality. A large number of the teams made use of the Unity Games Engine, though one or two teams developed their games in Python.

One can see all the games that were uploaded to the Global Game Jam site from Birmingham (online). One of the great things about this is that you can download both the source code and executable, hence can play the game yourself and also learn how it was developed.

The Game that won the BCU “Innovation” prize was produced by a group called “Signal” (online) which was based on one having to navigate around a 3D environment that was pitch dark. One could emit sound waves to help see the outline of the environment & thereby navigate around the environment. This was very much akin to how Daredevil (2003) (IMDB) perceives the world and also similar to how Batman used “sonar” to see his way around a building in the dead of night – The Dark Knight (2008) (IMDB). The winning team for this prize had been selected by myself (online) and Mak Shama (online) having viewed all the presentations on the Sunday afternoon.

Representatives from two companies were also present at the Sunday presentations @VERYGOODFRIEND and @fishinabottle whom also selected teams to win prizes. Zen(x) (online) was particularly creative in developing a unique idea in the form of using a combination of a dozen sine wave calculations to control an onscreen icon, requiring the user to interact when it reached the centre line & therein changing the trajectory of the sine wave. The graphics had very clean lines and very much mirrored the “Zen” concept whereby the user could just relax and enjoy the game. Ooodle Showdown (online) was also another unique game for two players. It featured some very nice graphics and required players to navigate through a sea of characters something akin to a cross between the Marshmallow man from Ghostbusters and the Michelin Man. Each player (blue or red) could send out a sort of sonar wave and would turn the character that colour for a short while. The best thing to probably do is to download and play the game yourself to see how it works.

I had spent a good few hours each day at the game jam. It was really great to see the initial ideas dreamed up on the Friday evening evolve into quite functional games by Saturday and then on to more refined games by the time they needed to be uploaded on the Sunday prior to the afternoons presentations. All in all it was really great to see such a variety of fantastic games grow from an initial idea into a working game in just a matter of 48 hours. The well know phrase “two heads are better than one” certainly holds true whereby the key strengths and talents of teach team member could be harnessed towards one definitive goal and deadline.

Key Web Links
Global Game Jam Site (online)
BCU 2017 Game Uploads (online)
Twitter Hashtag #BCUGGJ17 (online)

Social Media Selection
The following selection of embedded tweets and instagram images from a number of those present during the event should help to give a good sense of what occurred over the 48 hour period.

View this post on Instagram

#bcuggj17 #afishysituation #gamedev

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#bcuggj17 #seewaves

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#bcuggj17 presentations

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#bcuggj17 #allhandsondeck

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#kingbooty #bcuggj17 #gamedev

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#bcuggj17 #oodleshowdown #gamedev

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#bcuggj17 #teammiodsnowstorm #omni amazing game idea!

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#necrodeulists #indiegamedev #gamedev #bcuggj17 #globalgamejam

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#wanishingwaves #bcuggj17 #gamedev

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

#globalgamejam #bcuggj17 #indiegamedev #gamedev

A post shared by Jonny Graney (@jonathancharlesgraney) on

View this post on Instagram

Dawn.

A post shared by Jonny Graney (@jonathancharlesgraney) on

What Qualities Make a Game Popular?

I recently made a post about Dare to be Digital 2016 (online) highlighting a number of video pitches. What qualities make a game addictive & popular? To what degree does the gameplay, sound effects, music, graphics, playability, level of difficulty have a bearing on the overall popularity and addictiveness of a game. The following are just a few popular games.

Cooking Fever
Cooking Fever is all about cooking – anything from burgers and hot-dogs, to pizza, suchi and baking. One can upgrade kitchen appliances to make cooking faster, upgrade the restaurant to increase customer wait times and how generous they are with tips. The main interaction style consists of simple drag and drop. When a customer arrives at your kitchen, the ask via a graphic bubble representation of the items they are looking for, e.g. an icon representing a burger. You then need to get some burger buns set out on your work surface and start dragging the ingredients on to complete the burger. One of course needs the cooked burger meat, along with various combinations of extras such as lettuce, tomato, ketchup – dragging each component on to the burger bun. Once the burger is fully assembled one then drags the burger to the waiting customer. If you manage to do this quickly enough they will drop coins representative of the price of the burger along with a tip for good service on the counter and leave as happy customers. As the levels progress the number of customers and combinations of food items increase. At the time of writing the number of installs was between 10 & 50 Million, the game is available from the google play store (online).

Angry Birds
Angry Birds has become an extremely popular game with 100 to 500 Million installs of the app via the Google Play Store (online). What are the qualities of launching a bird at various targets to get them to topple over that makes the game so popular.

Candy Crush Jelly Saga
Having 10 to 50 Million downloads Candy Crush Jelly Saga is certainly another popular game (online).

Clash of Clans
Available from the Google Play store (online) has between 100 & 500 Million installs.

SimCity Buildit
With 10 to 50 Million Google Play installs SimCity Buildit is certainly another popular game (online). This game is all about creating a city and populating it with residences, so you can earn Simoleons through the construction of residences and earn tax from same as well. One can also earn cash through the Trade Depot whereby you can sell goods that you create. One can sell all manner of goods from the basic raw materials created by factories, to more complex items created by taking the raw materials and forming them into a new product such as: Doughnuts, Shoes, Watches, Nails, Vegetables, Tables & Chairs to name but a few.

As you level up through the game further opportunities for Trading become enabled such as the Port for shipping your goods overseas, or the Airport (available once you have a population of 120,000). The Airport allows you to gain special items allowing you to build new types of residences with higher population capacity, namely, Paris, London and Toyko zones. To keep the population happy one must supply them with basic services, provide them with places to relax (parks), and a whole host of other facilities from Schools and Universities, to Entertainment and Gambling.

Over time one can create a city of some 4 million inhabitants and stretch out the area of the city to encompass both the beach and mountains. These areas allow one to build special buildings that can greatly boost the population within a certain catchment area.

At the Vu Tower (available at a population of 90,000) one can unleash a number of different disasters, that allows you to gain valuable Golden Keys. The most basic disaster one can unleash is the Meteor Strike, followed by Earthquake, Alien Invasion and several more.

Questions
What makes a good game?
How important is the embedding of Social Media in a game?
Do you make use of in-app purchases, to buy credits, upgrade systems etc?
Is it easy to lose track of the amount you spend on in-app purchases?
How important is the time it takes to complete a level – especially for Mobile Games?
What are your favorite games and Why?
How often do you play games on your Mobile?