Online games are going from strength to strength, whether It's the commuter on his iPhone getting some games in on the way to work, or the hardcore desktop player. Online gamblers are spoiled for choice, with many of the newest games from casinos offering slick graphics and interfaces. Internet gambling/gaming is getting more popular across the world, from Australia to the States. It's a great time to be a game developer, programmer or a player!
Play free games like Book of Ra in your browser via Piramind.com today, no download required.
The continuing adventures of Charlie Dog and his blog...
Charlied Dog Games Title
I’ve read quite a few text books as part of my Masters and now that it’s finished I’m getting withdrawal symptoms! So I’ve taken to reading text books, “for fun”. Two books are in my reading list at the moment and both are interesting for game developers.
The first book is Behavioral Mathematics for Game AI. I should straight away say that this isn’t a deeply technical book for people looking for insight into leading edge techniques. It’s more of a general introduction to the subject and spends quite a bit of time discussing general AI problems as well. But it is easy to read and presents the most important aspects of this subject in an interesting and accessible way. There are many very technical books on the subject of AI, (such as this one! which is at the same time very informative and frustrating to read), for those who care to look and this book is much easier to read. It probable tells you everything you need to get started modelling behavior in games too. Behavioral modelling is just one aspect of AI and although as I previously stated the author does stray into other areas of AI the focus is on that. Readers new to AI in games will need to compliment this book with other more general AI books (of which there are many to chose from). Behavioral modelling is the crux of the problem for interesting AI behaviors though so I’d recommend this book if you are about to embark on writing slightly more advanced AI for NPC in your game.
The other book I’ve been reading is Computational Geometry Algorithms and Applications . This is a great source book for solving the more complex mathematical problems we encounter in games development but it’s also an interesting read when one starts at the beginning and work through it. The examples given are interesting but the maths rapidly becomes quite complex so it’s not for everyone. I’ve implemented a few of the algorithms in the book and it would be an excellent exercise to go through the whole book implementing everything and working through the examples. One thing I find in computer game development is that many of the people I encounter are scared of maths or have poor maths skills. If you want to stand out from the crowd in games, learning good math skills are a great way to do it. Learning them is harder than learning how to write scripting in Unity but you get what you pay for as they say!
Console development is now as easy as PC, but it’s a double edged sword…
As regular readers know I teach at the AIE in Canberra Australia.
As part of my teaching I get access to some pretty cool resources and this now includes PS4 dev kits! I’ve spent the last few days setting one up for the students to use. It turns out it’s pretty simple to get working. As with most modern devkits one simply plugs it into the network then connected remotely from a PC. That way several people in a team can share the same expensive bit of kit. I started by testing the native code demos and they worked fine then we set Unity3D up to work with it. Ps4 development using Unity is incredibly easy, assuming you have the PS4 plugin that is (it’s impossible without it) and is simply a matter of selecting PS4 as the hardware platform and hitting build and run. Of the student projects I tested so far the ones using the standard Unity controller input worked first time but the ones using XInput failed to run at all.
So that’s great. it means that it’s now really easy to get your indie games running on PS4, assuming you have a devkit that is. Sony, Microsoft and Nintendo, are pretty good in that regards too, giving out SDK licenses to indie developers who make a reasonable case that they need it. Getting the kits is a bit tougher but I know of several indie’s who got them from Sony, on a long term loan, as part of Sony’s indie scheme.
But I think there is a downside to this and I must emphasize that this is my opinion only and doesn’t reflect the views of the AIE or anyone else I am connected with. The problem is that in the old days console development was hard. it meant you needed a lot of expertise and you needed to invest a lot of effort to get something up on a PS1 for example, but that acted as a gate keeper to keep the number of titles down. It also meant that big studios where hesitant to develop for the smaller platforms or sometimes didn’t port to even the big platforms if they didn’t think the sales where going to justify the effort involved. This meant that there where openings for smaller developers to do to the porting or to produce original titles. Unfortunately, with the democratization of game development and platforms such as Unity3d and Unreal, that’s all changed. By following a few simple development rules and clicking an appropriate button you can deploy your same game for XBox One, PS4, PC and WiU from Unity, and with a bit of extra work include IOS, Android and Windows Phone too. A quick perusal of the online stores for all these devices shows how damaging this is for the industry because, low and behold, all the same titles are there on all the formats. Occasionally Sony will sign someone up for an exclusive but usually it’s cross platform within a year. That’s a problem for all of us. it makes it easier to get your products out there, but it is much harder to stand out from the crowd now.
Game Review: Spectromancer
It’s been a while since I posted a game review so I thought I’d talk about Spectromancer today. This is not a new game, it’s been out a few years and is actually a sequel to Alexey Stankevich’s game Astral Tournament, which I absolutely loved but which is no longer available (it had rather “unique” art which I think the author made but that was part of it’s charm). There is a Spectromancer 2 out but I couldn’t seem to find the links in the turgid morass which passes for online games forums these days.
Anyway the reason I’m writing about this game is that I recently downloaded it again and showed it to my son, who loves it. He’s just getting into Magic the Gathering, which I assume we’ve all heard off… Spectromancer is quite similar but I think the mechanics are a bit better and certainly lend themselves better to a computer game. To very quickly sum the game up it’s a turn based card game where you try to destroy your opponent by whittling down his hit points. You attack by putting cards in slots and defend by putting cards in opposing slots. What makes the game a bit different from Magic is the way Mana accumulates and is managed and that makes for really interesting game play. Cards have the usual range of special abilities and there are creatures and spells. In the full game there is a rather nice campaign with some simple deck progression built in.
It’s great to see my Son enjoying this game and I heartily recommend it to anyone who enjoys turn based card games.
GCAP and paper
I presented at GCAP a few weeks back and I thought I’d do a follow up. GCAP was great this year with much bigger attendance than I remember from previous years and a good selection of talks that where generally of a high standard (at least the ones I saw). I thought my presentation went well. I said everything I wanted to say and my demos worked properly, people even laughed at my jokes, which was nice of them :).
The talk I did was on procedural generation of cave meshes and as I mentioned at the talk I’ve produced a fairly detailed report as part of my Uni masters course which is now available online from here
The paper covers quite a bit of stuff. From the algorithm I use to generate the caves through to a fairly indepth survey of GPGPU techniques and tessellation. The most exciting thing I found was that performance gains from using OpenCL is excellent. the following graph compares CPU performance against OpenCL performance for the very parts of the cave creation algorithm.
As can be seen when using the CPU the mesh creation part of the algorithm was by far the biggest processing time hog, but after GPU acceleration it was the least significant. In fact the new most significant is the creation of normals which also would seem to be a prime candidate for GPU acceleration so that’s probably what I’ll tackle next. I also compare various GPU cards to see how performance varied across hardware and the results where very interesting:
As can be seen even old cards offer a big advantage over current generation CPU (I tested against an I7).
The results from Tessellation where less conclusive. it works well but FPS was quite a bit poorer. I’ll probably talk about that later
I am presenting at GCAP 2015
I’m very excited to be one of the speakers at this years GCAP conference in Melbourne.
I’m presenting a talk on the procedural cave creation algorithm I’ve been developing for a few years. The emphasis is on how I am accelerating the creation time using OpenCL and Tessellation shaders. I’m excited to be able to show of my work at last.
I’m almost finished with my Comp Sci Masters! For my last course I picked computer graphics, mostly because I thought it would be straightforward but also because I knew I’d pick up some new knowledge. I’ve found that no matter how much I think I know there is always something more to learn. In the last tutorial we implemented a ray tracer. I’ve never done this before so it was new to me and I thoroughly enjoyed doing it. I wish I had a bit more time to spend on it but here is a screen shot of the result demonstrating basic lighting, shadows and reflection.
Something else that I do in my spare time:
Mambo Italiano performed by Anthony, Victoria, Gregg and Annie at the Dance Generation Spectacular 2015 from tony oakden on Vimeo.
Anthony and Victoria overcome their stage fright to perform a stunning Mambo routine.
The kids are watching a program which purports to be an account of Australia’s involvement in WW1 but in my opinion glorifies in isolated individual acts of bravery whilst ignoring the gross political and ideological idiocy which led to the war in the first place. A war which cost over 16 million lives, which solved none of the geographic, economic or political, problems of the time, and which dovetailed neatly into WW2 which cost another 80 million lives almost half of whom where civilians. But, hey, lets all remember and celebrate the bravery of the single solider who caught hand grenades and threw them back at those evil Turks.
I’m not a pacifist and I’ve nothing against remembering brave men with respect but there needs to be some context to all of this otherwise it’s just jingoistic chest thumping and I don’t think any of those men who died are treated to the respect they deserve unless we remember why they had to do what they did and who was to blame.
Pushing too hard
Oh dear, it’s been such a long time since I posted. I’ve been busy with various things, not least of which are work, my family and study commitments. I promise I will have something playable up on my site soon. Just as soon as I can find time to sort out a few more bugs. Please be patient and come back soon to play something amazing.
I did see something amusing last week though. I am taking a course at the Australian National University, as part of my Masters Of Computing: Requirements Elicitation. This course is all about finding out what customers want and then making sure that the information is used to make systems which meet users requirements. It’s an enormously important subject, it turns out that most of the software projects which fail, fail because they don’t understand what the customer wants.
The door to the computer science building, where I attend the tutorials for the course, is clearly marked with a large sign saying “PUSH” but one must pull the door to enter the building! When I asked about this I was told that nearly all of the academics enter through the other entrance so are not aware of the problem with said sign. The irony appears lost on them
I presented a paper on Extreme Learning Machines at IFEST 2014
On Saturday IFEST 2014 was held in Canberra. It was a great little event. Some great indie games where on display including this one.
I did a talk on artificial intelligence and the slides and video of my talk should be up on the site soon. It’s a subject I’ve become very interested in over the passed few years, mainly because I have been studying it at ANU.
I wrote a thesis on the subject of Extreme Learning Machines as part of my Masters on the subject. The thesis covers the basics and some new ideas I have had. I think there is scope to use these techniques in games and hopefully over the coming months will have some projects to show for the work I have put in.
The picture shows the results of training an ELM machine with 25 nodes in the hidden layer, to recognize, a double spiral data set. The diagram demonstrates how results vary dependent on what is in the hidden layer. The code is C# and so should work in Unity once I have time to set it up.