I took part in a game jam on Saturday, and we won! My main collaborator was artist Niall O’Reilly from local game art company DoomCube.
The game runs using HTML5/Canvas, with a node.js websockets server. The ‘render client’ ran on my laptop and players ran the ‘controller client’ on their phones.. this seems like a really nice way to do casual LAN-style multiplayer games, and it’s a configuration I have been thinking about for a few weeks. I just need to figure out a killer party game idea to use it with!
In “Hittin’ Worlds” Each player plays as a planet, in orbit around a sun. Asteroids are flying about, and players have to use their forcefield to deflect them. By using a virtual joystick-style controller on their phone, they orient the forcefield in specific directions.. incoming asteroids get deflected in that direction. The idea is that players fling the rocks at each other while defending themselves.
We also had a really nice piece of custom music written by a guy called Ian, from Athlone/Reading.
Musclecar Online is now 82% of the way to the top 100 games on Steam Greenlight.
Let’s give it a last push and get the game released on the biggest appstore for PC and Mac gamers!
If we get released on Steam, I will commit to adding the following features to the game, which have been the main things that the players have been asking me for:
1. Making it ‘proper’ 3D driving, with..
2. Hilly/Offroad terrain circuits.. which can be sculpted in the track designer
3. Springy offroad suspension (see technical demo of this below)
5. Customised, player-uploaded car skins
Here’s some details on the offroad suspension I have been working on: Shiva Raycast Car
I haven’t posted on here in too long, and it’s mostly because I have been very busy working on Darkwind again. The big news is that the game was greenlit in May, for release on Steam around the end of August.
Some of the main things I have been working on are:
- making the game ‘free to play’ with an in-game premium currency (‘Chromes’)
- overhaul of the lobby graphics
- integration of significant amount of functionality in the game client that was previously only available on the web site.
The last point is quite important, as we’ll hopefully get a big influx of new players from Steam, and the new player experience needs to be as good as it can. The split between 3D gameplay and web-based management has always been a bit awkward, so now you’ll be able to do core management of gang and vehicular assets from within the client, and complete management of squads – including set-up, travel, scouting, and multiplayer arrangement.
I have also been working again with Taskmasterpeace, one of the two guys who recorded all the excellent ‘sport commentator’ style vocals in the game. Task has been doing voice-overs for a series of tutorials I’m making about Darkwind.
Here’s some footage of a car driving around in the Shiva game engine, using the ‘raycast wheels’ approach. I have found that this gives much nicer results than the demo car that comes with Shiva, which treats wheels as constrained spheres. The problem with modelling wheels as spheres rotating on one axis is that this assumes rigid bodies for the wheels; actually, wheels are not rigid.
The basic idea with raycast cars is that you cast a ray from each wheel hub, and calculate the distance at which a surface is met (if at all). This defines the suspension’s extension, and then you simulate spring behaviour by applying increasingly strong forces as the suspension gets more compressed. There’s also some subtleties such as anti-roll and varying spring strength depending on whether its compressing or extending; but these are mostly tweaks applied to the core idea.
I also found that at high speed the default Shiva ‘spherical wheels’ car would suffer from occasional glitches and speed wobbles, rendering it fairly useless for most games. Sometimes it seemed to stagger sideways at high speed, presumably due to errors on the axis constraints allowing the spheres to role sideways. I assume these problems are caused by over-relying on the accuracy of the underlying physical simulation in order to obtain the required behaviour.
In the video clips shown here, the behaviour of the car in all ways other than spring response has been results-driven, i.e. the desired behaviour (skidding, drifting, tendency to roll, etc.) has been considered and this is used as a starting point for programming the calculations – rather than starting from an accurate physical simulation and expecting realistic/fun results as an emergent behaviour.
This represents very good progress towards what I’d like to have for a major new Darkwind project (Darkwind 2?) that I have started thinking about. Really the ineffective default Shiva car is what had stopped me considering this before now.
Last year I also wrote Musclecar Online. In this the car was entirely results-based, having no accurate underlying physical simulation from which the behaviour emerged. Musclecar Online is actually a 2D driving simulation with 3D models (hence, no hills or bridges) – and it was therefore entirely possible to define the behaviour I wanted first and then to write code to directly produce that behaviour.
Through my efforts to set up a game developers group in Galway in 2012 and 2013, I came into contact with two energetic and enthusiastic game devs, Liam Krewer and Alanna Kelly. Alanna had already run a successful Game Jam earlier in 2012, and it seemed like a natural collaboration to merge the fledgling Galway Games Group (GGG) with her Galway Game Jam (GGJ). So in June and October we joined forces and ran Galway Game Jam #2 and #3.
I hadn’t really been sure of the value of a Game Jam prior to this – it just seemed a bit insane to try to produce something in a single extended session. But the value is now clear to me – by creating very tight deadlines, you immediately make every team member useful.. so those with less experience are in a position where their work is relevant and important, which it would not be if the project had a month or two to complete. Apart from that the GJ is an excellent and fun networking opportunity. It gives a focus and theme to a networking session, which is something that we had already been struggling to manage in our earlier GGG meetings.
The first event, in June, ran for 12 hours. I took on the role of photographer and on-the-day organiser (making runs to the shop and Pizzeria etc.).. I didn’t really want to take part in the competition since I knew I’d only get too engrossed in coding, to the detriment of the other stuff that needed doing.
“We had fun! There were games made! .. mostly with only a tenuous link to the under-the-moon alternative-reality wonderland I envisioned. Apologies for my smart-ass comments and constantly sniffing nose. Also my camera battery died a couple of mins from the end so we didn’t get the wrap-up presentation from all teams.”
The second event, in October, ran for 24 hours (I, like the other more ahem.. mature.. attendees disappeared in the middle for some sleep!).
“Footage of our 24 hour game jam, 12th-13th October 2013, attended by about 25 coders, designers, artists and musicians. The quality of work going on was very impressive, and it was great to see visitors from Dublin and Tipperary this time, in addition to the locals! Thanks once again to the organising team Liam Krewer, Alanna Kelly, and me! I kept my cheeky comments to a minimum this time.. and the music being produced was so good that I didn’t want to muck it up by overlaying any backing track.”
Here’s some footage from an endless driving/shooting game I have been working on, for iOS/Android.
There will be 3 game modes:
(1) endless driving (how far and fast can you get without crashing),
(2) endless driving with guns (and armed enemies),
(3) story mode – you’re trying to catch spies in supercars while being attacked by armed cops – complete with end of level bosses in armed trucks, and radio-style narration by Robert ‘Task’ Smith.
Just today I caught up with Task and got him on board. I think the voiceover will be a really cool feature of the game: it will warn you of approaching enemies, let you know when you’re catching up with (or losing) the end-of-level boss that is your main target to complete each level. Task was one of the two voice talents in Darkwind, providing really slick and stylish TV-commentary-style comments during deathraces and arena combats.
Doodle Bomber is a little game I made with graphics by my 10 yr old son, Andrew. It’s based on the old game Blitz that I used to play on the Apple II, where your plane flies across the landscape dropping bombs and levelling buildings.
I’m very pleased with the visual style (kudos to Andrew!) and especially like the little stickmen. As usual I have focused on sound effects and once again the endless bounty that is freesound.org turned up some rather brilliant yells and screams which the little guys emit as you blow them 40 feet in the air
I did a little pitch shifting on them, which turns it from “slightly disconcerting bloodcurdling yell” to “comedy effect yell”.
The stickmen run towards the nearest building, and build it from the ground up to 4 floors. At this point a gun appears on the top and starts shooting at you. Tanks also appear if you’re taking too long on a level.
Here’s a quick look at the Doodle Bomber game’s use of 2D sprites in a 3D world; it’s a nice way to get parallax effects. In actual gameplay, the camera scrolls along beside the airplane, and as the various pieces of scenery disappear off the left of the screen they are transported forwards to the right, to give the impression on an endless (looping) game world:
So yeah, it’s a ninja swiping game, along the lines of a few thousand other games you might have seen before. There’s a nice combo/power-up system to give it a bit of a twist. And of course the sound effects destroy the opposition with their awesomeness! The theme tune by Art Munson of Shockwave Sound is really nice also
For the moment the big test is maybe the Android appstore, where downloads have been solid if not astounding. After a few days it’s now just breaking into the top 100 ‘new free racing games’ list – so maybe this will bring some increased traction. While the ‘new’ list on Google Play is a great concept, it’s always inundated with massively varied quality items, ranging from poorly designed wallpaper image apps (masquerading as games just long enough to spam you with adverts), to 200 clones of whatever lightweight crap is popular this month, right thru to high budget 3D racers. So getting some visibility even there isn’t always easy. The top ranking apps in the ‘new free’ lists are getting tens of thousands of downloads in a week or two, while getting to the top of the ‘paid’ list requires maybe 10 sales. Tells you something huh…
The Musclecar Online player-base is growing steadily; we’re currently getting a couple of hundred new downloads a day and by day-end we’re seeing upwards of 100 users posting laps in the more popular cars. The next couple of weeks will be interesting, and maybe we’ll see whether there’s any viral potential in the social features I worked so hard on!
The game is launching on Desura soon, and if you get a chance to upvote it on Steam Greenlight that would be most cool
Here’s a couple of screenshots from the new 3D camera viewpoint, added in version 1.3:
and here’s the most recent teaser movie made for the Android store:
I have been making good progress with my “social versus-ghost racer” Musclecar Online. A bunch of friends and Darkwind players have been testing it and having a bit of fun in the process.
The game is functionally almost complete at this stage, and we have been listed on indedb.com as well as being approved for distribution by Desura.com. I have pretty much decided it will be free-to-play on every possible platform, with monetization* via in-game purchases and (where appropriate) adverts.
*monetization: somehow that word only looks right with an American spelling. Lol.