Tag: javascript

Radio Silence

OK, so… a few things have happened, but I am terrible at remembering to write blog posts.

Firstly, I did develop ‘Dodger’ further, into a game that is actually fun, but… it’s been sitting waiting for me to draw the protagonist, and add music and sound effects. Until I do so, 49 Games is going no further.

However, I now have a Let’s Play series of Simcity 4 on my YouTube Channel. (Which I have been neglecting most recently.) The first couple of episodes are a bit pants, as I was going through all kinds of technical problems which are fixed from episode 3.

I’m mostly writing about something entirely different though: I’ve started working on a browser-based city-building game, similar to SimCity. The original aim was to make a free-to-play game that didn’t rely on horrible psychological tricks, but has changed a lot as I’ve thought about it. I’d been mulling it over and making notes for maybe a month, then it was LD this weekend – I’m not participating, but it inspired me to get started on it. I had made a false start already, when I was intending for everything to run server-side with AJAX. Now, though, it’ll be entirely client-based, with the server only getting involved as a way to save and load games.

ANYWAY! Enough waffle. Here’s a screenshot of where I’ve got to over this weekend:


Progress! (Click to view full-size)

So, possibly underwhelming to you, but this was a significant amount of work. I’m using the HTML5 <canvas> element for rendering, which resizes itself automatically when the window changes size (without stretching the image horribly). It takes an array of tiles, and draws them in an pseudo-isometric way, and it figures out the tile coordinate from where you click (as seen in the console log above). Also in the console is spam about the date changing – I have a GameClock object which, when unpaused, regularly updates the in-game time based on the game speed. When the day, week, month or year changes, it fires an event – the newDay event is here caught and the date output to the console, but eventually it will instead update a date indicator in the UI.

So yes! Hopefully I’ll keep going with this. So far, I’ve only really done basic stuff (though there was some fairly complicated maths involved). Managing building development, occupancy, traffic &c will be more complex.