Congrats on the success! I stumbled across Curious Expedition a while back, bought it on Steam and had a few playthroughs (of varying success). It's a very cool game, and despite being a developer, I had no idea it was HTML5. If hiding that fact was a goal, then you've succeeded there too.
Since you've already answered some of the technical questions, I have a random non-technical one. In some ways, Curious Expedition is extremely similar to Renowned Explorers (~ identical plot?). To be clear, I think there's plenty of room for both games - especially since the gameplay is nothing alike - and I'm glad both exist. But did this happen by accident? I'm curious because there seems to be a trend of various things emerging in pairs (good examples are Hollywood movies, e.g. the movies Armageddon and Deep Impact coming out with similar plots within months of each other).
Thank you! We became aware of Renowned Explorers after we had been working on The Curious Expedition for about 2 years already and stumbled into them at Gamescom.
I won't deny that it was initially a shock to see a game that superficially seemed so close to Curious Expedition, but as you said there is more than enough space for both games and playing them they are definetely quite different from each other.
Over the years we met the folks from Abbey Games a couple of times and developed a friendship. Last year we decided to poke fun at the whole situation and did a joint bundle on Steam. The bundle has ended at the moment, but the page is still online:
http://curiousvsrenowned.com
To this day being able to collaborate with them and turning this potentially sour situation into something fun was one of the best experiences I had as an indie developer.
That's awesome, I had no idea the situation had been so well explored! Glad both sides took it lightheartedly.
I ended up with both games in my collection separately, and was pretty shocked at the plot. What are the chances of that happening randomly!? I thought there may be a common thread I missed, but this is far more hilarious.
I've heard the movie plot twins phenomenon is because multiple studios will want a script and start assembling a team around it but one will outbid the other for the rights to the script. The losing studio will then pay a ghostwriter to create a similar script so they can continue with their plans.
Another theory is a lower budget production produces a similar movie to kind of 'draft' the marketing success of the main movie. These are called mockbusters
In this case I think it's just closer to pure coincidence, or sharing the same zeitgeist. I was heavily involved in the indie comic community for a long while and we would see this all the time. You would write a script and start talking to other writer friends about it and they would mention another book that was nearly identical or also be working on a near identical script. It's weird but just happens in creative fields.
For Armageddon and Deep Impact, I heard that it can be explained by scripts circulating around Hollywood before being put in production by a studio, so one idea can easily be copied
Impact was recently open sourced, so for anyone that have heard of it but didn't know that it is now open source it might be worth checking out Impact again.
Oh yeah, I met some guys of the CrossCode team some years ago at Gamescom. They are also based in Germany. I'm still impressed with their work. Especially that they created a real-time game that relies so much on frame precision.
I really love Curious Expedition - and I am also a huge fan of making JavaScript/web games. My favorite aspect is that it's no longer even very notable when a game IS a HTML5 game. There are heaps of them on steam now, and usually the creators don't even mention HTML5: partly because it's seen as a terrible choice in the gamedev world, but mostly (I hope) because it doesn't matter any more. The games get to speak for themselves. A game like Game Dev Tycoon can be a great game about game making, and secretly written in JavaScript.
I'm continually impressed with Rezoner's games like wilds.io and wanderers.io, Ansimuz's Elliot Quest was a great game, Play Keepout (http://www.playkeepout.com/) is a fun dungeon crawler from the team that make the multiplayer Browser Quest game for Mozilla, and Jandisoft's upcoming MMO https://www.madworldmmo.com/ looks pretty amazing (it's built on Pixi.js I believe)
The technology is becoming less and less a factor, and the ideas and execution more and more so. Good times!
Agreed! Mentioning the HTML5 backend on Steam is actually a detriment, or completely unimportant at best.
There are lots of interesting web games in the free-to-play market, but I'm excited to see which web game actually manages to really break out into the premium market. We're using a humble bundle widget to sell our web based version at the moment.
https://www.humblebundle.com/developer/widget
It is very hard (or nearly impossible) to make up for the increased visibility that you get when you launch on Steam. Although that one is getting harder by the minute as well of course.
For those interested in HTML5 games on Steam, our HTML5 engine Construct has supported Steam publishing with NW.js for some years now - here's a selection, all built with HTML5 too:
A bit off topic, but the creator of Airscape had a blog a couple of years ago about the difficulty in making money from their indie game: ‘Good’ isn’t good enough - releasing an indie game in 2015 [1].
There is a super accurate statement in that article:
We made a game that nobody wanted to buy
Everything else is trying to convince the reader that the above wasn't a failure on their part. There is an ever growing saturation of games (and music and books and indeed all consumable entertainment) - and success is down to a combination of making something that people want to play and making sure that those people know about it. One of the two things alone is insufficient tbh.
They did then go on to get nearly 2000 "very positive" reviews, which is indicative of many more sales. I think they did well in a sale later down the line.
Slightly directed at a sibling comment, but yes indie games (can) make a significant amount of revenue through non-release sales, even at heavy discounts. For example, Dustforce more than doubled its cumulative revenue through a 50% steam sale and inclusion in a Humble Bundle: http://hitboxteam.com/dustforce-sales-figures
I'm pretty sure the way this works nowadays if that your launch bombs you throw your game into as many bundles/deals as possible so I'm guessing those sales are at 5-10% of the original MSRP at best.
I always had the feeling Construct was more of a full-fledged thing like Unity and Phaser was more of a framework, but on the parts they both try to solve, what do they do differently?
That's about right. Phaser is a framework, and Construct is a full-fledged IDE. Its main feature is a drag-and-drop system for game logic rather than programming, so it's more designed for making game development accessible to a non-technical audience (so not sure how many HN folk will be in the market for that, although it's still great for rapid prototyping or fast development).
The nice thing about HTML5 games based on NW.js is that in most (all?) cases you can start the game in developer mode and tinker around with chrome's developer tools.
Count me as someone that was unaware that HTML5 games were of that quality now. Very cool. Do you happen to know of a comprehensive list of HTML5 games on steam?
It is not a comprehensive list, but here's are list of some of the games that are using the JS Steam plugin developed by the developers of Game Dev Tycoon.
The demo looks cool, but for I really expected to read which libraries were used, what IDE did you use for programming, how did you package it for Steam release, etc.
Could you at least give some of those details here in the comments?
Yeah sure, I also want to do a blog post about it in the future, but I thought it would be nice to link to playable build for this submission directly.
It uses our own HTML5 engine. Rendering is based on a simple canvas tag and 2d context draw calls. The code is written in CoffeeScript. The server runs on node. I just used SublimeText as text editor. We ship the game on Steam via Electron and the greenworks Steam integration.
It has sold over 130,000 units so far. The regular price is around 15$ on Steam. Generally we're obviously very happy with the success considering that 95% of the content was created by two persons.
The project started as a hobby project in 2012, so there are some technical decisions which I would approach differently now:
- Using modern JS instead of Coffeescript
- Using WebGL instead of Canvas
For our next project we're considering switching to Unity since 90% of our distribution happens through Steam and 3d engines like Unity and Unreal are imho way more mature than HTML5 engines at the moment. The biggest obstacle for us in using HTML5 has been the player perception of web games being for free games that are built around grinding.
Congratulations! From the few minutes that I've played, this looks really polished, especially for a web game.
I'm curious to know what kind of promotion efforts you had to do to reach 130k units? Was it just word-of-mouth and good reviews that took you there, or did you spend money on advertising, PR, etc.?
By the way, I completely agree with using WebGL instead of canvas. We created our first HTML5 game back in 2012 (called BrowserQuest), and achieving good performance with canvas was a big challenge at the time. We would definitely choose WebGL over canvas today even for a 2D game.
Thanks! I think it helps that the game mechanics are somewhat unusual and quirky, which makes it easier to stand out. Instead of out-producing other games, we opted to make a game that feels like it is living in its own small niche.
I linked to it from another comment already, but we're also big believers in twitter and did a talk about it:
webgl comes with it's own set of drawbacks depending on what your targets are. I was targeting mobile with my game and phaser/canvas had much more consistent performances than phaser/webgl across devices.
Interesting! So far we're only targeting the desktop since putting the game on mobile would require a lot of UI rework. Might happen at a later point though.
long story short, webgl had memory issue on low end androids and was unplayable on chrome/iphone because it lacked acceleration. this was last year, thing might have changed now.
Curious to know if you've considered / looked into Godot at all?
In case you have not: It lets you build games for all the major platforms and gives you access to the latest features of C# (if you're interested in using C# that is). Also the whole thing with IDE and all is under 30MB unless you download it off Steam (which includes examples) then it's about 200MB. Engine and tooling are fully open source (MIT) unlike Unity.
Good to know your game has been so successful btw! I wish you and your team future success in your other games!
Thank you! I'm aware of Godot and have looked a little bit into it. I'm excited for another major 3d engine establishing itself as alternative to Unreal and Unity.
Having worked for some years now on a game that uses tech that relatively few people are using to create games like we do and knowing the pain of dealing with very specific issues that at times literally nobody else in the world is dealing with, I would probably prefer to stick with the huge developer/install base that Unity has to over at the moment though.
Two years ago we started a indie developer co-working space here in Berlin and about 95% of the people here are using Unity (http://saftladen.berlin). That's a huge advantage that Godot (or any other new engine) will have to overcome.
I advise you check out the Discord for Godot before you decide for your next game. Great community full of all types of rich (in creativity) game developers.
Hey thanks for the details, riadd! I wrote a HTML5 browser game in coffeescript several years ago and I share your analysis: I would skip CS and use modern JS for a greenfield project today.
Care to elaborate about the marketing side? How did you manage to get this amount of sales? Did you get any support from Steam on that front? Thanks!
We used to work in AAA and after some mediocre experiences with publishers decided to handle marketing and distribution by ourselves this time.
Steam helped us through their huge market share but the general concensus is that with the increased amount of games being released on Steam it is getting harder and harder to make a living there as an average game developer. When we pressed the big publish button on steam, we checked the new releases page immediately after and even in those 2-3 seconds there had passed enough time for our game only to be the second newest game.
The thing that helped us the most was being early and continously on social media. Here's an presentation that we did on the topic. I think it still holds up.
Firstly, what you've achieved is really impressive so props for that. But I'm curious about plans for your next project.
This might not have been possible with CoffeeScript, but for your next project have you considered targeting both the web platform as well as native using a language that supports both? [1]
As far as I can see the main benefit of targeting HTML5 is the accessibility, especially for this demo. It would however be nice to get a native version for Steam (and possibly mobile platforms if those are on the horizon too). I think using Unity will get rid of this benefit as it will require the Unity plugin to be installed to be playable.
1 - A good example of a game that does this is Reel Valley, a game built to be played primarily on Facebook's game platform in the browser, but also targeting Android and iOS. Its code base is shared across all platforms with only small platform-specific bits needed for each. Definitely worth checking out: https://yglukhov.github.io/Making-ReelValley-Overview/.
As far as I'm aware the Unity plugin is dead and hasn't been pretty much disfunctional for over a year now. The new approach for Unity is to export directly to HTML5, which already works somewhat nicely. Of course you have to pay with big package sizes since you're bundling the engine with your game. That's the biggest advantage of using a custom HTML5 engine which is custom tailored for one game.
We've been selling the web version before the steam version, but after putting it on steam our revenue exploded 50 times and we put the web build a bit on the back burner. We're coming back to it now and will experiment with some ideas benefiting of the immediacy of the web tech. Even thinking about doing a MMO-ish web-only spin off for it.
Will check out the ReelVally blog post. Very interesting.
That's interesting. The game looks like a straightforward single player game. Why did you need the server? Since it's a JavaScript game, couldn't you just simply provide an bunch of HTML and .js files?
Yes, for the Electron version we do that. But for the full web based version we need a user account management system to keep track of who bought the game and to store savegames in the cloud.
I would also love to get a detailed overview of the development of this game. I am currently at work but after a 5 minute muck around I have bookmarked it to take a better look when I get home.
Seems to "work" in safari/osx (if a bit slowly and the initial loading bar is as bad as can be), however none of the zoom hooks work (neither scrolling nor keyboard keys) and there is no UI element to zoom in/out so… can't pass the second step of the tutorial.
The scroll hooks work in Firefox/osx, the keyboard zoom still does not, and it's also pretty slow there.
I don't expect you can magic the performances but I'd suggest seeing if you can provide more feedback on the initial loading bar: in both Firefox and Safari it stops as the last or second-to-last step and looks to be stuck. I know progress bars are hell, but in Safari it stopped long enough that I actually opened the devtools (and saw messages printing in the console so knew it was fine, just slow).
It probably doesn't help that I'm on an 8 years old iGP, performances-wise, and I don't know that you have any ability to detect that sort of crap.
Datapoint: demo is VERY slow on Ubuntu 16.04 x86_64 + Chromium 66.0. Startup took more than a minute, and then it proceeds with what feels like 1-2 fps.
More info: 8GB of RAM, motherboard graphics (no GPU), Intel(R) Celeron(R) CPU G1610 @ 2.60GHz.
Yes, I'm running current chrome on current macOS with a GeForce GTX 980 Ti (6gb vram) and 16gb ddr3. CPU utilization is 75% on all four cores and when drag-scrolling around the map I don't get more than 10fps. EDIT: I measured it with the developer tools. The performance is not significantly different with them open. I have a feeling you'll never be able to solve this without going to webgl because canvas drawing is slow af. I highly recommend checking out Three.JS. I wouldn't be surprised if you could port the entire game to using it in a week or so.
Canvas drawing is fast on platforms where it's hardware accelerated, which has been the case on things like iOS Safari for years now. At least in the past it was also beneficial to make a few optimisations such as drawing to integer pixel coordinates, avoiding special paths for subpixel rendering.
This is great, but my first experience with it so far makes me wonder whether you wouldn't have been better off just creating a traditional game instead of using HTML5.
I really liked the aesthetic of the game, so I took a screenshot and wanted to share it with my SO over Messenger. When I opened messenger.com the game made the rest of my system start to lag significantly as Firefox started to peg my CPU. I guess handling this game and messenger.com at the same time is too much even for a fairly new MacBook Pro. It's a bit ridiculous that this is the case.
Perhaps the benefit of making the demo as accessible as possible outweighs this downside.
My impression here from testing (in Chrome) is that when the tab for the game is not visible, the game stops its update and consumes ~0 CPU. That should be the normal behaviour when running on requestAnimationFrame() and it should work on Firefox as well. Of course if you opened messenger.com in a separate browser / window then the above does not apply.
Unfortunately no. It was installed on the wifi netork i was using. Interestingly enough, the error seems to be related only to the demo subdomain based on what i observed.
The demo is hosted on http://layershift.co.uk whereas the rest of the website is hosted on our regular simple web server. It is probably related to that.
Fun game, had it in Early Access. My biggest beef is it feels like it has too much RNG. I'm a big fan of roguelikes/lites, but you shouldn't be placed in unwinnable situations. It Curious Expedition it feels like you are (fairly often!).
I agree somewhat, but we've made huge updates since early access and even since launching the 1.0 version. I feel like the current version works much better in that aspect. Check it out if you haven't played since then maybe.
It will be quite different from our first game. Here are some things which we don't like about current detective games.
- They have very carefully hand-crafted scenarios which are very expensive to create and therefore rarely allows the player to go off the tracks or to completely fail. Some of them don't even allow you to leave a crime scene until you've literally found all the relevant evidence. These games do a lot of hand-holding and player direction and rarely feel satisfying when you find the killer.
- You're forced to try to mind read the game designers intention and world view instead of really taking in the game scenario itself since the game world is primarily explained qualitatively instead of quantitively. For example in LA Noir I'm asked to judge whether a person is lying or not, but what I'm actually doing is judging a actors interpretation of somebody lying or speaking the truth.
- They rarely explore strategic gameplay / resource management aspects or if they do they go so far in that direction that they don't feel like a detective game anymore.
I'm not saying that we'll be able to fix all these problems, but these problems are at least what drove us to think that there would be some interesting game design work in this space. It turns out to be quite hard, but I'm excited about our current prototype. Will take some more time before you'll be able to play it though unfortunately.
Oh.. and it is set in Berlin of the 1920s, which is really a quite fascinating and relatively unexplored setting.
Some of them don't even allow you to leave a crime scene until you've literally found all the relevant evidence.
The GUMESHOE Rpg System would says this was a feature not a bug.
Failing to solve a case because I couldn't piece all the evidence together is an acceptable fail. Failing to solve a case because I couldn't even find the evidence is infuriating.
Agreed, you should be able to find all the evidence. Curious Case will feature redundant evidence, so that you will not be reliant on finding that one specific trail in the corner of some screen and it will allow you to explore the scenes in your own order freely.
Personally I dislike detective games forcing me through a linear sequence of rooms and not letting me continue until I've done everything that the game wants me to do. That's not what the fantasy of being a detective is about for me.
Thanks for pointing out the Gumshoe System. I read about it before, but I'll make sure to check it out again. I'm a big fan of Robin Laws previous works Feng Shui and Over The Edge.
In my not very humble at all opinion I find the 3 clue rule is just an attempt to apply a band aid over the problem that GUMSHOE eliminates entirely.
The problem is that PCs can miss clues through not fault of their own. The three clue rule simply throws in enough clues that the PCs would have to be very unlucky to miss them all. Gumshoe ensures that the PCs never miss vital clues because Gumshoe contends that finding clues isn't the fun part of an investigation - interpreting them is the fun bit.
I cannot recommend GUMSHOE enough as an investigative system.
As a GM it's whole approach to how to structure RPG investigations was like a hammer blow of clarity. As I read it I was mentally going "Of Course, it's so obvious" pretty much every other sentence.
Congrats! Any game you can play as Darwin or Lovelace is already a winner in my book ;)
Anyone searching for startup ideas, packaging HTML5 as native binary apps remains a pain point. Mostly in making sure things like full screen layout, mouse pointer lock, networking, etc all work as intended on hosts. Apart from simultaneous testing on multiple machines, emulating via virtual box isn't sufficient for game performance. Electron and NW could vastly be simplified for humans ;)
I saw this game at the Indie booth at gamescom; i love the graphics style and the setting! I missed the Humble Bundle "Very positive" bundle last May. But it's currently on sale for less than 10€ on the Humble Bundle store.
Also, I have a standalone build prepared for https://holypangolin.itch.io/karambola - waiting for some spare time in-between working on our bigger project to put some finishing touches to it before uploading to Steam.
Exciting to see so many HTML5 games popping up on Steam and elsewhere the last few years. Here's another one that was built using Isogenic Engine/Electron and is also playable on the web, iOS, Android and Windows Store.
I found this game endearing, and I wish I was a kid again with lots of time to play. I would have gotten immersed in this.
The game play is pretty smooth, and I am impressed with the performance and interaction.
The sound work is great, and is a large part of what makes this game feel engaging. I played some of the tutorial, but the chewing smacking sound when eating food was a deal breaker for me, had to shut it off.
Well having played for a short while, my only significant point to complain is that the music is too short and repetitive, especially the combat music I found annoying, if not for that I would have played longer; I feel.
How did you get it working? I'm also playing on MBP and I can't zoom with mouse or with +/-. I'm stuck on the second step of the tutorial because of this :(
Yes, he's not a character because we leaned more towards figures from the late 19th century and Humboldt was born mid 18th century. Maybe something for a later update or a mod though.
Game looks really nice, but the HTML5 aspect of it is nothing to be proud of. Game looks as if it could work on someting like a 386 from the 80ies, but I seriously doubt it will work smoothly on anything older than 8 year old hardware.
They produced a competently executed product, which is enough to be proud of. You are right though, there's a lot of horsepower going in to what is effectively a VGA-era game. Part of me is annoyed by the over-engineering of the whole thing, if only because this trend of adding needless layers of abstraction has lead to the hell that is my every day life of dealing with unresponsive and fragile systems, but I can hardly place the blame for that on them. I honestly had no idea it was HTML5 when I played it a while back.
Since you've already answered some of the technical questions, I have a random non-technical one. In some ways, Curious Expedition is extremely similar to Renowned Explorers (~ identical plot?). To be clear, I think there's plenty of room for both games - especially since the gameplay is nothing alike - and I'm glad both exist. But did this happen by accident? I'm curious because there seems to be a trend of various things emerging in pairs (good examples are Hollywood movies, e.g. the movies Armageddon and Deep Impact coming out with similar plots within months of each other).