Game Design, Programming and running a one-man games business…

New Production Line Developer Video!

No time to write anything else, as I have 2 bugs I want to squash before I upload a new version of the game…but here is the latest developer video:

Shadowhand coming on 7th December, New trailer!

Before I go any further in talking about the card-battling RPG/Adventure?Visual Novel/Unique game we are publishing called Shadowhand…check out the trailer..

If you have not heard of the game before, its an interesting mash up of a whole bunch of genres. The basic card game is solitaire, but revved up to the max with power-ups, special cards, and a unique ‘combat’ mechanic version, all wrapped up in a cool story about an 18th century highway-woman with two identities. I recommend checking out our website with more information about the game here.

Shadowhand is being developed by Grey Alien Games and published by me. The game was originally planned to come out about a year ago, but the games scope changed a bit which pushed it to January, and then…well to cut a long story short, it took longer than expected, but the end result is truly awesome and I’m very excited that we are about to release it to the world.

Oh yes…I haven’t mentioned yet that the release date is now 7th December. Thats a proper, public, its going to happen release date, even if I have to break down jake’s door with a bat-leth and grab the final build from his desperate claws to upload it to steam…

Shadowhand will be extremely interesting as a publisher (although TBH I am moving away from publishing games directly now), because it represents a unique experiment. The developers (Grey Alien Games) have a lot of game development experience, but that experience has mostly been in casual games, of the sort normally sold by the big casual sites like Big Fish games, and back-in-the-old-days, RealGames and Yahoo Games, IWIN and so on. It was all those years ago that I first met Jake, who was selling games through those sites (and eventually went to work for a big casual games developer) at the same time I was selling Kudos and eventually Kudos 2.  There was a time back then when a decent, experienced indie game dev could make a reasonable liviung from making casual games and selling them direct, and also through the big portals for casual games.

All that changed with the consolidation of casual games publishers, combined with a shift for that game style to first facebook, and then mobile. This led to lower revenues per game, lower game prices, and a miniscule revenue share for the actual game developers. Suddenly the smart money was in ‘hardcore’ games on steam and GoG, instead of the ‘mass-market’ casual games often sold to ‘soccer moms’.

Thats a long history to explain why the developers behind Shadowhand have so much experience, but so few well-known games on steam. The problem was, selling on steam was ‘different’ to selling casual games through other portals. Also, the level of polish, game design and user experience often demanded by casual games was often actually higher than the typical indie steam game. This is especially true now, where most games launch into early access with bugs ahoy and placeholder stuff everywhere.

So together, me and Jake hypothesized that he could take his design skills and experience of user-interfaces and game-polish, and bring that sort of game design to steam gamers with a suitable theme. The idea for shadowhand was thus born. If it works, it proves there is a gap in the market for taking what casual games do best, and applying them to serious hardcore game designs for the steam audience.

I strongly think its going to be a success.

Shadowhand will be out soon for $14.99, 10% off at launch, and you can add it to your steam wishlist right now, (which might be a good idea, as you will get a reminder on launch day). If, in the meantime you have a need for some similar entertainment, Grey Aliens previous game ‘Regency Solitaire’ is already out on steam…

(Nothing to do with me, this is a game Grey Alien Games made and sold themselves).

The big Production Line performance issue: route-finding

Unlike a game its often compared to (factorio), Production Line has intelligent routing. In factorio, things on conveyor belts go in the direction you send them without thought as to if thats the right way. In Production Line, every object has intelligence, and will pick the best route from its current location to its desired location, which allows for some really cool layouts. It is also a performance nightmare.

Obviously every time the game creates a new axle, wheel, airbag or other component, we dont want to calculate a new route along all the overhead conveyors. Thats madness, so we cache a whole bunch of routes. Also, when we decide which resource importer should be assigned with (for example) airbags, we dont want to do a comparison of routes over every possible combination, so we also cache the location of the nearest 2 import bays. Once we have worked out the nearest 2 bays, we never EVER have to recalculate them unless a bay is added, deleted, or a piece of the conveyor network is added or deleted. So thats cool.

