Whilst at The University of Edinburgh I self-proposed my final year project on Plan Recognition in R.I.S.K. I was supervised by Dr. Michael Rovatsos (an awesome supervisor I might add!). The research I did was fortunately noticed by the great folks over at the CREST Center UCL in their BSc Final Year Computer Science Project Competition 2013, and it had me shortlisted as a finalist.
The project involved the design and implementation of a plan recognition agent for the board game R.I.S.K. The implementation was done in a game called Domination, a Java version of the classic board game R.I.S.K. developed by Yura.net. Domination is freely available and you can download it through Sourceforge here.
The agent that was created is based on Geib and Goldman’s Probabilistic Hostile Agent Task Tracker (PHATT). Acting as an observer to the game it’s goal is to infer the unknown missions cards of players based their actions in real time. In my project report I evaluated the plan prediction accuracy of the agent with four experiments, the results of which I presented and analysed. I then went on to discuss the project outcomes and future work.
You can read my report here (brace yourself its a long read). Additionally the source code for the project is available from GitHub here.
Thrillseeker is a game jam submission on the theme “You Are Your Own Worst Enemy” designed and created by my friend Sangseo Lee and I. The core mechanic of the game is that whilst flying close to passing asteroids gives you a higher score, doing so greatly increases your chance of crashing. It’s like Burnout in that the player is rewarded for high risk game play.
White blood cells play a vital role for our health, without them we’d be easy pickings to the likes of even the common cold. Play a moment in the life of a white blood cell and battle against an ever growing hordes of viruses and protect the red blood cells to keep your heart beating. Even better, do it with a friend! Happy hunting!
Immunity is a coop game that I worked on with Sangseo Lee, for the Global Game Jam 2013 at Edinburgh. It took second place in the local competition and was noted by the judges for best design. At the moment it’s written in Java using the Slick framework and can run on Windows, Linux, Mac and Solaris. Check it out at the Global Game Jam website here!
Writing a good, feature rich platformer engine takes a lot of work. Building a simple platformer engine is considered a case of ‘reinventing the wheel’. So it makes sense why some choose to find a pre-built engine to plug in to their game.
The trouble with this can be:
Getting it plugged in.
Figuring out how it works.
Finding it doesn’t do exactly what you what.
Seeing as the feature needs for a game I’m building are simple. I instead decided to learn the basics then build such an engine in Game Maker. For now, I’ll briefly run through the resources that helped me build a major part of what I’ve implemented. Collision detection.
Implementing collision detection can be a head ache if your new to ‘game physics’. So to help you on your way here is a good video by Shaun Spaulding which gives an in-depth look into how to create a platformer in Game Maker. I’d recommend watching the whole thing, in particular where he explains the basic concept of collisions at about 22:30.
The system he describes is basically a method of checking several pixels ahead per frame. If a situation arises where two objects intersect, move the moving object to a point where they are next to each other but not intersecting. This is the method I choose; there are many many ways of doing it.
So on my travels surfing the vast expanse of the internet I sometimes encounter music practitioners, people who give my dose. Smooth McGroove is one such person. With his all original a-capella arrangements of primarily video game music I can fly away; if only for a moment.
Here’s a great bread recipe for Cheesy Mushroom Pull Apart Bread that I tried recently. Now it’s great as is, but I decided to make a few changes. Instead I used:
Extra Mozzarella Cheese.
1/4 cup of butter rather than 1/2 cup.
The only thing I’d suggest when making this is to scoop out some bread from the inside of the loaf. More space = More filling! Additionally I suggest adding a decent amount of good quality olive oil into the filling area before placing it in the oven.
Nonetheless it proved to be a hit. So give it a try and let me know what you think!