Flash-tastic
Posted by Ben Hymers | Filed under cities-in-the-sky
Well, I sorted out a new Simul license so the sky is back to normal (and so I can post screenshots again!). I've also done a load more work on the UI. It's still not totally functional, but the high scores screen displays high scores and the in-game UI shows points and tilt like it did before, so I'm back to normal functionality at least. I also did some clever-but-not-really things like learning a bit of Actionscript, and scaling the Flash output based on viewport resolution.
The high scores screen you see is the result of several hours of tweaking and fiddling. I'm fed up with temporary graphics so I thought I'd try to create something a bit more permanent. It turns out I'm not so good at this though - it looks a little boring to me. It's not abysmal, but it's not good either. There's a chap at work who's marvellous when it comes to interface graphics, maybe I'll ask him to sketch something up for me, so I can at least get a nice theme and colour scheme going.
I'll probably improve the UI functionality next ...
Into my face
Posted by Ben Hymers | Filed under cities-in-the-sky
I had a little time to play with Hikari, a UI library for Ogre that effectively wraps a Flash control and adds some C++ interoperability. This means that I can make a little Flash application and have it run in-game as the user interface, which is much more flexible, easy to modify and generally nice than the Ogre overlay system I'm using at the moment.
I've made a Flash file for the menu, in-game UI and high-scores table and they're being displayed in-game instead of the ugly temporary overlay graphics I had before (that you never did and never will see!). They're not functional yet since I haven't really had the time to learn Flash, and the input code I wrote doesn't keep track of cursor position yet which would make buttons useless. That's next on the agenda though.
I shan't give you a screenshot since I still haven't sorted out a Simul Weather license, so everything looks very ugly!
Typical "I'm not dead" post
Posted by Ben Hymers | Filed under cities-in-the-sky
Honestly, I'm not dead, I'm just being quiet. I haven't posted for a while because the Simul Weather evaluation ran out so I haven't got anything pretty to post screenshots of!
I just thought I'd update you with some of the goings on, however uninteresting they may be to anyone but me.
Game-wise, I've been fixing up some bugs that have been around for a while. I finally got annoyed by them enough to kill them off. For example, previously you could only play the game once; if you chose 'play' from the menu a second time the game would crash. That's because Ogre rather annoyingly requires you to give a unique string identifier to everything, and throws a wobbly if you use the same name twice. There are no other options. So I implemented the simplest and most effective solution I could think of: using the 'this' pointer converted to a string as the name.
Programming-wise I've been improving the quality of the code (I just got Effective C++ by Scott Meyers and it looks like there are one or two things I didn't know!). I've also been writing ...
Clouds (really)
Posted by Ben Hymers | Filed under cities-in-the-sky
Clouds are just about more or less sort of done. There are just a few loose ends to tie up (for example, at the moment there's no ground, just a big black square if you look down, and the lighting is messed up at close range, hence the zoomed-out shot) and some tweaks to be done (it's all looking rather over-exposed, for a start), but they're in there, working, billowing their way across the screen in a cloudy fashion. Brilliant!
I just noticed when I went to upload the screenshot that I haven't given you anything since June, so I'm very sorry about the delay! I'll try to snap things a bit more often, since pictures are worth a thousand words and all that.
Now that the sky is super-spiffy, I should probably work on making the rest of the awful graphics nicer! I'll see what I can whip up.
Clouds
Posted by Ben Hymers | Filed under cities-in-the-sky
Well, I've nearly got Simul Weather's nice clouds and sky in the game. I had a day off because the cable guy was coming to give us TV (sadly he turned out not to be Jim Carey), so I had a good go at integrating it with CITS but it's not quite working yet. Well, it's working, it's just not working quite the same way the game is expecting it to work. I need to do some tweaking and fiddling, basically. The bits that look right are looking gorgeous though!
Sadly it's looking like Linux support isn't going to happen any more, since both Simul Weather and the library I'm hoping to use for the GUI are very heavily Windows-oriented. Looking at Google Analytics though, 94.44% of the visitors over the past month use Windows so I don't know if that's such a huge deal. I'll keep it building and running on Linux since that's what my build server is using, it just may not have nice sky or GUI!
Shouldn't be long before I have some shiny new screenshots for you all!
Tests, clouds, and wasted time
Posted by Ben Hymers | Filed under cities-in-the-sky
I managed to get loads done on Wednesday, but it's all under the hood stuff (I wanted to ease myself back into development by writing something not too important). Basically I wrote some bits of maths code to remove a dependency on OPAL from some code that shouldn't need it. The nice thing is that I wrote unit tests for everything as I went, so the new code has 100% test coverage and since I wrote the tests first it has a nice, simple and easy to use interface. This pleases me.
Thursday was not so successful - I started by streamlining the game a bit by removing some unnecessary screens and removing some crusty old graphics I had as placeholders, just to make it feel a bit more like a proper game. After that I tried making some half-decent graphics for the menu and in-game HUD, not to be totally functional but to get the look and feel right, and whilst I came up with something that looks good in Photoshop I didn't manage to get that into the game too well - Ogre seems to like blurring textures a lot when not displayed at the exact original ...
Interface in your face
Posted by Ben Hymers | Filed under cities-in-the-sky
After a fair old bit of research and tinkering, I've decided to hold off on getting cracking on improving the interface since the GUI libraries available for Ogre just aren't mature enough yet, and I have super-secret insider information that the solution I'm waiting for is in development. Once that reaches maturity I'll be sure to start using it straight away as that's the main area for improvement at the moment - the menus are horrible and the in-game interface is lacking things I want to show, and the current system makes this very time-consuming to change. I'll eventually be using a Flash-based GUI system, which will allow me to develop interfaces in Flash (which is perfectly suited to the job) then send and receive messages to and from it from the game. Trust me, it'll be beautiful!
It was my Birthday a few days ago (I've been around for 23 years now!), and my lovely girlfriend bought me a Wacom Bamboo Fun. I've been doodling away ready to try my hand at some concept art, with a view to getting a bit of direction art-wise, rather than the borrowed models and ...
It's only fair to giveth back what you taketh away
Posted by Ben Hymers | Filed under cities-in-the-sky
I just allowed people to be born, to balance out all the people that get sent screaming (in a silent fashion) to their doom. The birth rate is linked to the number of buildings you have. Hopefully this will prevent the game feeling like it's slowing down as you get further in (which is exactly the opposite of what I want!).
I also changed the lose condition from "angle > 25" to "people == 0", partly because it's much more fun the second way and partly because it's really difficult to stop the island tilting, which makes debugging things very difficult!
Incidentally, I felt something different when I played CITS last... fun. It's actually starting to feel like a fun game, despite being painfully simple. Huzzah! Next up is getting some UI up to show the state of things, which will probably require a bit of effort since the overlays system in Ogre is terrible, and I'd rather use a proper GUI library (even if I have to write one myself).
Pies
Posted by Ben Hymers | Filed under life
Allo!
Well, I figure I should probably get back into the swing of things now. I should probably also explain why I haven't been in the swing of things too.
A month and a bit ago I thought it'd be a great idea to reformat my main computer to install a couple more operating systems and to clean out the crap that always seems to have accumulated in Windows after about half a year or so. It should have been dead straight-forward, but instead resulted in hair-pulling frustration and a lot of CDs in the bin. After several nearly-working installations of XP and Vista I discovered (through use of a helpful little tool called memtest86+) that my RAM had somehow become broken, at the exact same time that my DVD drive broke. This wiped out about two weeks through experimenting, waiting for things to arrive, experimenting again, waiting for more things to arrive, and finally setting up four (yup) operating systems.
Then once I'd gotten my development environment all up and running with the latest versions of my dependencies (Ogre, UnitTest++ etc.) I found out that, in a nutshell, Ant is rubbish for C++ projects. I already ...
Clumsy cuboids
Posted by Ben Hymers | Filed under cities-in-the-sky
The little cuboid people can now trip over if staying upright is getting too tough for them. I had to do some proper maths-y stuff to get it working, which flummoxed me for a while - who would have thought that the maths I learnt at uni would ever be needed in real life?? I needed something that would allow a continuous random chance of something happening based on some measure of 'continuous probability'. Turns out a Poisson process is ideal for this, and though the equations look scary I realised that they can be simplified greatly in some cases, including mine.
So, when the island is tilting a lot, people trip up and fall off more often, which is nice (for me, not for them). It looks slightly funny at the moment since it's only taking into account the island's tilt, and not the gradient of the terrain each person is on or their proximity to the tilting edge, which would make things look cooler. That's on my to-do list, but it's not terribly important right now.
Also, I've made the people wander a bit more interestingly - they walk (glide) across the island and turn ...
Newer Older
