The Concealed Intent 1.2 release is out now! You may remember I said it would be out before the end of March. My apologies for being a week late, but on the bright side I now know a great deal about password hashing and HTTPS.
Tell me about the 1.2 Update
Among the bug fixes and minor improvements there are a few niceties added. Truly randomly generated skirmish maps (the 3 ‘?’ option when configuring a skirmish). The Skirmish configuration page will now remember the last settings and return to it on restart or just after a scenario. Also, there are two new types of drone: the Stealth Drone, an underpowered laser drone with some countermeasures; and the Detonation Drone, a heavy drone mounting an improved multi-pulse laser that unfortunately has a 95% chance of exploding when fired. Have fun!
The biggest change is a new version of the game without Steam’s DRM. This will go up on other online stores like Humble and Itch.io. However, that does not seem fair to Steam purchasers. Thus if you send me a message from your Steam account (so I can confirm you have a copy of the game in your Steam account) I will send you a link to a a non-DRM version download. Personally, I would not recommend this, the Steam DRM version is the best version as it handles online logins, challenges and turn notifications automatically for the player, but if you have a philosophical problem with DRM (then why are you using Steam?) there is the non-DRM version available.
What is next?
As always any bug fixes will take priority over other tasks. Assuming I am not busy fixing issues, I will be completing all the tasks required to move to a country/continent in May (which have been delayed a week while finishing this update). Afterwards there will hopefully be time for some work on my next game.
So, the plan is I will get back to the Concealed Intent towards the end of this year with work on a 1.3 update. That will start with the items left out of this 1.2 release due to running out of time. Then back to working down the list of suggestions (I read them all). As I get closer to starting, there will be a post here with more details.
A few events have recently occurred, with a few more on the horizon. Thus it is time to replan work for the next couple months. First the important stuff – what I’ll be doing. Then I’ll explain why.
Concealed Intent 1.2 Update
It has been too long since touching the Concealed Intent codebase. I’m getting withdrawal symptoms. Over the next month or so I will start work on an update to Concealed Intent. Aiming for around 3 weeks worth of work, plus testing. Assuming I haven’t forgotten too much, it should be out by the end of March.
The first and main task of this update will be producing a version of the game without Steam DRM. Then a couple of new gameplay features will be added (a truly random map option in skirmishes, new drones). I have collected a few good suggestions to improve the UI, and I hope to get them done too. If there is still time after that I’ll just keep going through my list.
What is Steam DRM doing in Concealed Intent?
Concealed Intent uses Steam DRM to identify and authenticate players. This information allows the game to automatically login players into the online system without the need for a username or password. This is why you can start Concealed Intent and immediately play online. The problem with Steam DRM is that it locks the game to the Steam platform, which is not a bad thing for people playing the game on Steam, but means I can’t sell the game on other platforms.
Considering the potential impact of Steam Direct (see below), I think it is important to loosen this restriction on myself. Players on Steam will not notice any difference, but it will mean I can sell non-Steam versions of the game. These non-Steam versions will have online registration, logon and password recovery screens (and players will need to login before playing online), but will otherwise be the same.
Steam Direct will be Valve’s replacement for Steam Greenlight as the method to get a game onto Steam. Coming in a few months, it will require a flat fee be paid to Valve in return for each game added to the Steam platform. Estimates of this fee range from US$100 to US$5000. At the bottom of this range I fail to see how the fee will have desired effect (preventing exploitative games). At the high end of the range some small devs, like me, will struggle.
I should point out that I know Valve has every right to organise their platform how they want, and their stated goal is laudable. However, as a small indie dev it would be very easy to be crushed by any changes as an unfortunate, unintended and unnoticed side effect. Although I think it likely that the fee will fall towards the low end of Valve’s range and I will probably be ok, it is still a wake up call. At the moment I am completely dependent on the Steam ecosystem and Valve’s benevolence. To protect myself, I am going to start looking towards other platforms. Thus the non-Steam DRM version of Concealed Intent as an initial learning exercise and start upon this path.
So what have you been doing the last couple of months?
After taking a break over the holiday season, I have started work on a new game. I don’t have a name yet and it is still all developer artwork (amazingly ugly!). So I am not ready to show people or talk much about it yet, although I am happy with the way it is progressing. Right now it has reached a natural pause point. After finishing the CI update I will get back to it with some refactoring, prettifying and expanding out of the already completed vertical slice of gameplay. Oh, and decide upon a name. Then it was supposed to be time for Greenlight… not sure what will happen now.
I have also been playing games again! While developing CI, there was little time to play games, but now I set aside a couple of hours per week to play games of interest or just from my backlog. To help keep this up I record my sessions and put them up at A Gamedev Plays… on YouTube
What happens after Concealed Intent 1.2?
First, I will fix any bugs that appear. Otherwise I will get back to work on my next game and look to start promoting it. However, this will be affected by the fact I will be moving country around May. This is likely to also require me to find a new job as developing games will not pay the bills in the vastly more expensive country I will soon reside. I cannot make any guarantees as to what I can achieve in the the second half of the year. However, I hope to finish my second game and release another small Concealed Intent update.
With a new year, it is time to evaluate how Jarrah Technology is progressing and determine a plan for the future.
My first game, Concealed Intent, was fully released on Steam at the beginning of August. Since then there have been a few minor bugfix releases and one major (1.1) update which included Linux support. Reviews are generally positive, players on the forums are great, although sales have been slow. Below is an updated graph of revenue vs costs from my postmortem. Revenue will probably stagnate over the next few months as the effect of numerous platform sales subside. Valuing my time at zero (never a good idea), the game should be profitable before mid-year. Not awful, but not a great result.
It has been a while, so perhaps time for an update on what is happening and what is planned for the near future.
Right now I am working through ideas and mechanics for Project Blockade Runner. That is not its real name, but I haven’t thought of anything better yet. It is still at a very early stage, and the basic concept is still mutating (the blockade part is decreasing in prominence), so I don’t want to share screenshots yet. Although for people who regularly read this blog, it was one of the paper prototypes from this post, shown again below. This one seemed the most interesting to me. Also, I think the basic game mechanic can be reused as an engine in a couple of different games. So this one scored best on interest, ease and business. You can be confident there will be more info about this game in the near future.
Unfortunately, the game seems to be more Blocked Runner at the moment. My personal log says I have managed just 17 hours work on the project so far – and it shows. What has been happening instead over the last five weeks since the Concealed Intent 1.1 update? Well, I went away for a week to recharge. Very nice break it was too. Many admin tasks that were “left for later” as Concealed Intent headed towards release back in August are now completed. According to my log that has taken 42 hours of effort in recent weeks. There was quite a backlog, but they are all done now. I have also been playing games. Of course this is work, really it is! I have put some videos up on my personal YouTube channel and associated blog.
Also there has been a dribble of work on Concealed Intent. Two small bug fix updates have been released. If there are more bugs discovered I will fix them ASAP. Otherwise, I will be taking a break from the game until the new year. At this stage I’m fairly determined to make at least a 1.2 release before the middle of 2017. After that it will depend on sales and time. I have started compiling a list of “must-have” items for a 1.2 version. Currently there are 8 items on it comprising about a week’s work. That means there is another fortnight or “nice-to-have” items that I could do, plus maybe another week of experimental/exploratory items. That would make for a decent solid release. I have a good list of possibles improvements. Anyone who contacts me with a suggestion also gets it added to the list for consideration.
I had better get back to work!
After way too long in development Concealed Intent was fully released on the 2nd August following 9 months in Steam’s Early Access program. This post details some useful stats I collected between starting EA, through to the end of September. The kind of information I would have found interesting, at least for comparison purposes. Hope someone else finds it useful.
Concealed Intent is a simultaneous turn-based game of 3D tactical space combat. It is probably a niche game (turn-based tactics), with a crowded theme (space games seem very common right now). It was created by a solo dev (with some outsourced 2D art), and thus it was hard to manage both development and marketing. Mainly the marketing suffered, especially considering my inexperience. Raising awareness of Concealed Intent and the release campaign could have been managed much better – I will know for next time! For my lessons learnt see this Gamasutra post.
September is over and the scheduled month of dev work for Concealed Intent 1.1 complete. The amount achieved was about as much as expected, although not as much as hoped. Since the last update Steam turn notifications are working, but it was a little harder than anticipated. Then came a new skirmish objective (Gather) and a bunch of bug fixes (mainly for Linux). Unfortunately that means there was not time for extra work on campaign missions or online. Still, the update is a large body of work and I’m glad to get it done, the game will be better for it. Now I just need to test it extensively before release! The plan is to give myself a fortnight of testing, so look for the update in mid-October (barring major issues).
Looking at my Concealed Intent todo list I am amazed by how short it is – the shortest it has been since starting! It contains probably about a fortnight of online server improvements (not visible to players) and another fortnight of campaign/skirmish/cosmetic improvements. There are also a half-dozen “nice-to-haves”. Given this list, I am inclined to do a month’s work for a 1.2 update. However, it will not be until next year – hopefully earlier rather than later. After Concealed Intent 1.1 is released I will start work on a much smaller space-themed game codenamed “Blockade Runner” (because I haven’t thought of anything better yet).
Here are the final notes on the original (and intentionally overly ambitious) update plan:
It has been a little while since my last update, so I thought I should let people know what is happening with Concealed Intent. Previously I wrote about creating some prototypes and having time off. Both those achievements have been unlocked! If you would like to see my thoughts on prototypes, look here. After that I said there would be a month’s work on a 1.1 release, trying to get as far down this list as possible:
Work began on this list at the start of September. Thus I will stop developing and start testing at the end of this month. Assuming no big issues are found, I’m still on track for an October release.
So how am I progressing with the list? Firstly, there were a couple of things not considered. On the positive side, there was a 1.0.1 release that contained many of the Cosmetic and control improvements, so much of that task was done before I began. On the downside, my hard drive crashed the day I planned to start work, costing me a couple of days productivity (keep your backups up to date!). Also, I forgot to add bugfixes into that todo list. Thanks to more testing and the good work of a couple of players (obliviondoll and FridayBiology were particularly helpful) a few extra bugs were discovered and have (or will be) fixed as a priority.
So how is that list actually looking as of today?
There it is. I would say progress so far is better than expected (especially considering the hard drive crash), but who knows how things will go for the remainder of the month. In any case, be assured I am working hard trying to improve the game!
It takes more than one game to become a successful game studio. A portfolio of games is required to spread risk. This is even more the case for Jarrah Technology, as on current trends Concealed Intent will not be a financial success. I am committed to a 1.1 update and have started work towards that goal. However, realistically any time spent will not reap a corresponding financial reward. Thus with the little time remaining to me for working on games full-time, I need to come up with new games quickly. Luckily, ideas are not the problem. There are exceptionally few “ideas people” in games, because everyone has tons of ideas. Choosing which potential games deserve the risk of developing with limited resources is the real skill.
Over the last four years I’ve compiled a list of three dozen “maybe later” game ideas. They are of variable quality, but there is no standout, clearly a winner, concept. So how to choose? After Concealed Intent I have a few requirements for my next game. First, it must be simple. Simple to develop and simple to play. With only a few months left available for unrestricted development, any game I start must be finished within 9 months or risk never being finished. Realistically, with Concealed Intent work and other distractions, 6 months is the maximum time. Thus since I also repeatedly underestimate effort significantly, I want games that I think I can create in about 3 months. So an order of magnitude smaller than Concealed Intent. This has many implications. For a start, no story, that takes too long (or at least, it takes me too long). Also, my next game will be 2D or 3D with a fixed camera. Having a fully mobile camera in a 3D world adds a host of UI and control problems. The next game needs to be relatively cheap to make (not including my time). Being able to reuse existing assets is best, otherwise I need to be aware of how much extra cost is required and factor that into to likely earnings. It is a fuzzy line.
The game should be simple to play. Definitely no complex internal simulation models. It should be clear what is happening on the screen and quick to learn. This is for two reasons: it is easier to develop; and, it widens the market of the game. Concealed Intent is complex to play, and difficult to learn. There is a lot of maths happening “under the hood”. This greatly decreases the number of people willing to play. The vast majority of potential players (and press) will only play the game for a few minutes. If after that time they are still going through a tutorial explaining mathematical game concepts, most will stop and never start again. Thus, my next game will just have a couple of simple game mechanics.
So those are the criteria for evaluating ideas: quick, simple, cheap (and fun!). With that in mind my long list became a short list of 4. So I decided to prototype them. Two on paper as the technical complexity is low, so the gameplay elements are most important. Two in code as the most challenging part would be the programming. At this stage I don’t want to talk too much about what each idea actually involves – it is too soon. Instead, here are photos of each game in progress.
Done. Concealed Intent is now fully released. No longer is it marked with the stigma of Early Access.
The success of a modern games tends to be determined in their first month of release. Visibility, reviews and sales now will result in more visibility, reviews and sales later. So I’m not too proud to beg… If you enjoy the game please consider telling people about it and/or writing a review on Steam. It will all help. Also, if you do see something wrong in the game, please let me know, the quicker I can find and fix any issues the better.
Right now I’m also incredibly busy trying to get the word out and responding to people’s messages. I am way behind. One of the more interesting things I’m doing is a Reddit AMA. Come along and ask me anything? Everyone who comments (with a question or otherwise) by Friday 5th August 10:00am GMT will go into the running to win one of 10 copies of Concealed Intent.
Development work is not over, there will still at least be a version 1.1 update at some point. However, I think the largest part of game is now complete. Reaching a standard I felt happy about and then saying that people can pay for it without that Early Access caveat is a huge step.
Having said all that, I would also like to give a huge thank you to everyone who played Concealed Intent, purchased it, wishlisted/followed it, or even just checked it out. This game could not have been finished to this level (or even at all) without your support and feedback. Thank you!
“People wanted for hazardous journey. Low wages, bitter cold, long hours of complete darkness. Safe return doubtful. Honour and recognition in event of success.”
Paraphrasing Shakleton’s recruiting notice for Antarctic exploration works surprisingly well for indiedevs too.
Today is the culmination (but not termination) of nearly four years of effort. My game, Concealed Intent, is now out of Early Access and fully released on Steam. It has easily been the largest project I have ever undertaken and required intense effort to reach this point. Working largely alone in a foreign country I often found myself questioning what I was doing. However, in retrospect, I would still do it over again – but with a few changes (see the “What went not so well” list below).
After a brief (and shameless) video interlude for Concealed Intent itself, I will detail the things I think went right and not so well during the development process. I have tried to think back to my state of mind four years ago, just before starting and offer advice to that naive and optimistic person. A later post, some time after the release, will look at the business and financial side of the game – was it profitable: stay tuned to find out!
Previously I have written about my experience running giveaways on Steamgifts.com for marketing Concealed Intent. Several people made some good suggestions as to what I could do better, or at least differently. One of those was asking other people for their experiences.
One of the game development tasks I have found particular difficult is writing a good tutorial. Of course, best would be no tutorial at all. Unfortunately, Concealed Intent is much too complex to be playable with the player doing a little learning first – and that complexity is part of the game’s design. Numerous hours have been spent tuning the tutorial, but it is still a little clunky – probably the result of my inexperience and the nature of the game. To help overcome this and the common subtle misunderstandings, I have created a couple of videos to help newbies. They will be added to the game page, the press kit and maybe even as a link in the game itself.
Here is a 20 minute tutorial on how to play:
And here is a 34 minute introductory tactics video
I have also created a YouTube playlist of all the Concealed Intent videos I can find (let me know if I’ve missed any!). It is at https://www.youtube.com/playlist?list=PL-BfCOTbn76q7pAq9BMnmjYpLH19hRbrN
Concealed Intent will leave Early Access and become fully released to Steam on Tuesday 2 August 3pm GMT (8am Pacific Time & 11pm where I am in Malaysia) – here is the store link. The original plan was to release a week later, but it appears a little game called No Man’s Sky is released that day. It seemed best to go a week early. I’ll need to get going on marketing quickly.
Also, if you enjoy the game, writing a positive Steam review is hugely useful. I would be greatly appreciative, please consider it.
This is an edited version of a post on the Cordinc blog
I have set up a new website: A Gamedev Plays… will be dedicated to discussion and reviews of all sorts of games (but mostly games that I want to play). There is already an associated YouTube channel and Steam group. I will be using the Jarrah Technology Twitter and Facebook pages for promotional purposes at the moment.
The plan for the new site is to play more games and write about them, both as a game design learning exercise and as motivation to create more myself. As a secondary goal, I also hope to create a small community around my games writing.
There is an explosion of game making at the moment. More and more games, many with innovative ideas are being released. I need to be aware of what is happening in game design. Since starting work on my own games I can’t help but try to analyse what makes a game work (or not!) when I play it. Being able to organise these thoughts into a coherent argument in a presentable form can only help me improve my future games.
As my indie game nears a full release, my interest in indie marketing increases. Recently I was on the Space Game Junkie podcast, and one of the hosts mentioned that the Steamgifts website had not worked well for their sales effort. At that point I was planning on including the site for marketing Concealed Intent’s full release. There are a number of game giveaways on Steamgifts with messages stating they are for marketing purposes, and a few people have contacted me asking for keys to giveaway on the website (all refused, I can do it myself). So I wondered, how useful is Steamgifts as a marketing channel? Not finding any information online, I decided to try a few amateur experiments just to see how it worked.
For those that don’t know, Steamgifts is a website where members can give away copies of Steam (and only Steam) games. There are hundreds of games given away each day. It is not designed as a site for game marketing, but giveaway creators can include a short message, and these are often explicitly advertising related (for a game, or group, or YouTube channel, etc). The winner is chosen at random among those members of the site who have chosen to enter. Members are restricted in the number of giveaways they can enter, and must have at least $100 worth of games on their Steam account (so it is hard to enter a giveaway multiple times). There are currently a little over 900,000 members, of which around 135,000 have given away at least one game, and some many more. If a giveaways is open to everyone for over a day it will usually have 1000-2000 entries, depending on the game. Some very large giveaways (50+ copies) or desirable games gather 10,000+ entries.
Here is an example of a giveaway created for this experiment. The marketing text in the message is the standard copy for my Steam Early Access game, Concealed Intent. A brief description of the game, followed by a link and call-to-action, “please wishlist the game” (I thought a “please buy” CTA might be overly ambitious), then some social media links. The only way to enter the competition is through this webpage. So theoretically everyone who enters the giveaway should be exposed to the message.
I do very little marketing for the game at the moment, because as a sole developer I chose to spend most of my time on development tasks. This will shift in the next few weeks as full release nears and I go nearly full-time on marketing. However, during the experiment, I did no other marketing so views on the Steam store page are at a low and baseline level. Above is a graph of the store page impressions according to Steam, the grey line is total visits. Can you see the giveaways’ effect? There are 8 giveaways through this period, each separated by at least a day. The two most successful giveaways ended on the 11th May & 17th May – on those days there is a noticeable jump in direct visits to the store page (the light blue line).
Let’s see the raw numbers for Concealed Intent giveaways. I made two giveaways, each for a few days, a week apart. Both giveaways spanned the same days of the week. The number of visitors from Steamgifts to the Steam store page is measured through Google Analytics (which I suspect under counts visits slightly), and the number of extra wishlist entries is taken from Steam after subtracting the baseline growth in the week before I started the giveaways (1.5 per day).
|Entries||Comments||Steam Visits||+ Wishlist||CTR Visit||CTR +Wishlist|
I believe this CTR compares very favourably with other advertising. However, it must be considered that the cost of each giveaway is a copy of Concealed Intent, with a retail price of US$15, making those clicks extremely expensive by traditional measures. Although, that is only the case if the winner was going to buy the game at full price (or at all), probably unlikely given current indie game sales. Both winners did immediately redeem the game and play, which makes me happy. There were no extra sales in during the giveaway period, but I did gain a couple of Twitter followers (of course I can’t be sure they came from Steamgifts).
It is interesting to note that rise in the number of entries for the second giveaway corresponds with a drop in CTR. Perhaps the second giveaway included many people already aware of the game from the first giveaway. In any case, there may be diminishing returns on repeated giveaways. Thus they didn’t need to pay much attention to the text or visit the store a second time. I suspect a third giveaway would be even lower.
Prior to giving away my own game, I also tried giving different games for which I had keys leftover from bundle purchases, all with the same Concealed Intent marketing message attached. The *’ed rows indicate multiple overlapping giveaways with aggregated statistics.
|Entries||Comments||Steam Visits||+ Wishlist||CTR Visit||CTR +Wishlist|
Here the CTR is much lower. So low in fact I think that errors in counting visits or random changes in non-Steamgifts wishlisting will greatly skew the figures. Basically, giving away other people’s bundled game does not have much effect (although of course using bundled games means there is not much expense either). I would suggest relatively few people read the message, and most of the clicks are from checking out the game actually being given away before entering (rather than for the game in the marketing copy – makes sense to me).
So giving away my game on Steamgifts netted me at least 117 views of my Steam Store page and onto 19 extra wishlists for a cost between 0 – US$30. Other marketing opportunities available to indiedevs are: self-promotion on social media; asking web magazines and YouTubers for coverage; or paying hard cash for advertising. Given this, I would consider using Steamgifts giveaways again – just to increase awareness of the game. Although in small numbers (1 at a time), spaced with larger time gaps between them (at least a week), and only until awareness of the game reaches some as yet undefined level.
It is left as an exercise for a reader to measure the marketing effectiveness of giving away 50+ copies at once. I am not brave enough to try it with my game (at least not yet).
I am very interested to hear other people’s experiences or comments.
Update: I linked this post in the Steamgifts forum and an interesting discussion ensued over the value of 50+ giveaways or restricting entry to more engaged members. Here it is, worth a read if you found this interesting.
I’ve just gotten the neutral unknowns system working in Concealed Intent. This is where all ships that have not yet been categorised are displayed as neutrals in yellow (unless the neutral colour has been modified). Upon categorisation, ships are shown with their real identification code and colour.
Going back to the plan out of early access, this is the last of the features mentioned for the release version. In a week or so, after testing, the next version (#30) will have 2 new skirmish modes: savior, where the player has to keep civilian shuttles safe, as well as defeat the enemy; and, waves, with endless waves of enemies spawning until the player’s base is destroyed (but the player’s ships regenerate until then). Savior mode will always include the neutral unknown system, so the player is not sure if a ship is friend-or-foe until they are identified. In other skirmish types the neutral system is not very useful (as all unknown ships must be enemies, at least at first) so it will be turned off. Previous versions of Concealed Intent saw updated campaign and tutorial missions, plus the multi-monitor fix.
Thus Concealed Intent is now feature complete, at least as far as its release is concerned.
Not to say there is nothing left to do! There is of course the list of ongoing tasks. After next week’s version there will be at least one more containing just tweaks and bugfixes – this will be the release candidate (aiming for mid-June).
After that there are no planned updates, but if a bug appears I’ll put out a fix. It also means the plan towards a release sometime in August is still on track (yay!). Thus marketing will start to take an increasing large percentage of my time. After the release other tasks will be considered, but no promises.
Possible features for after release:
Looking at the Concealed Intent plan for Early Access, all the work originally promised (plus a bit more) is complete. Now is the time to work out when to fully release the game.
One thing that has become clear during Early Access is that if a solo game developer tries to do development and marketing at the same time, then both are done poorly. So the current plan is to at some point to declare Concealed Intent ready for release. Then wait between a fortnight and a month, just testing and checking there are no bugs or spelling mistakes (also preparing marketing materials). Then spend a month on just marketing before the actual release. During this two month period no new features will be added to the game, only the smallest changes will be considered and then only if necessary.
The other thing to consider when planning a release date is the Steam Summer Sale. I don’t know when it will be this year (yet), but the last two years it has been a fortnight in June. When that event is running any game launch will be swamped and disappear in the hype. Concealed Intent’s two week launch window must not overlap with that sale.
Combine all that and if Concealed Intent is to launch before the Steam Summer Sale then I need to stop right now and start the bug checking phase. I don’t want to do that. I planned to complete a couple of iterations on the campaign work, but I have only completed one so far. Unfortunately I have been sick (probably the flu) and this has cost me nearly a fortnight’s worth of work. Work I still want to complete. So in the end the decision is easy (thanks to being ill), Concealed Intent will be released after the Steam Summer Sale.
So what does that mean? Assuming that the sale is in June, I will consider that the bug check month, and July the marketing month. Thus the aim is to release Concealed Intent in early August. If the sale is in July, then I may push the release back a little. Fingers crossed it is June (and no other problems/issues arise).
On that basis I have until the end of May to continue working on Concealed Intent features. Although I’m not going to be working full-time on the game. Firstly, I’m about to go on a holiday, as my girlfriend has taken to the expanded timeline and corresponding decrease in pressure to declare its time for a break. I agree with her, there is no risk of losing dev momentum at the moment as being sick has sent me back to zero in that regard anyway. After the break I also need to start thinking about what to do after Concealed Intent. So to that end I will taking a week or two out of the plan to create prototypes when possible. That should still leave enough time for two or three Concealed Intent releases. My task list will be:
Possible New Work:
Unlikely Features (maybe for after release):
So that’s the plan. Hopefully I can stick to this one (all the others turned out to be overly optimistic). So I’ll be back soon and initially working on another pass of the campaign. Comments welcome!!
Behold! My first (non-employment) interview. Space Game Junkie produces a weekly podcast examining a specific space-based PC game, and #146 (from the 9th March 2016) was all about Concealed Intent so I joined in as a guest. It is available from their website, on iTunes, or through YouTube.
Many thanks and huge kudos to Space Game Junkie for supporting small indie games and for a fun interview.
This article was first posted on my personal blog.
It has been a couple of months since releasing Concealed Intent onto Steam Early Access it is time to assess how things have gone and plan for the future.
While I’m quite happy with Concealed Intent as a game, financially it has been a disappointment. Largely this is my own fault. As a sole developer I must make a choice between developing or marketing. I have overwhelming chosen dev work over the last 2 months. Still the sales have still resulted in a few people playing it and providing feedback. It has highlighted a some bugs and issues, most of which are now fixed. Early Access has also given me a focus – single player skirmishes seem to be more highly desired than online play (lucky because there are not enough players to form a decent online community right now). This is immensely useful information. Previously the game was trying to be a bit of everything in the hope of attracting the attention of a potential purchaser. Now it will be mainly single-player, where skirmish is the main game, but there is a also basic online play so you can challenge your friends.
Under this vision, the way forward to release is clear. Procedural skirmish must be expanded with an AI that can provide some challenge. The single-player campaign can be shortened but needs to more engaging while subtlety teaching the game. Online play is largely done, only bug fixes and performance enhancements remain.
So that is the plan to finish Concealed Intent. Skirmish improvements, then AI improvements, then mission work, then… done? At least in the sense of a proper “release”, yes it will be done. The majority of my time after that point will be spent on developing other games. There will still be a few things to do Linux support, non-Steam online support, other little improvements and of course bug fixes as required.
Right now I’ve nearly finished a first pass at the Skirmish improvements. If it was not for GGJ16 I’d release it this weekend. Instead it will be available early next week (so I’m around if there is a problem). I hope to have a final version with improved AI by mid-Feb. Then I foresee a couple more fortnightly versions iterating on the campaign and improving skirmish & AI as issues/ideas arise. However, that will not be the end. As previously stated, I have to choose between development and marketing. Since I have a couple of months of dev work, I will continue mainly with that for now. However, when the above task list is complete it will be time to switch. Thus the plan is to finish the dev work, wait at least a week to ensure there are no bad bugs, then start a 30 day release countdown where I spend a few hours per day solely on marketing. Then the release, followed by another week of marketing. Then just see.
One thing I don’t expect to see is a flood of sales. I hope to have enough sales to cover my costs and provide enough money for a future game. The feedback received so far is generally positive, but not “indie breakout hit” positive. I will likely struggle for media coverage and sales amongst a horde of other indie games. One advantage I have is that my situation is unchanged, there is not much I could be doing other than creating games. I have another 15 months before reality returns. Thus I can create another game with my hard-won lessons from Concealed Intent. In fact since the main lesson learnt is to make much smaller games, hopefully I can make more than one. Ideal would be a couple of short (3 month dev work) games made with an artist willing to profit-share (to keep upfront costs down). I have collected a few such small ideas and it is time to start creating prototypes to check if they are worth pursuing. By mid-Feb I hope to be spending about 10-20% of my time on this task – a pipeline of work must be established to take over from Concealed Intent as it requires less time (not counting marketing of course!). Otherwise there will be no chance of continuing gamedev as a profession long-term.
The other main lesson is that marketing is hard. Very hard. There are a large number of people out to get keys for “reviews”, but very few can deliver and those asking are almost always the smaller media outlets. The larger ones are probably swamped with review requests. Getting noticed is difficult. During the release-30 countdown I’ll do my best to let people know Concealed Intent exists. Although I’ve also been considering trying to become the media. Sure, I have a couple of rarely viewed blogs (like this one), but viewing some the of key requesters’ outlets made me wonder if I could try that too. Basically an attempt to build a community around games in general, not specifically my games. Maybe it will happen, maybe it won’t (check back here to find out!). I have a few ideas on how to make things a little different to others, now I just need to check the time requirements. There will probably be one video just to experiment.
Hmm, still so much to do and so many possibilities. But first to GGJ16…
Concealed Intent is 33% off as part of the Steam Winter sale until the 4th January.
It has been just over a month since Concealed Intent’s release onto Steam Early Access. Sales have been lower than expected, but then my marketing has been lacking in effort more than expected too, so there is no basis for complaint. My time instead has been spent on improving the game – with definite results. The initial EA release was version 0.9.16. Today I released 0.9.20. Tons of (minor) bugs are fixed and many cosmetic improvements made. Furthermore, on entering EA, there were 4 features that needed to be completed before a full release: 4 new missions; Steam Achievements; a focus point for online duels; and, being able to challenge your friends online.
With the 0.9.20 release, all the original goals for EA are now complete! This release specifically adds the ability to challenge a friend on Steam. Players can also choose the ship type, the map and the time limit for submitting turns (defaults to 7 days, but can range from 30 minutes to 30 days). Hopefully this will fix the previous problems of online match-making and a few duels will get started. It is also a large change to the underlying code base – it has been a busy month.
Does this mean I’m done and ready for a full release? Definitely not. Apart from the inevitable bug fixes, there are a few more things to be done:
But all that will have to wait a little, as apart from a few marketing tasks (and assuming the latest release doesn’t have a breaking bug) I’m taking the rest of the year off. My first break since May.
It’s alive. I mean it is live. This morning I set Concealed Intent to “published” on Steam Early Access. As the page informing me of success suggested: “insert confetti here”. If you go to the Steam Store page or the big Steam widget on the games webpage it is possible to pay actual real money for it. It feels very weird that people might do so (not many though after just a couple of hours:).
Of course, the game is not finished. Not by a long way. This is more of a start than an end. Hopefully the feedback more players will provide will help make the game better. Already I have seen a number of good suggestions (from prerelease copies) – and no bugs yet!
There are four things I really want to get done before release (but Steam says not to promise anything, so these are not promises!):
After those four I’ll hopefully have time to add more features as prioritised by the community.
There have also been a couple of YouTube Let’s Play videos posted.
Speaking of YouTube and prerelease copies. As mentioned in the previous post, I’m getting a ton of key requests. Strangely, today is the first day I haven’t woken up to 10+ key requests. On average I refuse 80-90%. Usually because: a large number of keys are requested; the email address is unverifiable; the requester has no videos in the last month; I don’t see any similar games reviewed; or, they have very few views (I look for around 80-100+ views on videos a few weeks old). I’m not sure if any of this is normal, but in the Steam discussion groups many gamedevs seem regretful of profligate key giveaways. However, I’m still checking all of them taking 5-10 minutes each.
That adds up. With all the other little unexpected release tasks, the time allotted to development has greatly suffered in the last week. I’ve probably only managed the equivalent of two previous workdays progress over the last 8 days.
Oh, and one last pro tip. Upload your game music to YouTube as private videos well before your release date, to ensure people without any rights haven’t somehow managed to “claim” your music! This happened to me and wrecked my weekend as YouTuber’s will not post videos of games so encumbered. Lucky, it is all fixed now and the copyright is back where it belongs.
Now back to emails and hopefully some dev work too. And definitely not hitting refresh button on the sales report, no, no, no…
It is time to bite the bullet and set a release date:
19 th November 2015
On that day Concealed Intent with be released onto Steam Early Access. The price will be US$14.99 (or whatever Steam converts that into for your local currency), but there will be a 20% discount for the first week. Note that Early Access does not meant the game is finished. Quite the opposite, it means that work is ongoing and that I hope that players will help me by leaving feedback – especially on game balance.
I’ve also kept up a background marketing task, I now have more places on the web details on the game can be found. So many it is getting hard to keep track of them all! Anyway here are the new ones:
One thing I have already discovered about releasing a game, is that you are immediately deluged with people asking for free copies, usually in return for a review. I don’t mind this, but it does take some time to go through them and ensure they are genuine. Unfortunately most cannot be confirmed, and with the scourge of key resellers ever present, I am hesitant to give a key (or multiple keys as is usually requested). My advice to people requesting keys is firstly, make it clear and easily checked you are who you say you are. Secondly, ask for a single key unless you have a good (and explicit stated) reason for more.
Creating an indie game is never just a matter of writing code (I wish!). There is also always some marketing – even the Dwarf Fortress people spend some time telling the world about their game. Concealed Intent is no exception. I may not find it easy or enjoyable, but it needs to be done. So for the last 5 days no work on the game itself has been completed. Instead I have created trailers, screenshots and copy. Next up is more mission/balance/AI work (am I sounding like a stuck record?).
It has been a while since I last updated everyone on Concealed Intent’s progress. This is not because little has been happening – quite the opposite! I have been working so much almost everything else has fallen away – most notably exercise and keeping up with people. In the last week I’ve left the house twice, both times just to buy food. It is crunch time on the project, but since this is a one-person project, I’m doing it to myself and have no one else to blame. However, today a major goal was “finished” (in quotes as it is never really finished), so I have a little downtime. Partly this is because Unity has said they may release fix for a bug that has plagued me the last fortnight, and I decided to wait a little for it before releasing the latest build. There is a workaround for the bug, but that has its own issues. So here’s hoping that they do fix it and soon!
Since the start of September more online functionality, a soundtrack, a modular narrative system, random skirmish generation, a splash screen and various bug fixes have been added to the game. However, the biggest change is to the controls, GUI and tutorial. By mid September, I was feeling quite confident in the quality of Concealed Intent and began planning to put it on Steam. First there was to be the final playtests. Unfortunately, those playtests did not go well. The general view was that it was hard to tell what was going on in the tute, the game broke certain conventions and there was just too much clicking. Oh well. I was in quite the funk for a few days afterwards, wondering if the game was a failure. Recovery came through talking to a couple of local gamedevs (thanks guys!) and now the GUI has greatly changed – movement and targeting can be done with a single click, sub panels (noise, components & log) have been removed, the tutorial completely rewritten and a selection indicator added.
Now once again I think the game is ready for Steam Early Access. If its not, I’ll probably just release it anyway because I can’t keep working on this game forever. It must end soon. There is the “workaround” version on dropbox now (available here). hopefully to be replaced with the fixed version soon. Then it is time to put this version out for comments. Then I’ll work to get a private beta on Steam (sending keys to all those that have helped along the way), while at the same time improving my (nearly non-existent) marketing materials – including this website.
So my last post (some time ago!) plotted out a path to finishing (or at least Steam Early Access). Who spotted the obvious error in the plan? If you said “two weeks to finish an online server is a little ambitious”, then congratulations you are absolutely correct.
It is now a fortnight past when I hoped to have such a server completed, and it is only just usable. Players can register, search for duels, and play a game. They can even concede the game if they wish. There are no outstanding bugs, but there is still more to do. The last “must do” item is adding timers to the turns so a player can’t just abandon a game leaving their opponent hanging. Other than that there are a few things I should add, but can wait until later, including: a coop mode; bots if no player opponents are available; player ranking systems with better match-making; Steam user auto-registration; and, many performance improvements (at the moment my home PC can probably support about a hundred simultaneous games).
As it is not completely done, this release will be skipped, it will not be available on the Dropbox folder. Instead 0.9.12 will be an internal release and now I’ll start on 0.9.13 as the final alpha release available before heading onto Early Access. Of course I’m already two weeks behind, so now the goal is for a mid-September release, and October for getting on Steam. The main tasks are fixing up the narrative messages, adding a soundtrack, adding more missions, AI improvements, Steam integration and of course those damn turn timers!
When is Concealed Intent “done”? This is something I’ve been thinking about since being Greenlit. It would be very easy for me to just keep going forever, aiming for a level of perfection that can never be achieved. Alternatively, I could just stop and give up. At various times during development, both these possibilities have appealed. However, the goal for Concealed Intent is for it to be financially successful enough to warrant creating another game. Although the idea of taking someone’s money for Concealed Intent scares me immensely, it is essential if I’m to continue, so I’ll aim for the best game I can (in order not to disappoint paying customers), that can be finished soon’ish (2.5 years is long enough).
There are two pages of “todo & wishlist” items on my workdesk. Not all can be done in a reasonable time period. A balance needs to be found. Now is the time to boil them down to the things absolutely necessary for wider release. Then fit them into a (hopefully) fortnightly release schedule.
There are a few other significant changes on the todo list which I won’t do until after reaching Early Access. There are also a number of unmentioned small issues that will be done around the larger items on this plan.
Observant readers will notice these plans start with a release yesterday. Behold! It can be downloaded here. So far, so good. Below is an image of the old stats panel (to be updated next) with the new components. Can you work out what they do? They are the 5 icons underneath “Sensors/Weapons”, although they are neither sensors or weapons – that text will change.
In the leadup to getting on Steam, I’ll have to start marketing again and reaching out to people. One of the benefits of being Greenlit was I could let marketing slide for a while and focus on finishing Concealed Intent. Soon, I’ll have to go back to time-intensive PR activities and consequently dev work will slow again. Another reason to get these major items off the todo list. The addition of online play and extra missions will mean the original vision for Concealed Intent will be complete. The only extra “nice to have” functionality will be full modding support. However, that will take far too long and so have to wait for a future update – if the game is successful.
Better get back to development!
Part of indie game development is letting people know about your game. Luckily there are a number of channels that exist to amplify your message to a willing audience. One of these is Screenshot Saturday on Twitter, Reddit, and TIGForums. Concealed Intent has made occasional appearances on these, but less than it should. I usually start thinking about images to post on Saturday morning and often just run out of time to get it done before Sunday rolls around (although that doesn’t seem to stop some people).
This time I am prepared. I have been aiming for a weekly tempo of demo pre-alpha releases and been hitting my deadlines, until last week. From now on I’ll aim for fortnightly releases. Work to improve the performance of Concealed Intent and its graphics at the same time as upgrading the Unity engine took too long – especially testing. It is done now, and the extra week means there is some time for screenshots! Click on them for larger versions.
This first image below is my favourite. It shows the planning phase towards the end of the “Extraction” mission. The player is attempting to escape the enemy’s greater firepower (especially that station) by using their drone as a decoy. Thus the players corvette is deploying countermeasures to stay as unnoticeable as possible. Meanwhile the doomed drone is doing the opposite – flying into the mass of red enemy contacts with active sensors blazing. The video is what happened after clicking “Action” – not bad, most of the enemy ships fired on the drone, but two mines fired (and missed) the corvette.
Here are some other game screenshots I captured. They are (clockwise from top-left): a battle in an asteroid field; trying to persuade some potential allies and getting shot in return; the campaign menu screen; and, targeting an enemy drone. Want to see for yourself? A pre-alpha test version of Concealed Intent can be downloaded from dropbox here.
If you want to see what the game looks like just download the version appropriate for your computer, unzip and run the app. All feedback is welcome – especially if you find a bug! If you use the inbuilt feedback system (click ‘J’ while in-game) then I’ll get sent some debugging info along with your feedback.
There is still a long way to go and lots of further work to do (better campaign, AI and online play being the larger tasks). But this version should give a good taste of what is to come! Fingers crossed there are no major bugs! I’ll keep the link updated with the latest version while there are still alpha releases.
The main reason I’m putting out these early versions is for the feedback. Comments from testers definitely make a difference when developing a game. One of the reasonably large changes to Concealed Intent from playtesters is the removal of the “map mode”. Players never seemed to use it. So now it is gone, with the “here is everything” functionality replaced with arrows on the edge of screen pointing to entities offscreen. Hovering over the arrow shows the current display name of that entity and clicking on it centres the screen on that entity. What else do you think should change?
Among Gamasutra bloggers there appears to be a common tradition of detailing the methods employed to successfully pass through Steam Greenlight. Often these blogs amaze the reader with stunningly short periods of time in purgatory (20 days, 7 days, or the best I’ve seen, 5 days). I’ve devoured these tutorials and tried to follow their instructions. The result? My game, Concealed Intent, took just under 100 days to pass through Greenlight, and I have no idea how this was achieved.
Most of the other games’ posts make useful suggestions. Use animated gifs to catch a browser’s attention. Have a good and short trailer (90 seconds or under). Use BBCode to include images in well organised description text. Basically assume that people coming to your Greenlight page will be looking for a few seconds before moving onto the next one. You need to quickly attract their attention long enough for them to spend a few more seconds to vote “Yes”. All this advice was followed on the Concealed Intent page. I think it paid off – 42% of people voted “Yes” (compared to a top 50 average of 26% at the time of being greenlit). Of course, converting visitors into “Yes” votes is only half the equation.
You first need to get people to visit your game’s page. I would guess on the order of 1000→2000 people came through Steam itself to my page, mostly in the first week while it still appeared on the front page of Greenlight. About 70% of people vote and if 40% of those are converted to “Yes” votes, then the total is 300→500 – still a long way from the top 100 (at present just under 2000 votes). Here suggestions range from contacting all your friends, posting screenshots to twitter (don’t forget the hashtags!), and just continually pushing a media presence. It is hard work and takes up a great deal of time. As a sole developer, I found myself having to choose between promotion and development. In the end I just oscillated between the two doing neither job properly.
One method of promotion I did not use (and I think this had a large impact on being greenlit) is bundling or key giveaways. Valve has stated that promising keys for votes is discouraged. However, a number of organisations will offer to help get games through Greenlight and their plan is generally to giveaway or sell the game cheaply while asking the receiver to vote “Yes” (which is clearly in their interest). The effect can be impressive (see here and here). An anecdotal survey of games in a bundle showed that most were greenlit within a fortnight of the sale starting. So it works, and fast. There are arguments to be made that such techniques are not in violation of Valve’s policy, but I believe it is against the spirit of Greenlight so I avoided them.
So how did I drive people to the Concealed Intent Greenlight page? I didn’t. At least not successfully in any meaningful numbers. I used Twitter, Facebook, Reddit, IndieDB. I kept blogs on my own websites and Gamasutra and TIGSource. By the end of the campaign I had around 2250 visitors and 690 votes, corresponding to around 42% of the way to the top 100. I was about to shift back into big PR push when the email arrived saying I had been greenlit. Thank you, thank you, thank you to whomever at Valve decided Concealed Intent was worthy!
Originally I thought Greenlight was to prove a market exists for your game – thus the need for a large number of votes. Now I think the purpose of Greenlight is to avoid “bad” games? So it is not about building a market, so much as catching the attention of Valve’s Steam custodians (with Greenlight a better way of doing this than the old system of emailing and bothering Valve until accepted onto the platform). Getting lots of votes is still the most likely way of achieving this, but not the only way.
So my advice? For what it’s worth, I think the best plan is to produce a polished game, find real customers and avoid selling out cheaply. If the game doesn’t immediately take off on Greenlight, do not be disheartened – instead grind it out over time with continual PR. Of course, all this assumes you have a good game – that should be your first and main goal!
Concealed Intent has been greenlit on Steam! Thanks everyone.
One of the difficulties in creating Concealed Intent is how to handle 3D. Often when showing the game to people, the ability to fly your ship up and down seems the hardest to understand. The plan was to copy Homeworld’s movement and waypoint selection system, but early comments from the latest round of testers suggested that was not enough. So after a short discussion on reddit’s /r/gamedev, I decided to more shamelessly copy Homeworld 2’s movement system. The idea being to more strongly signal perspective in the game and easier controls.
A disc showing the horizontal plane now appears when selecting waypoints. The marker displaying the height above/below the horizontal is now much clearer. Also the player can start moving up down by holding down the right mouse button (as well as the previous method of holding down a CTRL key). The amount of movement up/down is now directly linked to mouse movement rather than a fancy (and fragile) 3D geometry calculation. Finally once wayponts have been set, it is now possible to click and drag the last waypoint to a new position (an idea given by a tester through the feedback system!).
Want to see all that in action? Watch the video below.
Time for another update on Concealed Intent. The latest news is that I just finished spending a week to allow games to be saved and then replayed. It works very nicely. The main benefit of this (apart from being cool:) is that when people leave online feedback they also leave the log of their last played mission, which I can now review to see what they were seeing at the time. Of course, while all this mucking about in JSON serialization and the gameplay engine was great fun and useful, it does not help get the game better noticed or greenlit.
Marketing is now something constantly in the back of my mind. “Will this make a nice screenshot for Twitter?” “Can I blog about this on Gamasutra?” “What needs to be done before I can release a demo version?” As of today I am 40% of the way to the top100 on Greenlight and the pace of yes votes has greatly slowed. I’m hoping that a demo version and accompanying media push will improve that situation. In the meantime, I work on the occasional graphical nicety in order to keep up a trickle of screenshots/updates and thus a corresponding trickle of votes. Thus, after the week of engine work, I spent an afternoon playing around with movement trails. The resulting screenshot is below.
Last week an early demo copy of Concealed Intent was sent out to mailing list subscribers. So far there has been little feedback, but that has always been my experience with such things. One person has said that vertical movement is difficult to understand – an issue that is already on my todo list as a “maybe”, so it will probably become a “definite” now. My todo list is full of tasks leading to make a better early access demo. As the the demo improves it will be distributed through more popular channels (Greenlight, Facebook, Twitter, blogs, IndieDb, Reddit, etc). The first task on this list is completing the first draft of the single-player campaign, as this will determine if any more changes to general gameplay are required. Then work on balance and AI. Then some GUI improvements like the vertical movement issue, plus a way of identifying ships without plans; direction pointers to off-screen ships; and, a better loadout screen. After that, I don’t know, it depends on how feedback for the demo goes.
Anyway back to work!
At an early stage of Concealed Intent’s development I sent it out online to get feedback from people who expressed an interest in the game. There were very few replies and most of those were just of the form “yeah, it’s ok.” As a result I started doing playtesting while sitting next to the victim/tester. This is a much better technique – a huge amount of information is gleaned from just watching someone else play, any comments are a bonus. However, it does not scale, especially as a sole indie developer. So in the background I continued to try finding a better way.
At GDC Hugh Jeremy presented Subnautica’s feedback system. Oh yeah, this is what I wanted. Being a proud member of the “break’n’enter” school of game design, I had the example code and presentation slides downloaded within minutes. Now a similar feedback system is built into Concealed Intent.
As developers we need to make it as frictionless as possible for players to communicate feedback to us – otherwise most won’t bother. This is the beauty of the Subnautica system (and my reimplementation).
— Hugh Jeremy (@hugh_jeremy) March 18, 2015
How well the feedback system works when live is something for a postmortem. Although it seems to be working well for Subnautica so far (13% may not sound like much, but I’d be happy with that). It should at least work better than my previous system!
I’m just back from GDC2015 with mixed emotions. The experience was simultaneously incredibly inspiring and depressing. At GDC there is always an informative presentation to attend or interesting person to meet. However, the scale of everything overwhelms. Most of my indie gamedev activities and assumptions have been validated – nothing I heard or saw was particularly surprising or caused me to reassess my plans. Although it is now clear that obscurity is an everpresent threat to a new indie developer. Many talks discussed how elusive indie success can be (apart from creating a good game, the secret seems to be perseverance, marketing and luck).
GDC week started with a shock. I had signed up for the 5 day pass specifically so that I could attend the 2 day Game Design Workshop. Turning up 15 minutes early I found myself at the back of a long queue. Worse, this queue turned out to be the overflow queue for the backup queue. The workshop was full, about 20 people had been allowed to stand inside the room as backups incase people left. Then there was the overflow queue for the backup queue – about 40 people would have to leave before I would be able to join the workshop. I heard later people started arriving over 2 hours before the start. This wasn’t the only session I missed due to crowds. Arriving 5 minutes early for the Hearthstone UI talk, I was greeted by a huge line, again after the room was already full.
With 26000 attendees, GDC is huge, and can be intimidating to introverts (like me). This has its pros and cons. It may be that you might not be able to get into your chosen activity, but there is always something else interesting happening somewhere. After missing the Game Design Workshop, I just walked into a discussion on the AI system in Guild Wars II and learnt a some new useful techniques (although as a result I now want to completely rewrite the AI in Concealed Intent).
Many of the best activities available are not even part of the official program, such as meeting other game developers and just chatting. Of course being an extrovert (or being able to pretend) is a great help here. I only spoke to a few people, but they all had very interesting things to say. Most of the people I spoke to were also attending for the first time by themselves. I don’t think this this is a coincidence.
It appeared as if most of the people at GDC already knew lots of other people at GDC, either through work or online connections. This was quite daunting to a quiet person on their own. Since returning I have discovered there are many “ice-breaker” events: the indie hostel; open party lists; the lost levels unconference; reddit meetups; and more. My mistake for not discovering these before going.
How would I advise a first-timer? What would I do differently?
Will I go again next year? I’m not sure. I’m glad I have been at least once to see what it is like and to get a good overview of current gamedev. Although the expense and time to go to GDC from here in Malaysia is very large. It would have to be for a purpose. GDC has huge potential for indie devs, but requires some planning if attending is going achieve anything. I didn’t prepare adequately this year, I won’t make the same mistake again.
Concealed Intent is on Steam Greenlight! Please vote for it here!
I’ll be GDC this year. If you are there too and watch to meet up, feel free to send me a message.
In Concealed Intent I wanted enemies to circle the players, and not just in a predictable flat y=? plane. No, instead they should fly all sorts of curved paths above and below their targets. The game is fully 3D and the enemy AI should demonstrate this. So began my affair with Unity3D’s Transform.RotateAround. If that function and its uses are second nature to you then this blog post will be old news, if not then read on…
This appeared first at the Concealed Intent TIGSource DevBlog
“The life of an indie dev is always INTENSE!”
— Apologies to Alex Cox
Alright, not quite as intense as the life of a repo man, but still never boring. I’m always learning something new. In the past week I have been a copywriter, project manager (for outsourced art), marketer, tester, film editor, and even amateur artist. Note, for many days now I haven’t been a programmer, despite that being my primary skillset.
This has all been because of my “big nail” development process for Concealed Intent. This basically means that I focus on the main issue of the moment, whatever it is. As the sole dev on this project, my attention can only be on one item at a time. Earlier this month that was the tutorial (again). For the last week or so, the big nail has been preparing for a Steam Greenlight campaign. I commissioned work on a logo (see at the top of the games page). Worked on improved skyboxes. Downloaded the trial version of Adobe Premiere Pro and created my first trailer.
That last item took some time. The resulting video is below. Not bad for a first attempt, I think so anyway.
Then came my first animated gif. That wasn’t so successful, but the second was good enough to use as an icon.
With all the artwork complete, it was time to complete a Greenlight submission. I did that about 6 hours ago. Now I am a professional reload button clicker. Seriously, I have clicked reload every few minutes since it went live. It took about 10 minutes before anyone voted for it – a nervous time. It is currently on 41 “yes” votes.
The idea that 41 people (well actually 40, because I voted for myself) think Concealed Intent is a game worth seeing on Steam is utterly amazing to me. I feel a little burst of apprehension whenever I put up something about the game. I try to do this regularly now to help overcome any concerns. It works, but seeing (currently) 42 people voting for it works even better! Now I’m super motivated – I will finish!
Next up is more work on the tutorial. Then I’m looking forward to getting back to some coding with gameplay balancing, online work and finishing a first draft of all the campaign missions.
Which is all a long winded way of saying, Concealed Intent is on Greenlight – vote for it here!
Work on Concealed Intent continues and the game improves. Right now, I’m working on making the game prettier so it will look good in a Greenlight gameplay video. More on that soon.
I’m also going to be going to GDC this year. So if you are going or will be in San Francisco during the first week of March, let me know!
Just today I sent out the first email on the Concealed Intent mailing list. Since it is important to get the good news out as wide as possible, I’m also putting the information here.
As of yesterday, this is how Concealed Intent looks:
Just this week the last of the scenario placeholder art has been replaced by professional work, although there is still some developer art in the menus. So now the game looks much prettier. This is not to say there will not be further changes – suggestions are welcome.
At present Concealed Intent is in early playtesting (where I watch people trying it out). The results are promising, each playtest goes better than the last. The game is playable, but still a little hard to understand. The main focus of current work is making the game more intuitive and improving the tutorial (a surprising large task). Other tasks include completing the second half of the single-player campaign; expanding online play beyond the current proof-of-concept; and general polish & game balance.
I am beginning to see the light at the end of the tunnel. Concealed Intent will be finished… soon.
I’m looking at putting the game on Steam Greenlight. When that happens I’ll send another email asking for your support. There will also be a closed alpha test sent out probably end of March, early April. Again I’ll send an email asking if you would like to take part in the testing.
At the moment there is an Introduction to Game-Design course given by the MIT Game Lab on the EdX website. It aims to teach the basic tools of game design (namely prototyping, iteration and testing) in a practical manner. I followed the coursework, finishing with pages of notes and heard some interesting stories. Unfortunately due to time constraints, considering the need to finish Concealed Intent, I didn’t participate in the the practical parts of the course. Still, I would definitely recommend that people relatively new to game design at least peruse the videos. The advice proffered includes many of the the lessons I learnt the hard way. Hopefully further mistakes can be avoided thanks to the course’s suggestions.
The course is 6 weeks long and each week has around an hour of video. The videos include 20-30 minutes of lectures with the rest being interviews with professional game developers (most of these interviewees are people physically located close to MIT or have some other strong connection with the Game Lab so I’m not sure how representative they are of the wider industry). The interviews largely repeat the content of the corresponding lecture, but are also peppered with examples and entertaining stories. The coursework involves creating a game prototype with the GameBlox tool and having it peer-reviewed (other students in the course evaluate your game and provide feedback). All the content is produced with high production values, although some of the links are broken.
The course starts by asking what are games and game mechanics. Then there is a discussion on prototyping and play testing ideas. This seems to be the central idea of the course. Every subsequent week mentioned the importance of playtesting and iterating on ideas rather than becoming too attached to an existing system or mechanic. Lectures in the following weeks look at designing the player’s experience, digital prototyping, and making the game usable through UI design and polish. The final week examines the business of games – largely through the stories and experiences of some people who have set up successful game studios.
Below are my condensed notes on the core lessons of the course:
A friend of mine believes that all programmers really just want to write games. Concealed Intent is my attempt to prove him right. I’ve started work on many games in my spare time, but never finished any. When the opportunity came to work on a personal project full-time; creating a game seemed like the perfect choice. In late 2012 I moved to Malaysia for my partner’s career, but without a local job. When deciding what to do, the idea of finally writing a game greatly appealed. So began Concealed Intent, nearly two years ago.
At Unite2012, indie game devs were advised to create many simple, small games. By keeping the games simple it should be possible to produce a game or two each year – minimising the risk associated with any particular game (and increasing the chance of a big hit). Good advice, that I have ignored. Concealed Intent is the smallest idea for a game I considered. It is turn-based, so there is no need to worry about high performance; and set in space, to minimise art requirements (the background is mostly black). As a strategy/tactical game it is also the sort of game I enjoy – helping keep up my motivation to finish. Still the concept is far too large for a team of one! The problem is that not having completed a game before I didn’t consider all the extra little things that need to be done. Two years is too long. The next game will be much smaller, and definitely 2D!
After the first year of development there was a playable version. It was just a simple skirmish, and all the artwork was developer art (very ugly). A number of people tested it out and the feedback was not positive. Apparently the game was too complicated and testers did not understand what was happening. So some of the elaborate features had to go – like relativistic physics, a fully reversible timeline, and a vast array of possible actions each with various triggers (now there are exactly 5 actions possible per ship – all of which occur exactly when the player activates them). Also, the GUI is much simpler: there are many cues for position in 3D space; and no nested input screens for various options on selected actions. Simplify, simplify, simplify. Great advice for an indie dev. The game is much better now. I was too close to see that the layers of complexity didn’t make the game more fun – in fact it was the reverse.
Getting feedback early and often is a good idea. I try to do this as much as possible now. Many of the early testers commented on the poor artwork, despite a warning that it was temporary placeholder art. First impressions make a big difference. I can say to ignore the art, but human nature means that people can not easily separate core gameplay from ugly screens. If it looks bad, they are more likely to think the game is bad. So beware giving early work to people without an understanding of the game development process. Since then feedback on Concealed Intent has come largely from other local game developers or artists. Now that the art has improved, it is time to pass out test versions more widely.
While Concealed Intent has taken two years to develop (and counting), that only corresponds to two person years. Development is largely by me. This is very hard. If possible I recommend working in a small team. As a sole developer it is easy to become discouraged by the usual setbacks or problems. Coworkers help keep motivation high (for me at least). Being alone can make me glum, so interacting with the local game dev community is a must. Take a look online in your hometown – there are usually some local groups, and across two countries I’ve found indie devs to be friendly and welcoming. By oneself it is also easy to become distracted or become fixated on an unproductive part of the game. Whenever I find myself thinking about rewriting a bit of messy code to make the design more elegant, I have to ask myself “does this make the game more fun or bring it closer to completion?” Normally the answer is “no” and I go to work on something else for which the answer is a definite “yes”.
There are many distinct tasks required to finish a game. If the team doesn’t have a necessary skill to complete any of them well, then someone with that skill needs to be found. For Concealed Intent the missing skill is anything to do with art. For a long time the game used placeholder art. I was reluctant to get someone else involved. Eventually after meeting a few artists at a local IGDA group, Amber was hired to improve the GUI. This was a decision I should have made months earlier. The basic elements of the GUI had been decided for a while, but trying to work out how to display them on the screen was absorbing nearly all my time – as I’m not very good at it. Amber quickly improved the look and feel of the game. I’m much more confident about final product now it looks good. Soon other people will improve the 3D models and the music – I can’t wait. If you are working as a sole developer, don’t be reluctant to bring other people in to help.
Having someone else in the team can also help with what may be one on the largest indie game dev tasks – marketing. It seems obscurity is the largest impediment to indie success. The process of selling the game needs to start early, just so people even know it exists. I’ve just started, and already feel overwhelmed by all the advice on setting up blogs, landing pages, Twitter, Facebook, online reviews, online stores, YouTube let’s play, and more. Prepare for selling early – I wish I did, there is so much to do!
So what next? In the push for completion I have set myself a deadline – GDC 2015. The tickets are bought, now I just need to finish the game!
It is time to decloak. For some time I have been developing the indie game Concealed Intent. After years as an IT consultant, my circumstances changed and it was time to try something different. The game has largely been developed by myself, with the much appreciated help of a freelance artist in the last few months.
As obscurity seems to be the indie gamedev’s greatest enemy boss, introverted tendencies must be overcome. So that is why I’m writing this blog. In future posts I’ll write on lessons learnt (both technical and otherwise) as well as detail the last push towards completion, but first some introductions.
Concealed Intent is a turn-based game of tactical space combat. Players control their ships in a completely 3D world – hunting down their enemies, just as they are being hunted themselves! In Concealed Intent you know your enemies are out there, but not exactly where, or even what they are. The fun comes from out-thinking your opponent rather than any test of reaction speed.
The core gameplay mechanic is stealth. But how can you be stealthy in space? Well, space is big and empty. Finding something can be like looking for a needle in a haystack. On the other hand, there is nowhere for the needle to hide – to stay concealed it needs to fade into the background as much as possible. Nearly anything a ship does will signal its presence and increase the ability of those around to detect it. A big ship may blot out stars as it passes. Heat from engines can be detected against the cold of the void. Lasers can be traced back to their origin. Eventually as detection increases, a firing solution can be calculated so that a beam of coherent light a few millimetres in diameter can cross thousands of kilometres to strike an evasive enemy – hidden no longer!
To defeat your enemies you need to devise a range of strategies to gain enough information to successfully shoot at them. All the while they are trying to do the same to you. Various equipment is available to help both sides, including sensors, countermeasures and drones. There will be a single-player campaign, instant procedural skirmishes and online multiplayer.
Concealed Intent has been the last two years of my life and it is finally nearing completion. Time to start telling people it exists! (or will very soon exist at least). By the way if the screenshot reminded you of Homeworld, well done, that game is definitely an inspiration. If you read the description and thought of submarines, well spotted, the original name of the game was space submarine!
It is time to start thinking about marketing Concealed Intent. I’m not a natural marketer. I don’t talk smoothly about my game and enjoy contacting people to let them know about it. I have to force myself to write blog posts – it’s for the good of the game. The recent Games In Asia event ended with the offer of letting audience members give a brief 2 minute talk on any of their gamedev issues. My first thought was “I’m glad I have nothing to say”. Then I remembered one of the reasons for attending was to find 3D artists (more on my search in a later posting). I reluctantly stood up to ask for 3D artists interested in helping to contact me. In my nervousness I forgot an important point (it was paid work). Afterwards my hands were shaking a little. I’m fine talking in public when prepared, but not so good when unprepared.
This is my preparation. A mailing list signup has been added to this website and to the Facebook page. There will also be more regular updates to Facebook and Twitter @JarrahTech – but not too often (posting should come naturally, not forced or spam-like).
Next comes a plan to combat obscurity – the greatest threat to indie games. The good word on Concealed Intent will be spread by blog posts. Not just here of course – very few new people would find them. Instead they will go on places like Gamasutra and any others I can find. They will also be posted here with the tag “Syndicated”. I will endeavor to keep a regular stream of them coming.
Last week the Games In Asia website held a evening of talks on setting up an indie game studio here in KL. One of the talks was by a local gamedev, Shawn Beck, who has had some success with his game Velocibox – getting on Steam via Greenlight, and also procuring some international exposure. His talk was the main reason I attended the evening. Shawn is a few months ahead of me (I hope) on the indie gamedev path, his thoughts could be very useful to me. The other talks were by local, larger (4-8 people) indie studios creating F2P mobile games – not quite my thing.
Shawn’s talk was a brief history of his career followed by some lessons learnt developing Velocibox. He promised a more complete postmortem of the game in a later IGDA talk (I’ll have to go to that one too). His path to indie game development follows a common pattern: a desire to write games from a young age, but working in the IT business until heading out on his own in a burst of idealism. I hope it works out and he can continue making games – Velocibox is doing “ok” on a MYR20k budget. I’ve previously heard similar advice to that proffered by Shawn, but the repetition is not unwarranted. He counsels keeping to the game’s main vision and producing the simplest expression of an idea. This point was made with a succinct quote I can’t quite remember – something a project being finished when everything that can be removed has been and nothing else. Good advice – I have learnt the same (the hard way). He also suggests trying to “fail fast”, that is work out quickly if your project is worth continuing and modify the project or move onto something else if necessary. After the talk there was some discussion about this. Some people suggested instead of “failing fast”, a new indie dev should “fail hard” and thus learn better from their mistakes. I can see the benefits of both, there is no point doing something that is not working and devs need to get out their and test their hypotheses (like “is this game fun?”) early and often. However, ultimately something must be finished and released. Shawn’s last point was about engaging with the community (do it!) and recommending Casual Connect as a particularly good local conference. This advice was echoed by the two subsequent speakers – especially mentioning Casual Connect. I may need to make plans for this conference coming year.
The other two speakers were interesting in the similarity of their talks. Both studios were set up as commercial enterprises from the start with multi-person teams from day one (4 people seems the standard initial studio size). Both said that visibility in a crowded marketplaces was their greatest problem. Both started in premium mobile games, but found that market limited and migrated to F2P instead. By all accounts the people running these studios (and presenting at this evening) were interested in games and produced quality products. However, I didn’t get any feeling of passion from them, it was just a business (perhaps a byproduct of having employees to manage and pay?). On the move to F2P, one studio said they saw a “10-20x” increase in revenue after the switch. Wow, that is an amazing difference – it would be hard to refuse F2P without strong objections. The other studio said that premium pricing was very hard when having to pay for team every month (presumably because revenue is lumpy – high peaks when a game is released and long, low troughs in-between). They also said that the market expects games to be cheap or even free and this makes it even harder to be profitable without the ongoing revenue of F2P.
Well done Games In Asia, an entertaining and informative evening.
I have created a self-imposed deadline – next years GDC. Target acquired! It is all organised and booked. Now Concealed Intent needs to be largely finished before it starts on the 2nd March 2015. So what is the progress so far…
Creating the story for the single player campaign is finished. There are 10 main missions, plus a tutorial, plus an epilogue. The plan is that hopefully this should total around 4-5 hours of gameplay for a new player. However, work on balance and enemy AI still needs to be done to ensure this (the game is too fast and not stealthy enough at the moment). Working out the story allows me to start creating the maps and the ships (with appropriate components). That allows me to look at hiring a 3D artist to create nice in-game representations for them.
On other art, the menu work has begun. I can only hope that it has as large an effect on player perceptions as improving the GUI. The menu work is being done by the same artist as the GUI. It was nice to meet them to finish up the GUI work. They suggested fewer fixes and changes than I had expected. Also, they expressed excitement about seeing their designs in the game and being able to play it too (plus their name was already in the credits). I found that exciting too – I feel more confident that the game is good.
I’m also starting to plan for when the game is complete and I need to start selling it. Obscurity is likely to be the biggest problem. There are many good indie games out there and the main task will be to let people know mine even exists. Part of that plan is to publish to social media more often – including blogs. However, that does not not necessarily mean this blog. There are other sites like Gamasutra that more people read. I will start writing a series of posts to introduce Concealed Intent and post them wherever I can – including here.
I’d better get started!
Do indie game developers ever take holidays? I recently returned to my hometown for a fortnight’s holiday and during that time I was unable to do any work on the game. It has been a week since and I’m only just getting back up to speed on development. It is a great loss of time and momentum, making me wonder if the life of a indie game developer is all work. I imagine it must be, at least during the early years. First the game must be developed, but once nearly complete there is so much more to be done. There is creating an awareness of the game; selling the game; and supporting the game. Of course there is also starting over with the next game. The enormity of the task is beginning to dawn on me.
The self-imposed pressure is beginning to build. Last year I planned to attend this year’s GDC conference with a complete or near complete game. There are many people who want to create games, but few who actually complete. I need to have something done to show I’m not just a wannabe developer. Unfortunately due to reworking the game after initial testing, there was no hope for it to ready in time for GDC 2014, so I cancelled my plans and vowed to make it in time for the GDC 2015 conference. At the time that seemed like a very easy goal. Unfortunately, programmers tend to be overly optimistic. According to the countdown timer I have on my desktop there are (as of right now) 156 days, 14 hours and 20 minutes until GDC. It will be close, but I think it is still very achievable.
The first pass through the all new GUI work has just been completed. All the professional GUI art has made the game look immensely better, although the 3D developer art still lets it down a bit. There are a few little annoyances to be ironed out and some niceties to make the game feel smoother (like animated transitions when the GUI readjusts itself – rather than just jumping immediately to the final state). Next the menu system will be redesigned by a professional artist. Meanwhile I need to work on balancing, then complete the single-player campaign, then spec out 3D art work, then fix online play, then plan marketing, … Will it never end? No more big holidays until this is done – I must finish!
Like the old cliche “to a hammer, everything looks like a nail”, as a programmer I think many of my game-dev problems can be solved with code. So at first many of my solutions to issues in Concealed Intent were to add more functions onto control classes. For instance, to handle screen size changes, each GUI element’s control class included a function that knew how to resize that GUI element. The problem with this is sometimes this is the only code required in such a class. Also, it requires the resizing logic to be hardcoded and thus changing it means changing the code. This is not the Unity way.
The last month has largely been more of the same as last month. I’m working on online multiplayer games (getting close!). Meanwhile the artist is nearing completion of her work redesigning the GUI. In fact, the first bundle of “finished” (in quotes because rework is likely, if not expected) artwork arrived yesterday. So now I need to start adding it into Concealed Intent and see how it looks. I’m starting to feel a little harried. The online work just needs a last push to finish. However, I also need to ensure the artist is not blocked waiting on me. Of course, I also need to just get this game finished! Still, not as bad as being back working at a bank, but I do need to keep going.
Recently I have been reading a few game development postmortems and wondering what I would say in a Concealed Intent postmortem. While I still have the whole marketing phase of the process to come (not looking forward to those tasks!). Here are what I think (at the moment) are my top 5 mistakes:
The last post here ended with plans to hire a professional game artist to work on Concealed Intent’s GUI. Thus freeing up time for some of the more lengthy programming tasks. Well, soon after writing that a GUI specification winged its way to a few local game artists (if that didn’t work the next step was local students, then the Internet). They sent back concept sketches – all inspired by the film Oblivion, is that the current cool design inspiration? I picked the one I liked best and we went to work.
So far I am very happy with the results. See for yourself. Below left is the Concealed Intent GUI before the artist started and on the right is the current state after 2 weeks work – much better.
The design work has the added benefit of someone else’s detailed constructive criticism on how the game works. The downside is I now have a much longer todo list! It makes me wonder why I didn’t do this earlier. Splitting out separate work streams and handing them to people with appropriate skills is definitely the way to go – who would have thought! Actually, the reason I didn’t do this earlier was to keep costs down. Now I have committed to the release of Concealed Intent there is no reason not the spend the money budgeted.
Another benefit of the GUI design work is I can focus on online play – a previously ignored part of the game. The vision has always been that online multiplayer would be very important (for sales at least) with the single-player campaign as a short’ish taster. So it is great that work for online play has finally started. It is moving forward slowly but surely. At the moment players can log in, challenge other players and load the state of a game. I hope to have simple turn updates by the end of the week. Then it will probably be time to go back to that todo list.
Recently I have started showing Concealed Intent to people in person. Watching people play provides a huge amount of information far beyond their verbal suggestions. It also results in immediate feedback rather than waiting weeks for email responses. In person playthroughs are definitely the way to go in the early stages of game development. So far, it has been shown to a couple of game developers I met at GGJ14 and many people at a local IGDA meetup.
The feedback has been roughly as expected. No gushing, but nothing hugely negative either. There has been at least one “this is like Homeworld” comment, which I count as a huge compliment. It has been some time since last hearing people say they don’t understand what is happening in the game. Hopefully the game has reached a reasonable level of complexity (I recently removed the “percentage chance of hitting” stat, now the change of hitting an enemy with your lasers is equal to your lock on them). Many ideas, changes and improvements have been suggested – some I agree with, some I don’t.
The most common subject of comments is now the GUI. Definitely much more work is required here. Below is the current state of the GUI, as designed completely by me.
Yesterday I was working on making layers appear and disappear programmatically in Unity3D. The Unity
Camera class has a culling mask so that each camera can be set to only display a subset of the available layers. This is handy for placing 3D objects in one layer visible by the main camera, and say the GUI in another layer visible by a different camera. This can be setup using the camera’s culling mask dropdown in the editor. However, I wanted to be able to change the visible layers during runtime in response to a player’s actions (pressing a key will make a grid appear/disappear over the playing area).
A recent Gamasutra blog posted about Escaping the Indie Shame Spiral. It described ways to prioritise work and get stuff done. I work in a similar manner and decided to detail it here.
The article talks about using Trello or Pivotal Tracker to record tasks and the speed of work completed. I started using Trello; it is a great product, for an online todo list. However, as a lone developer, the friction of typing tasks and updating progress was not worth the benefits. No one else needs to coordinate their work with mine and I can largely keep the state of the project in my head. Trello was just acting as a backup and reminder for those “nice to do, but not vital” tasks that always seem to be done when there is time (which is rarely).
Instead I keep my task list on paper. Since I use a standing desk for coding, a notebook is laid down open at normal desk height. I can look down and see what needs to be done next. If there is something to be added or completed I just lean down and scribble it down or scratch it out. Very little effort is required – thoughts are quickly translated to text. I also keep paper around to work through coding problems or sketch out designs, again very easy and low friction. The downside is that I need to transcribe the task list every couple of weeks as the pages are filled. Although, that often reminds me of some of the lower priority tasks that might otherwise be forgotten. Here is my todo list (the left page in the large notebook) and notes (all the other pages) as they stand today .
The Gamasutra article also mentions using commitments as deadlines and motivation to complete tasks. A great idea. My original commitments were alpha testing (completed) and GDC (abandoned). The article has reminded me to set some more! So here they are:
Another long gap between updates. I haven’t give up – there will be a completed version of Concealed Intent! Just today I renewed the concealedintent.com domain for another year – how is that for commitment. Work is continuing and the game is beginning to reach the same level it was at before I sent out the alpha, and then started the rewrite. I will endeavour to give more regular updates in future. As part of my personal goals for the year, I have stated the plan to post year at least once a month.
This is the point in time I had hoped to have a finished game. My target was to complete, release and then go to the Game Developer’s Conference in San Francisco. It starts next week, and I’m not attending. Having been to a GameDev conference before (Unite12), I know that the most valuable part is talking to the other participants. Learning from the talks is an ancillary benefit. However, I also know going as someone who has never worked in the industry or written a game is always a bit of an outsider. Many of people want to make games, few do so. I need to complete something to prove I can, before going to another conference.
Hopefully next year!
Again a long gap between updates. This time as I struggle with making changes to simplify Concealed Intent. I have tried to make small modifications, but find small adjustments ripple through the system and become bigger undertakings than expected. Forward progress was slow. Thus I have started again – which I consider a failure of sorts. My only consolation is that now I have a clearer understanding of what the resulting game will look like and better knowledge of Unity3D. Hopefully the result will be much better.
Part of the problem with my old code is that it sometimes worked against Unity’s normal flow. The result was more “server-like” as this is closer to my previous professional experience. For example, the in this Dev Diary I proudly demonstrated my Builder pattern code for configuring a scenario. Now it is done the standard Unity way and the objects in the scene are stored in the scene itself rather than loaded from a data file (although that is still an option). Also I’m working harder to keep to a Model-View-Controller pattern. I tried this in the previous version too, but it became somewhat corrupted as I struggled to get all the functionality working.
Interestingly, the viedo below on structuring large projects in Unity was presented at the recent Unite13 conference (I did not attend this year). They talk about how their mistakes must evoke schadenfreude in the audience. Concealed Intent is much smaller than their project, but I felt no schadenfreude – only recognition of the same issues I have encountered.
It has been nearly 5 weeks since my last update. This corresponds to 5 weeks since an alpha build was sent out for testing and 5 weeks since any development work on Concealed Intent. So what has been happening? There has been the wait for feedback from testers and much thinking about future work. I have also been replaying Frozen Synapse (one of the inspirations for Concealed Intent) and other turn-based games.
Based on feedback and fresher memories of Frozen Synapse, I think it is time to go in a different direction. Frozen Synapse is more complex and frustrating than I remember (though it is still a good game). Adding the 3rd dimension and a “fog of war” mechanic to the mix has made Concealed Intent too complex. The plan is now to make the game’s core mechanics simpler. Stealth and 3D are essential to the concept, so they will stay. Instead, targeting then firing when a certain hit probability is exceeded will be replaced by ships shooting on explicit command. The ability to rewind/replay will also be removed. Just these two changes will make the internal simulation far simpler and should address the big issues raised by testers. There will be a number of other smaller changes too, including a reorganisation of the GUI. The result is hopefully a more intuitive playing experience.
The testing experience has not gone as I expected. The alpha build was only sent to people who had said, in person, they would like to test the game. Despite this I was prepared to consider a response rate of around 40% as a huge success (defining response as saying that they at least played it). The actual response rate barely breaks into two digits and has taken far longer than hoped. I’d like to believe this is because people have been too busy to try the game out. However, I suspect a few people played it and didn’t like it, and so decided not to respond (despite that sort of feedback being vital). Next time a build is ready for some testing I definitely won’t try the same system again, but I’m not sure how to replace.
Work has been progressing slowly, but steadily on Concealed Intent. Regular goals are set to puncuatate development and in the last few days the Alpha4 goal has been reached. This goal calls for the game to be minimally playable. So now people need to try playing it.
This is scary stuff. Up to now only three people have seen the work in progress. Now there will be a small audience judging it and offering feedback. All I can see are the rough edges of “developer art”, awkardness of the controls and stupidity of the AI enemies. I hope they enjoy it!
Concealed Intent has never been a hobby. The intention has always been to finish and sell it. I could keep improving it forever, but feedback is needed if there is ever to be a final release. As I’m so close to it I know exactly how to play, barely notice the GUI, and know all the controls by muscle memory. I expect others to play it in different ways and to spot the things previously overlooked. Hopefully they will also provide insight or suggestions on current features. Silence would be the worst outcome.
If you would like to join the testers, just drop me an email.
Recently I came across Alex Patterson’s Spacescape program. It creates space skyboxes by building up layers of stars, billboards (special stars, galaxies or other external images) and noise (for gas and nebulae). These can then be exported as a standard 6 skybox images each up to 4096×4096 resolution. All this under the permissive MIT License. Definitely worth checking out if you are developing a space-based project.
This could be very useful in Concealed Intent. However, there are a couple of issues to be noted when importing the resulting images into a Unity skybox. For more details see the Unity Texture documentation
Writing a game by yourself is hard. Harder than I thought when I started. Obviously, everything needs to be done by a single person, or outsourced. The game’s scope needs to be kept realistic and that means fairly small. I aimed small when starting, but in retrospect I should have aimed even smaller. This means that progress can be slow and, as a non-artist, it is easy to see all the things can’t do well. Sometimes motivation can be an issue.
The past week has seen the extremes experienced. At the start of the week there were many bugs and the game obviously had no polish. I thought I would never get it to work. A week later and the bugs are all fixed, at least the known ones! The goals for the 3rd alpha release have been reached and it is clear there has been forward movement. I was also surprised by the AI as my computer opponent surrounded me – how cool!
With this alpha release it is time to start working towards a wider audience. At the moment there is just a couple of people seeing my work. Motivation to do the work will be easier if more people are playing a test version – assuming they don’t completely trash the concept. So Alpha4 will be a complete player-vs-computer scenario version of the game (campaign and multiplayer will come later). If it is all fine, it should be quickly followed by a very similar beta version to show to as many people as possible.
It may be a case of the sunken cost fallacy, but I just have to keep going. Oh, and remember to do a smaller game next time!
Work has slowed recently due to being sick and other non-game issues. Hence the lack of posts over the last month. I lost about three weeks where hardly anything was achieved. However, I’m now back at a proper work rate, and ready to try catching up. This is a quick post to let people know what has been happening – mainly little fixes to the GUI.
Work on improving the camera control in Concealed Intent is largely complete. At least until testers make new suggestions. It is now much easier to navigate around the 3D playing space in a scenario. Replacing scale with zoom is one of the changes, now with added tweening between zoom states. Another big change is the addition of a map mode – as shown below.
The last couple of weeks of Concealed Intent development have been focused on improving the way players move the camera around the 3D playing space. Part of this magnifying the view or seeing more of the whole scene – the same affect as zooming/unzooming with a camera lens. This is a fairly standard mechanism in strategy games and there are couple of ways to implement it. I am coming to the conclusion I picked a very bad way to do it.
As Concealed Intent is a 3D game with objects free to move in any direction, development often throws up interesting 3D geometry problems (see old problems here and here). The latest problem was testing to see if an object is partially visible, or rather, if something is slightly blocking the view. Imagine that you have a spaceship and you want to know not only if it is visible on the screen, but also if a part of it is behind a planet or another ship.
It’s been a slow couple of weeks in Concealed Intent development. At the moment I’m working on cleaning up some longstanding kludges in the code. I generally plan on doing this sort of maintenance and refactoring at the start of a new dev cycle. Indeed, I have just started work towards Alpha3.
There was a rush to get the second alpha finished before a short holiday at the end of February. The target date was hit with all planned functionality complete. However, I’m not happy with the result. All the features are there, but it doesn’t work well as a whole and is less pretty than before. This is due partly to old problems being exposed by new features and partly because the new features do not work well together. There are many new GUI components and game balance still off. To some degree, I was expecting this.
After feedback from the first alpha, I wanted to try out various ideas and see what worked. That was the plan for Alpha2. However, it is still disappointing when test playthroughs are actually more annoying then previously. I have to pass through this disheartening phase and continue working. To this end I have constructed a task list for Alpha3. Most of the task descriptions start with words like “improve” or “better”. There are very few new features – the aim is that Alpha3 will be enjoyably playable.
For the next release, I may not set a specific date and list of tasks. Instead there will just be a list of tasks. I’ll keep going until the result works well as a whole. Working to a date means may not have time to get it all working nicely, or being a bit uncomfortable taking on large tasks in case they’re not done in time.
Concealed Intent is about stealth, or at least that is the aim (the current build needs more work on balance). But how can you be stealthy in space? Well, space is big and empty . Thus finding something can be like looking for a needle in a haystack. On the other hand, there is nowhere for the needle to hide – to stay hidden it needs to fade into the background as much as possible.
How easily a ship can be detected is determined by the amount of noise it produces. Here noise is not sound – there are no sound waves transmitted across the vacuum of space. Instead, it is anything the ship may do that signals its presence. A big ship may blot out stars as it passes; heat from engines can be detected against the cold of the void; and, lasers can be tracked back to their origin. Nearly anything a ship can do will also increase the ability of those around to detect it.
On this basis, noise in Concealed Intent is distance. The more noise a ship produces, the further away it can be detected. Over time, more information about the detected ship is discovered as the level of detection increases. Eventually a firing solution can be calculated so that a beam of coherent light a few millimeters in diameter can cross thousands of kilometers to strike an evasive enemy. Although all these actions only make the detecting ship more easily detected!
This is the core gameplay mechanic in Concealed Intent. Using drones, probes, mines and decoys to detect your enemies with the minimum of action so that they can’t detect you.
I’m not a big believer is providing reams of stats for game players. It can lead to many games being, well, gamed. Even when playing old pen-and-paper RPGs like D&D I thought it ruined the fun and mystique if the players knew the details of all the monsters. The gameplay could just devolve into little more than spreadsheet optimisation. It is not realistic to know the complete details of your own situation, let alone your opponents. Where is the fog of war?
But games are generally not realistic on purpose.
I have nothing to show for the last week’s work on Concealed Intent. Not because I haven’t been working, but because the effort was spent behind the scenes. I have been working on rearchitecting the simulation maths (mainly for detection).
Originally all the simulation code was attached to classes representing the spaceships themselves. So a ship has sensors and those sensors knew how to detect other ships – typical OO design. However, during early testing a number of different ways were suggested to handle detection and determine lock. I needed to be able to change between multiple simulation schemes easily. Thus in the last week the maths has been put into its own class using a Strategy Pattern. This change made testing easier (so I wrote some tests – and found a few silly maths errors!) and allowed the ship classes to be greatly simplified.
After that it wasn’t too hard to create a builder system for creating scenarios. Below is the new code for creating my 2-against-1 test scenario. I think this is quite easy to understand what the scenario involves. It can get more complicated with goals and events added, but the declarative syntax remains.
So after a week, the game is largely where it started – just with more tests and easier to modify maths and scenarios. I think it was worth the effort. Next up, trying out various new systems for detection and lock.
It has been a while since the last Concealed Intent screenshot. As work is now progressing again at a decent rate after moving country, it is time to share the progress.
After working mainly inside the Unity3D environment for the last couple of months, I decided to create a standalone build. It didn’t work! Some mouse clicks did not seem to be detected, while others produced the expected results. I went back to Unity3D and everything worked fine there. Unity and it’s standalone build must work in slightly different ways. Luckily the standalone build produces an
output_log.txt in the project’s
_Data directory. Normally this contains very little, but in my broken build the following lines were repeated.
Thus the problem is because the standalone can’t find the Shader specified in a
Shader.Find() call. According to the documentation for the API call, shaders are only included in the build if they are used in a material or in the
Resources directory. The shader causing the error was installed in the
Plugins folder (as it was part of a plugin bought from the Unity Asset Store).
Just moving all the shaders into the
Resources directory fixed the issue. A handy tip to remember when structuring your Unity3D project.
I have a new boss, Biggles, pictured above. Now that I essentially work alone, my hardest task will be keep myself motivated and moving forward with the game. Hopefully Biggles will work hard to keep me in line.
Jarrah Technology is moving. Rather than be somewhat London-based, it will now be completely virtual as I work in remote tropical locales for the next few years. Of course legally the company will remain British, which requires a physical British mailing address (no PO boxes unfortunately).
Thus the new address is below. Note this is a business services firm’s address – don’t try visiting it, I won’t be there.
Jarrah Technology Ltd
2 Sheriffs Orchard
Creating Concealed Intent has largely been a solo endeavour. This is against all the advice the web has to offer. It appears to be generally accepted that it is best to get as much testing and prototype feedback as possible. Playing the Concealed Intent test builds, I can see the need a great deal of additional work. I had ideas for improvements, but I wasn’t sure the best way forward. I’m very close to the game so find it hard to imagine how other people would play it.
It needed another point of view. A fresh pair of eyes. Luckily a workmate turned out to enjoy playing strategy games and recently offered give it a go. This was the first great benefit of the testing process. I had to turn my raggedy game that played more like a set of unit tests into something that could be fun (or at least give the impression it could be fun with more work). The result could charitably be called a pre-alpha release. Many bugs were squashed and from a player’s point of view it improved quickly, but it was still clumsy to control and there wasn’t much to do.
Space is big. Really big. Also, it is very empty. Big and empty – so how can Concealed Intent be about stealth?
The idea is that while space is big and empty, your enemy is a long way from you. Opponents 30,000km apart would be considered in close combat and certainly too close for most stealth abilities to be successful. First contact with the enemy will be at ranges of 1 lightsecond (the distance light travels in 1 second – 300,000 km) or further. Your enemy is small, far away and moving fast. To your benefit they are also frail and have nowhere to hide. Of course, the same situation applies to you.
At these distances and with ships travelling at significant fractions of the speed of light (10-30%), the key to winning a battle is determining exactly where your opponent is and firing first. Various sensors and drones assist detection. Acting to reduce the amount of noise (heat, radar, gravity disturbance) emanating from your ship make it harder to be detected. Also breaking line-of-sight by flying behind planets or moons will hinder detection – for both you and your opponent. In the end it is a tradeoff between actions that help detection of other ships but also aid in others detecting you.
Like most space combat games, Concealed Intent takes some inspiration from naval warfare. For an interesting discussion of common space combat inaccuracies in games and movies that a look at this Foreign Policy article. In this case the influence is submarine warfare. Before becoming Concealed Intent, the game had the working title SpaceSub. Imagine if there were only submarines (no surface ships or aircraft). It would all come down to detection – who could evade detection and who could quickly detect others. That is my aim.
When I talk to people about Concealed Intent, one of the most common responses is “Are you going to do a KickStarter?”. The answer is “no, or at least not for a while”.
KickStarter is a great idea and has received a great deal of press in gaming circles recently. It allows developers to basically presell their game (or other project – it is not just games) and get the money in advance of actually finishing. The benefit for the backers is the warm fuzzy feeling of supporting Indie games and usually a copy of the game, sometimes with extra paraphernalia (posters, t-shirts, etc). There are concerns too, some people point out there is no guarantee any backed project will deliver – the money could disappear. Despite this KickStarter has hundreds of games raising money right now. Rock, Paper, Shotgun even do a regular roundup of projects. There have been some huge success: Double Fine raised over $3 million; Wasteland 2 raised just under $3 million (and it will be written using Unity3D); and as I write this Project Eternity (to which I have contributed) has raised over $1 million in 24 hours with 31 more days to go.
So why wouldn’t I jump on the bandwagon? Basically because I don’t need the money right now and it would be a distraction. The successful KickStarters put in a great deal of effort to impress potential backers and raise awareness. I have no significant history or background in the gaming industry and Concealed Intent is at a very early stage of development. Time is better spent improving the game than creating videos to sell it. Luckily, Jarrah Technology was a consulting company in a previous incarnation and retained profits can fund development for some time (especially considering my very low expenses!).
As Concealed Intent approaches completion the situation may change. Artwork and music will need to be acquired externally. The quality and quantity of this media will be driven directly by how much I’m prepared to pay. A little extra money at this stage could go a long way. A KickStarter then may be beneficial. I could use the near-completed game as evidence it will be completed and the backers will receive their rewards. It could also be good PR – letting people know the graphics will be professionally produced. However, that is at least over a year away, so don’t look for Concealed Intent on KickStarter anytime soon.
The last couple of days I have struggling with frame stuttering or skipping in Unity3D. It seems that movement in my game would occasionally miss a frame or not update properly. It transpires that it is not Unity causing the problem, instead seems to be caused by a vsync mismatch between Windows and the video card.
Vsync is a system built into monitors to prevent screen tearing. A monitor updates the image it displays at a set rate – 60 times a second (hertz) for my monitor. However computers may prepare frames for display at a greater rate and if the computer updates the frame to display in the middle of the monitor displaying a frame then what is actually shown may be a mix of the two. This is screen tearing. Many games allow their framerate to be locked to monitor refresh rate to prevent tearing – this is vsync.
It seems Windows 7 also uses vsync to prevent tearing with its display. For some reason Windows uses a refresh rate of 59 hertz and I can’t seem to change it. This seems to cause a 1 frame per second mismatch, about the same rate of stutter observed. There are people with people with similar problems on the Unity forums here and here (and others, but the important information is just repeated).
I couldn’t find a way to change the monitor’s vsync rate. Instead I tried turning off vsync in Unity and with my slower mac with vsync – both resulted in the problem disappearing. Thus, I am fairly sure that the issue is not in my (still quite simple) Unity game. Although, there is some talk that this doesn’t happen in fullscreen mode, but when I tried fullscreen it still occurred.
I’m not sure how to completely fix this. With vsync turned off my game runs at around 4000 fps on my development machine, so there is little chance of tearing, but no guarantee other people will be as lucky. Anyone have any ideas?
Overall, the conference was a good experience and worth the trip. Going certainly engendered a sense that Unity3D is a safe choice for game development. There was a surprisingly large number of attendees. Also some big name games were produced using the tool, including the AAA and well-reviewed Endless Space – a game not entirely disimilar to Concealed Intent. The demos of Unity4 looked particularly impressive. I don’t think a small Unity developer like me need to overly worry about performance as the tool is obviously plenty fast enough. I learnt a great deal from the talks, often leaving inspired and wishing I had my full development environment available to start coding immediately. In particular, Concealed Intent may soon have camera movement very similar to Universe Sandbox, make use of structs for memory management and I now see a need to learn more about custom shaders (everyone’s doing it).
I also had my eyes opened to the business side of game development. I perhaps went to the conference too early for maximum business benefit, but then I didn’t know that until attending. It is best to go to a conference with a purpose and a message. That could be finding a publisher, advertising for contract work or just making connections. I just went to see what was happening and perhaps appeared as a dilletante, just trying out game development for fun. That is not the situation, but disproving it requires finishing Concealed Intent (or at least getting very close to finishing).
Next week Jarrah Technology is going to Amsterdam for Unite12, the conference for Unity3D. Well, I’m going – so that is 100% of Jarrah Technology. If you’re there, I’d be interested in chatting about all things Unity related and beyond.
In my six months using Unity I’ve become very impressed with it. However, I know I’m still learning and lean heavily on my background in programming to write Unity scripts to achieve my aims. Often I later discover an easier way built into the tool itself. Meeting up with other Unity developers and seeing what they do can only be beneficial. I go to the London Unity User Group meetings and they have been great, so hopefully this conference will be even better. I’m getting excited.
Rewriting software projects is bad and almost never the best option. However, Concealed Intent is currently being rewritten.
Work on Concealed Intent began properly at the beginning of May after a couple of small proof-of-concepts developed on a part-time basis. Since then, most effort has been spent investigating how to implement the core idea and learning the Unity3D library. As a result the code became messy as ideas were added then removed and sometimes added back again. It was becoming increasingly harder to progress.
Now there is a much clearer idea of what Concealed Intent should look like. Thus, the project was restarted on August 5th and is moving forward at a nice rate. The earlier effort was not wasted, it is really a large prototype. Future posts will examine some of the work done in this prototype as a teaser for the full version coming soon. In the meantime, here is an early screenshot showing a player’s modular corvette and two drones rounding a small planet to close on 3 unknown enemy ships.
In space combat you know that your enemies are out there, but not exactly where they are or what they are. To defeat them you need to devise a range of strategies to gain enough information to successfully shoot. All the while your enemies are trying to do the same to you. Various equipment is available to help both sides, including sensors and drones. The game includes a single-player campaign, an instant skirmish generator and multiplayer options.
More information will be available here.
This new Jarrah Technology website is redesigned and rebuilt to reflect the company’s new direction as an Indie computer game developer. Soon there will be an announcement about the game currently being developed.