The problem is, this happens ALL THE TIME, and its a big part of gameplay. If we have, for example 100 production line slots, and 20 import bays, then we need those 100 slots to check 20 routes each, every time we change anything related to the resource network. Thats 2,000 route calculations per change. if the player is slapping down one every 3 seconds, then thats 600 routes per second, so ten routes a frame, which isn’t *that bad*.

If the map is bigger and we have 200 slots and 40 bays, then suddenly its 40 routes per frame that need calculating. Very quickly you end up with profiling data (multithreaded) like this:

There are multiple solutions that occur to me. One of them is to spread out the re-calculation over more frames, which means that the import location could be sub-optimal for a second or two longer (hardly a catastrophe). Another would be to do some clever code that works out partial routes and re-uses them as well. (If my neighbour is 1 tile away and his routes are optimal, and I have only one possible path from me to him…calculating new routes entirely is madness).

In any case, I have some actual proper bugs relating to routes *not* being calculated, which is obviously the priority, but I need to improve on this system, as it is by far the biggest cause of performance issues. FWIW, it only happens on really super-full large maps, and custom maps, but its still annoying… Eventually I’ll find a really easy fix and feel like an idiot.

Meanwhile Production Line was updated to build 1.38, with loads of cool improvements. Hope you like it.

Designing a user interface for variable screen size

Making a game where you fully support a wide range of screen sizes is a real pain. Its a pain for any genre, but the biggest problem has to be the strategy / management genre, because of the need to display so much information. When there are a lot of stats, tables and charts, you cannot just leave GUI elements designed for the smallest supported resolution, because if you do,m you end up with tiny dialog boxes in the middle of huge screens, and a lot of really annoying and unnecessary scrolling.

The simplest option probably seems to have the size of the GUI just fixed and scale with the screen, and only allow larger monitors to make use of your 3D/2D/Iso world. This is simple to do, but it looks horrendous. As someone who sits all day in front of twin 2560 res monitors, I can testify that s GUI designed for 1280×720 res makes a game look like some sort of children’s toy when simply scaled to fit a big screen. Its not a problem with pixelation, even super smooth text looks silly when its ten times the size of your normal windows font. There is simply now way around the problem, you just have to make your design adapt to different screen resolutions.

The problem comes when you have a screen like this (the features window) in production line, seen here at 1280×768 res:

This kind of looks ok, maybe slightly cramped because the top of the dialog interferes very slightly with the top strip of the game, but otherwise, visually its ok. When we take a look at the same screen sized for 2560 res:

It looks ‘ok’ but the nice aspect ratio of the dialog has changed to be a bit less pleasing, and I’m wary of making that worse so don’t extend it height-wise any further. I could stretch it width-wise too, but then the table becomes disproportionately white-space and is perhaps harder to use. What I suspect would look better is to add a pure black ‘footer’ to the bottom of the dialog like I have on some other windows… If I look at another tab:

Its suddenly ugly as we now are showing a scroll bar we don’t need (I’ll remove that), and that pie chart should probably be top aligned rather than sat weirdly in the middle. The big question is what to do with the bottom. Even with a nice black footer-strip there is still a ton of glaring whitespace. I *could* resize the dialog depending on what tab you are on, but that is not normal and might be jarring. I could add some extra interface here, maybe showing line charts of a selected item over time, bu then suddenly I have this whole new GUI element thats only for people with big monitors…which would lead to complaints.

Ultimately this just all comes down to time, fiddling with number and ratios, maybe even fonts, to get a GUI that is usable, looks appealing and works over every supported screen resolution. I suspect that the majority of hardcore strategy & sim players tend to have big monitors, but then again these singleplayer management games are also very playable on a laptop, so you have to support both ends of the spectrum.

In any case, it feels good to be able to spend some time on this stuff. Frankly, although I think the core game is fun, and there is a decent amount of content at the moment (more will come though…), Production Line probably suffers a little bit from being a complex game without sufficiently smooth GUI or decent enough guides & tutorials to get new players into the game. There are some GUI elements that are frankly pointless, and some vital information (competitiveness of the market, for example) that is hidden away and not really called-out. Anyway… its getting better every day.

By the way, we are still donating 100% of our steam income from Democracy 3 to War Child this week, already raised about $5,000 for children affected by war, spread the word!