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!
The continuing adventures of Charlie Dog and his blog...
Charlied Dog Games Title
This morning it was warm enough for Victoria and I to eat Breakfast on the patio, the first time since the cold weather set in four months ago, and we commented that it will hopefully become our normal breakfasting location over the coming months. We had jackets on but by lunch time it was warm enough for shorts and a vest. We cleared all the old rubbish out of the garage and took a load to the local tip. In the back of the garage we found a rather expensive painting we bought in Perth. I hated it as soon as a I saw it on the wall in our old house and I couldn’t stand to have it on the wall here, partly because it’s not my taste but also because it brings back painful memories of the short time we spent over west.
Anyway the picture had been kept in the garage, still wrapped carefully for transit but rats had got into the packaging and started to destroy it. Burning was a reasonable thing to do I thought. It only took one match to get it going but as i watched it burn I became concerned that the wooden structure of the frame might not completely turn to ash and I spent a while poking around in the fire until the structure was completely unrecognizable. The corners concerned me most of all, the hard angles and reinforcing gussets of the frame seemed the most symbolic in some way. It’s all gone now, just a pile of ash. I probably sound a bit crazy but I feel better about it.
I have continued experimenting with the random cave generation system. After I’ve generated the basic cave layout I randomize the cave mesh to make it more realistic. Previously I used a combination of trig functions to move verts about based on their x,y,z. This worked but gave results which had a rather geometric property to them. It looks quite nice in places but I wanted something more organic. For sometime I’ve been meaning to experiment with Perlin Noise and a couple of days ago finally got around to adding a function and switching the caves over to use it when generating the meshes. The results are really encouraging and I think I will be using Perlin Noise a lot more in future.
Perlin noise is a rather computationally heavy algorithm though so I might try switching to Simplex Noise later. But performance isn’t too much of an issue at the moment and I could try a computate shader , which Unity now provides an API for if I need a big speedup. Alternatively I could put my heavy maths code into a C++ DLL if I really need to up the speed. Enclosed screen shots show what a difference it made compared to the earlier builds.
Also my friend Seb provided me with some nice rock models which I added in. They are randomly seeded into the level and orientated randomly. I’ve enabled SSAO in the build, which looks quite nice so I think I’ll keep it.
There are some really annoying bugs in the geometry builder though so I need to fix those before too much longer. But I’m now starting to think more about AI and path finding. More on that later…
The Cave Game
I’ve been working on a system to procedurally make an adventure game set in a cave system. Something like Spelunky but 3D. I’ve recently come back to it after a fairly long hiatus. Main thing I’ve done is tidy up the code which creates the layout and switch from using Strumpy to Shader Forge for the shader creation program. I use something called a triplanar shader with additional blend functions to texture the cave walls and intend to do a tutorial about it later. If you are going to try adding custom shaders to your Unity project then I recommend using Shader Forge, it’s pretty good IMO.
Here are some screen shots of what I am working on at the moment:
The HUD and weapons are completely place holder. The cave mesh and textures look reasonable now I think and the algorithm makes interesting levels. I’m going to spend some time adding more enemies to the game and try and get some game play in place. I’ll add a few movies over the coming months and then hopefully a playable web version before Christmas. It will be interesting to find out if there is any interest in the project.
Unreal Engine 4 – fail
I recently decided to give Unreal Engine 4 a go. I was interested to see if I could make a game using it. I was attracted by the very reasonable price, quality of games I’ve seen made with it and the claims that Epic make. I rapidly discovered that it’s not quite as good as I had been led to believe. There shouldn’t really be a surprise there. People rarely describe their products accurately these days in my experience.
There are some good things about this engine. If you are an artist or a designer who wants to make something playable without having to write any code then blueprint makes this possible. There material editor is excellent also.
Unfortunately if you are a proficient coder then blueprint is an ugly and clumsy interface to use. Worse is the fact that Epic have made blueprint all but impossible to avoid. So the programmer is faced with having to use ugly work arounds to avoid blueprint or having to try and use it. It’s not all bad but it’s not great either. Probably the deal breaker for me though is that when developing new bits of code the workflow is hideously broken. The editor needs to be stopped and restarted every time a class is changed. That’s incredibly poor compared to Unity. I can’t believe they still expect people to work this way, but that’s Epic for you.
It’s funny because it’s true
I read Penny Arcade fairly religiously and although they sometimes miss the mark there is usually more than enough gamey related goodness to keep me coming back.
Mondays comic was particularly good and I enclose a copy of it here to save you having to follow the link…
I have mixed feelings about my kids playing a lot of games. Part of me worries that it is so all consuming for them but I don’t see any evidence that they are suffering either mentally or physically. They are both getting really good grades at school (as in top of their class) they are reading books well above the level I was reading when I was their age, their maths skills are at least as good as mine were at the same age and they don’t have weight or health problems. In fact they have both decided they want swimming lessons again and are starting to get pretty serious about tennis. I think kids just need a bit of careful wrangling to get them into the right places, then they do the rest.
My son Joseph, who is nine, recently relayed this little gem to his mum. “Mum, at the sleep over Sam (name changed to protect his identity) said that he is really looking forward to his first wet dream, and I said I was really looking forward to getting nine million dollars from making my first computer game.” I couldn’t be more proud!
I used to listen to a lot of music by the UK band underworld. But recently I haven’t listened to them as often. I still like Cowgirls, Perl girls, and the other great tracks they have done but for some reason their music doesn’t resonate with me as much. Maybe it’s because when I was really into them I was having a bit of a tough time in fact I ended up on anti-depressants for a few years. Now I’m off the medication and coincidentally I’m listening to underworld again I’m not sure if that says anything about them or me.
Anyway I’ve got their new albmum and I think it’s a bit of a corker (that’s a good thing for you none English speakers) The album is called Barking. My favorite tracks at the moment are the last four but they are all good. It’s not as experimental as their earlier work, almost more like their very early stuff like under the radar. But I like it a great deal. It’s a surprisingly uplifting and jolly album and reflects my mood at the moment. Recommended.
Tilt and Swipe available for windows phones
Tilt and Swipe is now available for Windows Phone 8 through the windows app store
It’s free to play for the first 20 minutes then you have to buy it to continue. I think it’s a really good game, although obviously I would say that:) Anyway there aren’t many games which fully exploit the accelerometer but this one does. I enjoy playing it.
Next I’m going to do a release for the Amazon store.
Tilt and Swipe – Windows phone development
A while ago I blogged that I had been accepted on the Unity Windows Phone developer program. Since then I have received my free copy of Windows 8, my free membership of the developers program and my free windows phone. The latter is probably the best thing which has happened to me games related for a long time and my biggest and most earnest thanks to Microsoft for doing this. They sent me a Nokia Lumia 925. I really like it, it’s easy to use, fast and very pretty. Call quality is great, music playback is great, its got lots of features and battery life seems very reasonable.
But what about game development I hear you ask? Well, turns out getting Unity projects to run is very easy, much easier than IOS or Android in my opinion. You need Windows 8 and a recent version of Visual Studio, and you need the phone SDK. But none of that is particularly difficult for a developer to set up. Unlocking the phone for development involves running an app which comes with the SDK. Then you just load up Unity, select the windows phone as the build target, build the project, fix any bugs and deploy it. Bugs for me simply involved removing some Android specific functionality.
The game worked pretty much first time. There are a few things which need fixing though. Vibration didn’t work but I wrote my own plugin for that and it works great. Saving and loading of progress doesn’t currently work so I need to look into that but I suspect it’s just a matter of using the official calls. Then of course I’m going to have to add some mechanism for making money which will be specific to the Microsoft store. It looks like the latter is fairly easy to do using the standard, trial mode, system which the store supports. I’m going to try and implement that first anyway.
All in all it’s a nice device and a really good experience from a developer point of view. I’ll blog about it again when the app goes live.
A book review
I have almost finished reading Stephen Kings new book Doctor Sleep.
It’s the follow up to his seminal horror work The Shining, which I talked about in an earlier post. Doctor Sleep is a good book in my opinion, but at the same time it is a very different book to the Shining. It has it’s horror moments for sure, but at it’s heart it’s more of an action romp than a horror story and readers should be prepared for that when they read it to avoid disappointment. But it’s still a very good read and at the end of the day an average King book is still better than a good Koontz. It’s nice to know what happened to Danny and that things work out for him in the end
Life is like that…
I have to make a video tutorial explaining how to set up GPGPU acceleration on a physics simulation tomorrow for a lecture course I am preparing on game physics. GPGPU is the next big thing in computing and is supposed to offer amazing performance improvements. Setting it up with PhysX is a complicated process and took a long time for me to get working. The end result is anything but impressive providing an astounding 1% reduction in performance on my GeForce GTX860M (I have a rather nice MSi gaming laptop for use at work). I have no idea why performance is so bad but I have decided to come clean with the student and simply tell them that life is sometimes like that: you work hard, do all the right things, and still it just fucks you over. This is an important lesson I think.
And finally, for no other reason than because we must have pictures when we blog otherwise people don’t read the blogs, here is a picture of a Vulcan playing a harp and a women playing a bicycle wheel.