Not so very long ago, someone around these parts said something very much like this:
Still, I think I've pretty much found my toolset for the forseeable - Unity for 3D and heavy lifting, Java/libGDX for smaller stuff. I'm hoping to be able to bang out smallish mobile games reasonably quickly
You'd think I'd know by now not to go making grand pronouncements of The Way Things Are Gonna Be - seems like it's a great way to bring about Change.
So what happened this time? Well, it seems those nice chaps at Unity decided to make the iOS and Android versions available for FREE for the next month. Since free stuff is my very favourite kind of stuff, obviously I grabbed them as soon as their servers stopped melting.
Which leaves me with a minor dilemma. Do I carry on working with libGDX as my mobile development platform, thereby suffering the twin pains of building my own damn engine and having to code in bloody Java, or do I switch to developing exclusively with Unity, thus allowing me to once more get my C# on at the cost of losing the stuff I've done so far?
For future projects, it seems like a no-brainer, but Droidy Shooty Thing's pretty much done bar the polishing now. Not sure if the productivity gains I'd get from having a solid platform under me and a language I actually like would outweight the cost of rebuilding it from scratch...
In which Beerman realises yet again that he's not updated the blog for nearly 2 months...
Bad developer! No cookie! So anyway, I've been beavering away at Beercave Towers for a while, thought it was about time I checked in.
I finished the first fully working build of the client code back in January. Back then it was running a 12-square, 4-continent board for ease of development, and looked a little like this:
After a short break working on other stuff (see below), my hotshot graphics team kicked into gear this week with the first of the art assets - a shiny new game board!
In my last update, I mentioned that I should probably get around to writing up how I got on with Ludum Dare 22. After just about completing something that could be called a game for LD21 back in August (full story here), I thought it'd be fun to have another go now that I've been playing with Unity for a while.
If you just want to play the game, go here, otherwise read on...
Been a while since I updated, so here's what's been going on at the Beercave lately.
First off, the Beercave has moved. Still getting settled in and unpacked in the new place but I'm back to a point where I can get some work done again.
Playing Gods is coming along nicely. Had a minor hiccup in the early playtesting where it looked like the App Engine server I'd built wasn't really up to the job. I was having some pretty major stability issues with the Channel API, and some concerns about getting it talking to Unity. Fortunately, while poking around the Unity forums, I ran across SmartFox Server, a server platform designed for building multiplayer online games with a Unity API. Since SmartFox talks python it was a fairly minor job to port all the game logic from the App Enging server across, and I'm now much happier with what I've got.
Took a little longer than I'd originally planned - between moving house and finishing my job I've had somewhat less free time than I anticipated - but as of this evening, the Playing Gods server code is feature complete.
Still needs a decent chunk of playtesting to get all the bugs out, but right now it's possible for up to 5 players to play a full game in my not-particularly-attractive HTML UI with only occasional recourse to the "something's gone wrong, resync with the server" button.
Next job once I'm happy that everything's pretty much working is to basically rebuild the client in Unity and swap in some nice impressive looking animations where I've currently got a popup box saying "god X is in ur base, killing ur dudes".
In other news, as of this Friday lunchtime I'm officially an unemployed bum. I'm planning on taking a few weeks of downtime before I start looking for contract jobs, so I'm hoping to start making some serious progress on PG. Depending on how things go, I might just dust off Gun Bastard and see if I can squeeze a little gameplay in there - got a whole bunch of ideas I'm looking forward to playing with there.
I aten't dead.
So the weekly blog/daily update thing never quite took off. I've managed to at least maintain some development momentum though. I've added the world map and territories to the board and got the add chip mechanic in place, and the board currently looks a bit like this:
Not exactly pretty I know, but I've got pretty much all the UI elements in place now so I can make sure the server code is behaving. Right now I'm in the middle of implementing the Wrath card mechanic, so that the various gods can lay down some almighty smitings!
Hopefully I can get the rest of it in place fairly early tomorrow, then there's just the conversion mechanic and victory conditions left to do before I start work on the shiny 3D front-end stuff.
Thought I'd sneak another update in before the weekend's over with. For once I've managed to get some actual coding time in, despite a spot of drama yesterday where my router decided it was time to die. Wouldn't have been as much of a problem, but for some stupid reason the frontend code was using an online copy of jQuery so I couldn't do a damn thing until I could get hold of Karoo tech support to check the account password I haven't had to remember since sometime in 2005.
Still, that out of the way I've managed to get a good few hours in over the weekend, which I mostly spent on refactoring - the existing code was a bit thrown together while I was still getting to grips with the App Engine framework and trying to keep track of how things worked was starting to slow me down.
Enough wittering on though - the main point of todays update was that I wanted to finally get a screenshot out there of what I'm working on. It's not hugely exciting visually but at least it's something to look at.
That's how it looks right now - currently you can connect multiple players and they get to take turns rolling the die and moving around the board. Now that I've got a bit neater codebase to work with I be able to should start adding features a bit more rapidly.
Well, look at me! One week to the day since I decided to start doing weekly updates and I'm actually following through. Hoping to get another post in before the week's out as well.
PG Dev's been a little stalled for the last week or so - LD48 used up a lot more mojo than I'd anticipated - but I'm getting back on track. Right now I've got game state tracking set up with App Engine with a fairly simple HTML/JS front end for testing. Currently, players can join the game and then take turns in rolling the dice and moving around the board.
Next step is to add in card collecting and then look at building in the territory capture mechanics. If I can just find some bloody free time I should have a decent chunk of that in place by the weekend. I really need to get this beastie in a state where it can be playtested pretty damn quick so I can make a start on the Unity stuff.
With any luck though, free time should be something that becomes a bit more abundant as I wind down the day job. Turns out I had enough unused holiday time left to book my remaining Mondays off, which should give me a fair bit more time to get things working. Also, long weekends for the win :)
Ah yeah, so it's been a while since LD48. I should probably wrap things up.
What went right
- Well, I made a "finished" game in 48 hours. Had a title screen, gameplay and a way to win. It just wasn't very good.
- My secondary goal was to familiarise myself with Unity3D. While I'd hardly call myself an expert I feel like the pressure of having to complete something in the two days really helped me make the effort to learn some stuff. Without that I'd have most likely just dicked around reading a few tutorials and not actually making anything.
- I'm really happy with how the lighting and camera effects turned out. If the actual game had lived up to the promise of that initial flythrough of the level I'd have had something pretty good on my hands, I think.
What went not-so-right
- I didn't know the toolset at all. Not having a clue how anything in Unity worked was a pretty major handicap - I spent most of Saturday just getting the camera to behave, which wasn't exactly optimal use of my time.
- Losing all the level data when my PC crashed on the Sunday night wasn't exactly fun. I really, really wanted to quit right there. Note to self : check out what source control systems play nice with Unity and bloody well use one next time!
- I realised about halfway through Sunday that I really don't know a damn thing about game AI, so not having the time to do anything about it I opted for just making the enemies do the classic dumb charge at the player. Think I need to do a wee bit of reading up on the subject, then when the next LD rolls around make sure my project is pretty AI heavy just to force myself to put some of it into practice.
I did it! Fuck yeah! Alright, so it's not the greatest game in the world - it's not even a tribute - but I finished a game in 48 hours, which ain't bad going considering I'd never even touched Unity before yesterday morning.
I'm just waiting for the source to upload now and then I can submit my entry and get some well-deserved rest because I'm really quite knackered...
Oh yeah - I should probably include a link to the finished game. Here you go : GET TO THE CHOPPAH!!!