This post gives some idea of what the final week of the Kainos AI Camp and Hackathon was like. The start of the second week commenced on Monday morning by reviewing what was explored the following week. A number of people from Kainos also attended in order to capture some interviews and video of the AI Camp in action. Around the middle of the week Kainos’ CTO Tom Gray (online) visited to give a talk about the company followed up by a Q&A session. During the final two days of the week two further tutors took part to explore the world of computer vision.
A day long Hackathon took place on Saturday 15th with teams consisting of two to three people developing some really excellent and interesting ideas. The hackathon concluded with all teams presenting their work to a panel of Judges, with some really great and fun prizes available to the winning teams along with a number of individual prizes as well. The previous day – Friday 14th Sept, the participants spent much of the day thinking of the ideas for the hackathon, getting into teams, and exploring the possible data sets they could use. It was really great to see the amount of in-depth detailed discussion and enthusiasm that electrified the room with creativity. A huge shout out to all the tutors must be given particularly to Chloe (online) and Jake (online) who ran most of the two week event.
The tweets below should help to give you a good sense of what Week 02 was like along with the capstone Hackathon event.
Social Media Feeds
Kainos (online)
Kainos Academy (online)
Kainos CTO – Tom Gray (online)
AI Camp Tutor – Chloe Thompson (online)
AI Camp Tutor – Jake Young (online)
AI Camp Tutor – Mary-Jane (online)
AI Camp Tutor – Liam Ferris (online)
AI Camp Co-ordination – Don Le (online)
Guest Speaker (Convolution Neural Networks) – Alan Dolhasz (online)
Guest Speaker (AI & the Media) – Kari Lawler (online), Youth4AI (online)
BCU Computing (online)
AI Camp Hashtag (online)
AI Camp Week 02 in Tweets
The following embedded tweets below should give you some sense of what the second week of the AI Camp was like along with the final Hackathon event that took places at Kainos’ Offices located at Alpha Tower (online), Birmingham.
The four weeks of the #AICamp 2018 have come to an end. 37 amazing students, 2 cities and 2 full day Hackathons 👩🏼💻 think it’s time to go home. pic.twitter.com/ND6sGv5V9S
The lady from first class and the boy from the working class. She survived, I didn't 😥😥 Week 2, Day 3 at #AICamp with @KainosAcademy creating a #Chatbot that can predict if you'd survive the Titanic pic.twitter.com/pGnKIdCa7f
Lt Cmd Data "I believe Commander Shelby erred… there are no known avifaunal or crawling vermicular lifeforms on Jouret Four." > "to err is human" – What of an AI #AICamp#Birmingham#KainosAcademy
Created an account on https://t.co/crE62816pE, really sweet way to visualize your model's hyperparameters, epochs, and so on. Should make life much easier 😀
After trying to increase the validation accuracy of my neural net for the past 2 hours, I have finally managed to get a 1% increase. Time to crack open a cold one #AICamp@KainosAcademy
Over the first two weeks of September 2018 Kainos has been running a AI Camp and Hackathon event (online) hosted at BCU Computing. The AI Camp schedule runs from 09:00 to 17:00 Monday to Friday over the two week period, with a final Hackathon taking place on Saturday 15th Sept at Kainos’ office located in Alpha Tower, Birmingham. Around twenty of those who signed up were selected to participate in the AI Camp and Hackathon. The group consisting mainly of Computer Science / Computer Science and AI undergrad students along with some from Physics as well, spans a number of university institutions across central England.
Just prior to this event another had been held in Belfast during the last two weeks of August with the final Hackathon taking place on Saturday 1st September. That left the tutors running the AI camp with just the Sunday to get packed and fly to Birmingham to get going again first thing on Monday morning with the second instance of the camp.
Social Media Feeds
Kainos (online)
Kainos Academy (online)
AI Camp Tutor – Chloe Thompson (online)
AI Camp Tutor – Jake Young (online)
AI Camp Co-ordination – Don Le (online)
Guest Speaker (Convolution Neural Networks) – Alan Dolhasz (online)
Guest Speaker (AI & the Media) – Kari Lawler (online), Youth4AI (online)
BCU Computing (online)
AI Camp Hashtag (online)
AI Camp Week 01 in Tweets
The following embedded tweets below should give you some sense of what the first week of the AI Camp was like.
Big welcome to our Birmingham A.I.Camp students! Find out more about our completely free and unique two-week artificial intelligence camp here, and register your interest for next year: https://t.co/pzHG5ryolBpic.twitter.com/NwKNILYpLm
Birmingham’s first Artificial Intelligence camp starts today! The camp will be held here at BCU for 10 days. Students will have the opportunity to learn the theory behind #AI and machine learning https://t.co/A3s2TjKeCe 🖥️ pic.twitter.com/TuuznNxb3u
Over the past couple of years one can see that Tents have been deployed during Game Jam and Hackathon events. You can see in the tweet directly below that a whole section of a sports hall was taken over with tents during the 2017 Global Game Jam.
Bilgoritma Topluluğu ve TEKNOKENT olarak düzenlediğimiz Malatya GGJ 2017 (Global Game Jam) den kareler
Looks like one group are undertaking “Tent Projection Mapping” for the 2018 Global Game Jam, therein incorporating the camping experience into their game idea. The theme for the 2018 event was “Transmission”.
It works! We have a projected tent! Now just to make some art, and code, and sound, and get our controllers working, and… wow, maybe that just was premature! #AGLJam18#GGJ18pic.twitter.com/gkTozS2lfJ
The following tweets below, highlight some nice examples of Post-it note art on the walls adding a good splash of colour and fun to the environment. Post-its can be useful for many things and not just for planning out your Game / Hackathon idea. Here’s a previous post (online) highlighting some post-it note art on campus.
On Saturday 23rd September 2017 a 24 hour Hackathon called “Hack The Midlands” kicked off at Millennium Point in Birmingham. Around 150 attendees turned up to share in the adventure of writing some code in teams. Quite a variety of participants took part including students from Birmingham City University, Aston University and the University of Birmingham. Other participants included a number pre-university and several whom had graduated several years before. It wasn’t just students of computing taking part either, but also had participants from disciplines such as Maths, Physics and Psychology. Some of the participants travelled quite a distance to take part in the Hackathon, with several coming from St Andrews up in Scotland and one all the way from Italy. Nine Workshops were also taking place during the event, covering things from web development and Node.js to VR (online).
It wasn’t all just about writing code either with many teams working of electronic based projects such as a 3D Printer, Arduino, Breadboards and the like. A good bit of soldering and de-soldering was also taking place. Was really great to see a diverse range of ideas and projects being brought to light. For some this was their first Hackathon, for others they had been to many before as some of the images below of laptops covered with Hackathon stickers can attest to. A few mascots were also to be found dotted around the desks such as “Otto the Octopus”.
Useful Links
Hack The Midlands Website (online)
HaCS Hackathon and Computing Society, Birmingham City University (online)
HaCS Twitter Feed (online)
Aston Computer Science Society, Aston University (online)
ACCS Twitter Feed (online)
Computer Science Society, University of Birmingham (online)
CSS Twitter Feed (online)
Keeping Cool
The 3D Printer Project was really quite interesting on two fronts. Firstly for the seemingly random parts deposited in the base and secondly for the innovative use of soft drink cans to elevate the printer to help facilitate systems cooling.
Day 1 Tweets
Below can be seen a selection of twitter posts from the first half of the Hackathon event.
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”?
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.
On the weekend of 18–19th April 2015 RGU’s first 24 hour Hackathon took place. Registration began on the Saturday morning at 10:00 with a total of 31 persons registering to take part on the day. At 11:00 and overview of the Challenges were given and a chance for team forming to take place. The challenges set out were in the general areas of working with hardware, data visualisation and SIE challenges. Hardware use took the form of gear such as the Myo Gesture Based Controller, Galileo Board and the Leap Motion. The second challenge on data visualisation was to make use of readily available data sets, examples included visualizing.org, open NASA data sets (over 9000 data sets available) and Twitter. The final challenge area was from the Scottish Institute for Enterprise (SIE) with areas such as Health and Wellbeing, Green and sustainable energy resources and Smarter communities and infrastructure. Next on the agenda was lunch, in the form of around 20 Pizzas, all being devoured in a matter of minutes giving plenty of time to get organised and start coding exactly at 13:00 when the 24 hour countdown clock was started. The image below will take you to a Facebook Photo Album of the event.
The next 24 hours was all about coding coding and coding, with the odd few people taking a quick power nap here and there. During this period there were a few breaks at 18:00 for Dinner, midnight for Late Dinner and 08:00 for Breakfast. Twenty four hours later the countdown clock finally reached Zero at 13:00 on Sunday 19th April signalling the end of the hacking session. It was then time for a spot of lunch, and on to the presentation of the work undertaken by all the teams. Things finally finished up around 15:30 or so with a good number of prizes being awarded and everybody having had a great time. The organisers had everything packed up and the venue put back to normal by around 17:00.
All in all it was a great event with many of the organisers / participants not sleeping for around 40 hours or so. Many people got up around 05:30 to 06:30 on the Saturday morning and didn’t get to bed until 10:00 or after on the Sunday night. Many managed to get through the entire event without even a short nap, just a handful took some powernaps of 1 to two hours, with the odd one or two napping for around 3 hours – leaving still plenty of time for coding.
Photos and Tweets were generated by many of the attendees and organisers, right throughout the event. One can see quite a few tweets available from eventifier.com. Of the nine teams took part with eight surviving to the very end.
Well done to the Organisers
Well done to the student team who put in so much time and effort into organising, planning and hosting the event. Hopefully RGUHack 2.0 will not be too far away and will also be bigger and better. Perhaps the RGUCompSoc that has been quiet for the past 18 months may reform and come back with a series of mini hackathons, to get some hackathon coding practice and perhaps organise a few other events too.
Thanks should be mentioned to all the Office and Support staff who helped with booking the venue / sorting out the hardware. Thanks to the Academics who popped in during the event as well, – in order of appearance: Roger, John, Sean, Robin and Mathew, a particular thanks to John who provided some Intel Galileo Boards that were used by several teams & and was also present right throughout the night, keeping busy playing GTA V.
Developed quite an interesting app that was able to take input from a Myo Gesture Controlled Armband and display the type of gesture on LED Matrix display being controlled by an Arduino Board. One could readily build upon this to create some very interesting applications \ games using this alternative form of data input and processing.
Insomniac
This team developed a Windows Phone Life Planner mobile App. The application had a number of screens including login, projects page, task list, schedule, friends signup. Overall the app had quite a user friendly and elegant design having the potential to be further developed.
Thinkstars
Developed a Web App around one of the Scottish Institute for Enterprise Challenges. The main idea was to provide a site whereby one could learn about first aid techniques and home remedies to various ailments. It also included a Lifestyle survey feature to allow users to get a sense towards what degree of a healthy lifestyle they were leading.
Bits Please
The project was designed around the idea of people moving to a new location. It provided a social environment where one could select language and location & could then find out info about the area, get to know others, and help improve one’s understanding of a foreign language.
Java The Hut
Took on a Data Visualisation challenge, making use of a Leap Motion Controller and a data set on Meteor Strikes available from NASA. One was able to interact with Google Earth by making gesture movements in the vicinity of the Leap Motion such as swiping left/right to accordingly spin the globe around.The team also worked on a second app called “Snooze You Loose”, the idea being that once could take geotagged photos of where your sleep and give a rating. Such an app could be useful for those doing lots of travelling.
Gallilop IT
The Gallilop IT group developed a version of Bop It making use of a good deal of electronics mounted on a breadboard attached to a Galileo Board.
Answerity
Created a web based app whereby one could ask questions and get answer in return, on any topic of interest. The idea being simple questions that were location specific. Users could up-vote or down-vote particular answers depending on how useful they were. The project made use of many technologies including Javascript, Backbone, jQuery and Bootstrap to name but a few.
AbertayHackers
This group looked at Data Mining tweets. They first looked at geotagged tweets but less than 5% of tweets seemed to include geotagged data, thus didn’t provide as much data as hoped. The team made use of cree.py in this task. Further work was done in the area of Sentiment Analysis looking for tweets that had a positive / negative meaning. A Python based web scraper was developed that allowed graphs to be generated giving an indication of the general positive/negative trend of specific search terms.