The demo now lets players skip cutscenes by hitting the Enter/Return key. Z/X/C (or 1/2/3 if you don't have a QWERTY keyboard) control actions and the arrow keys control movement.
Long time indie game developer here; if you're looking to make money from this, you need to have the demo playable directly on your website.
A back of the envelope calculation suggests that serving the game even on S3 would cost $2 per 1000 players - much less elsewhere (I use 100tb but that's overkill for you).
I don't know if you're keeping track of the conversions - from hit to download and hit to sale - but you should easily make $10 per 1000 hits. $3 is also too low; you're likely to make far more revenue at $5 or $7.
I wouldn't be surprised if this change alone raised your revenue by ten times or more for people not coming from the ultra curious HN crowd.
You also should make the intro more like 10 seconds long at most. Split the intro cutscene up and show it slowly over the levels.
Seriously. You need to do this. I guarantee you're losing at least half the players.
Some other notes from a quick playthrough:
* Shadowing is impressive!
* You should probably scale 2x by default. Full screen is too big and default is too small
* I love the premise of the story
* You should have a visual reaction when you're hit
* Sticking in the same direction as you're firing works but I would limit it to key down, not key hit - let the player turn as normal when they tap fire
* It would be awesome if stalactites fell when you shot them, able to take out enemies
* Unfortunately I closed the game accidentally having gotten this far in the list and couldn't bring myself to button mash through the intro again :)
One last thing; I understand that it's the end of a long project and you just want to get it out. But the hours you spend to get the launch right (marketing, testing, feedback from friends etc) are critically important to the success of the product as a whole.
They're easily worth 10x as much to the bottom line as the hours you spend hacking away in the middle of the project. Single changes can have a 20% or 50% or 100% impact on sales.
I wouldn't try to release quickly and barely test a project I've been working on for two weeks, let alone two years - something to keep in mind so you don't have to learn it the hard way like I (and many others here) did.
In any case, great first project! Do you have a mailing list to sign up to? I'd be interested in hearing about whatever you come up with next.
Such great advice. While I was excited by this, I never actually ended up installing the game, because it was perceived as too much effort.
I clicked on the article link expecting to be able to play something straight away without installing anything, given that it's HTML5. Also considering the epicness of such a personal and time consuming project, I was surprised to find a youtube video, followed by a payment decision.
OTOH if I'd been playing a demo already while while being entertained, converting to a paying customer, would have been much more likely.
I say all this of course, because given what I saw in the video, it looks awesome and want you to be rewarded as much as possible for your efforts.
Amazing game. You could easily charge 8-10$ for it. Maybe more with the right marketing.
I'm not sure about the cut-scene advice. Yes - I can see you loosing players but It's part of what makes this game feel very retro. Sure, you could tweak it a bit and do the cut scenes a bit shorter. Also you should add an option of skipping the cut-scenes alltogether. I did a replay of the first part and would happilly trade x-x-x with a single escape press.
Agree with the @reitzensteinm. You should have visual reaction to hit. I was kind of expecting it since you had a lot of other visual effects such as screen shake etc.
You've done an amazing job.
Do you have a twitter account we could follow? app.net?
>if you're looking to make money from this, you need to have the demo playable directly on your website.
I'll work on this. My website seems to be handling the strain better than I'd expected, so I really have no excuse.
>$3 is also too low; you're likely to make far more revenue at $5 or $7.
I actually tested it at $3.99 when I first submitted it. Nobody was buying it at all, so I dropped it to $2.99 and quickly made my first few sales. It could probably also be attributed to my lack of a demo during this period, though, but I'm pretty certain the price drop had a non-negligible effect. Maybe $3.99 is just an ugly number?
>You also should make the intro more like 10 seconds long at most. Split the intro cutscene up and show it slowly over the levels.
This is honestly something I struggled with. I didn't want an overly long intro, but at the same time I wanted an intro that'd let the player know what's going on immediately. I couldn't find any other way to pace it, so I loaded it up front and towards the end with the meatiest part of the gameplay in the middle fairly uninterrupted. I probably did lose some of the customers who play games exclusively for the action, but my main goal was to make something that wasn't necessarily complex gameplay-wise, but had a decent plot to help string it along.
>* Shadowing is impressive!
Most of my initial criticism came from how I did shadows, but I insisted upon keeping them. I'm surprised I've actually received positive multiple comments on it.
>I wouldn't try to release quickly and barely test a project I've been working on for two weeks, let alone two years - something to keep in mind so you don't have to learn it the hard way like I (and many others here) did.
The main game's been extensively tested; the demo was rushed out because I didn't really plan on releasing one. Comments and criticisms will be immediately applied to the demo, but I'll slowly add them into the full game so that I have time to test them more fully. It's also a reason why cutscene skipping isn't in the full game yet--it can sometimes yield weird audio issues.
>In any case, great first project! Do you have a mailing list to sign up to? I'd be interested in hearing about whatever you come up with next.
Nope. I just infrequently update my blog. I only feel comfortable showing my work after I consider it complete, and it's definitely a problem because it's practically impossible to generate hype.
Something you didn't mention, but something I definitely need to work on, is my writing and organization. If I hadn't spent all my time throwing random elements of the game together at arbitrary points in time, I could easily make something of this caliber every few months.
It looks like this line is executed on every frame for all fish in the level. For Firefox users who have the Ghostery addon installed, this makes things rather slow because every setting of the src property invokes Ghostery to check whether or not it wants to block the image load.
Granted, that should be another reason for me to uninstall Ghostery, but I wanted to let you know.
Using the new Firefox profiler [0], which isn't quite ready for public consumption yet but already very helpful:
1. Download Firefox Nightly [1]
2. Install the profiler addon [2]
3. Play the game
4. Press Cmd+Shift+O to open a profile of the most recent few seconds
5. Wade through the tree until you find nsIDOMHTMLImageElement_SetSrc, which is called by <Anonymous>() @ CompletedEnemies.js:2460. This function contains only one line which assigns to the src property of an image, and that's the line I pasted.
I've been working on Ejecta[1] in the past few month. If you want to publish your game on the iPhone/iPad, this could be interesting to you. I'd love to know if (and how well) it works with your game.
I am curious about your javascript integration with the app. Did you use V8 internally with some kind of bridging for Objective-C ? It would be great if you have a blog on the subject. Thanks.
Since you already went to the work of implementing everything from scratch anyway, is there a reason that you don't compile the code up front?
My understanding was that the big bottleneck for Javascript on iOS was the inability to use JIT (due to the lack of execute support for code on the stack or heap) and this seems like the perfect opportunity to bypass that issue entirely.
I think that in terms of pacing, it would be a lot better to have a much shorter cutscene followed by at least a little gameplay and then have some more cutscenes.
I only kept going because so many people here praised the art style (which is brilliant, by the way).
Pacing. Pacing. Pacing. Three cutscenes in a row isn't a video game, it's a lecture :)
FYI, I bought my copy through the Chrome store because I've had so many negative experiences with PayPal. If it's preferable people buy through you, maybe doing something like Stripe would make sense?
I bought the game via the PayPal link but so far haven't received my copy. Not sure if this is related to the load on your site. In the meantime I'll play around with the demo. But I did want to mention that I hadn't received it yet as there are likely to be other people in a similar situation. Maybe it's worth putting a note on the blog post?
I did make a little note at the bottom of the page about the possibility and I'd hoped it wouldn't happen, but I hope everybody who has a problem tells me as soon as possible.
awesome, thanks! I'll definitely give it a more complete try soon :) Immediate impression though was that it badly needs some kind of key explanation - so far I've figured out arrow keys, and space or 'x' to fire, but I have no clue if that's everything or if I'm missing something important (like that sign before the save point - can I read it? it looks interact-able, but I can't figure out how).
"I tried to get it out fast and just barely tested it, but it should be stable."
So you spent 2 years developing something, but then didn't even test it for a few days because you wanted to get it out "fast"? I just don't understand this mentality.
He did not have a demo when posting on Hacker News. Someone asked for one in the comments here, so he put it together as fast as he could. So really, he just didn't think of creating a demo at all until after he announced the game. These things happen, things can be overlooked.
Q.) "I’m really interested in the game, but dont want to support paypal. Is there any other method of purchase?"
A.) "The only easy way for me to distribute through my own site was with Paypal. I did have Amazon Payments, but Amazon randomly locked down my account for reasons unbeknownst to me and they only gave me generic automated responses."
You know I was hoping when Gumroad released that I would start seeing tons of things being sold through Gumroad. I have yet to single a single thing. Good to know it's still on people's minds.
Knowing what you do now, with the memories of the terrible bugs you had to work through due to Chrome / OSX, would you still choose HTML5 over other cross-platform game engines like Unity?
If javascript could run outside of the browser, I'd use it for everything.
Javascript was nothing but pure bliss to work with, but the browsers were hell. Overall I know I'm definitely going to keep making short, simple games with javascript because it's a wonderful tool for the job. Long-term projects are a bit risky due to browser issues, so this'll probably be my last huge game with the language (sadly). If you're planning on doing a 2D game, javascript is a great language. Flash would still be "best" at this point in time due to all the support and speed at which you can create something, but, in a way, the problem solving and brain wracking is what makes development fun.
Unity's something I've been looking into for a while now, so it's a possibility for future projects.
The OS X issues have been screwing me over inside of outside of the browser. Performance dropped like a rock after Snow Leopard, so the real question is whether or not I'll continue using OS X.
I couldn't agree with you more. It's really fun to hack a game together in Javascript. I tried out JS + HTML5 two Ludum Dares ago and managed to create something fun within 72 hours[1]. The biggest issue I had at the time was dealing with cross-browser compatibility issues. Although my game would run flawlessly on Chrome, every other browser had at least one issue. I've been meaning to get around to fixing it up, but it's not much fun debugging browser compatibility weirdness...
I suspect most browsers have improved a lot in the time since then. I'd like to use Javascript for another game soon; I really like the language, despite its rough edges.
On the language comments - Have you looked into any higher level languages that compile to JavaScript, such as the newly released TypeScript? It is a superset of JavaScript with static typing and structural types. [Disclaimer: I was a test intern on the TypeScript team.]
You also say this is the last huge game with JS. Why is that?
I've glanced over some Coffeescript, but I'm probably one of the few people on earth who just finds it ugly. Typescript I've never really looked into. What are its advantages over vanilla Javascript?
And the biggest reason is because I can't trust the browsers. They run in a fragile environment that can easily be destroyed by a single update. For example, Chrome refuses to run Subbania unless it's installed as an extension because it directly modifies the pixel contents of the screen; Firefox doesn't. However, the way Chrome forces me to break up my code for "security" reasons also resulted in Firefox not reading keyboard input, which is why I provided separate HTML files for each browser. I'm sure there's some better way of handling it, but I just went with the simplest and most obvious solution.
I have a Java background, so the addition of typechecking and structural types (classes, interfaces, inheritance) without losing the JS syntax (benefit of being a superset of JS) made TypeScript a pure joy to use to dev JS apps.
As somebody who is stuck for the foreseeable future maintaining a huge AIR app I resemble that comment!
It's kinda a drag though because AIR actually provides a fantastic cross-platform solution for desktop apps. Even thought they are in ActionScript, it's extremely similar writing Javascript apps that have model binding.
I feel like I've tried every cross platform environment from AIR to Titanium to Java/QT to RealBasic, to Mono and none of them are quite as easy and predictable to get running as an AIR app. I guess going with straight-up C would be better but nobody on my team has that kind of experience.
Anyway, probably off topic rant, but I think AIR would be a reasonable choice for a desktop game. The main problem with it right now is that it feels like it's gone out of favor and everybody is abandoning the platform.
I have developed a Flash "library" for a web application and I really liked it, but I could never do much in Flash because creating a UI is a pain.
AIR is a great idea, but it would be way better (for me, at least) if they incorporated a decent HTML/CSS rendering engine that had the same potential as the ones we see on modern browsers.
The main problem with it right now is that it feels like it's gone out of favor and everybody is abandoning the platform
I totally agree. I actually dabbled in making AIR apps a few years ago and found it just great. It's really the lack of access to the iOS platform that killed AIR for me.
JS does run outside of the browser, many people are creating games on several platforms. Appcelerator's keynotes this morning at Codestrong included an OpenGL ES wrapper for Appcelerator. Exciting times for JS.
I'm working full time on a game development project in Unity. I have nothing but good things to say about it. The community is great, and our development would take twice the time without community-created tools like NGUI and PlayMaker. Unity 4 will address some major irks of mine (esp. animation handling), and a new UI engine is down the road.
Its Javascript support is probably what's drawing you to the engine though (I use C#).
I use Unity too. Even for 2d I think it is the best cross platform game engine if you don't mind spending some money. The latest Rovio 2d physics game even uses it.
I used to be all about HTML5 but after a while I realized that I don't like javascript and I hate dealing with browser quirks. C# Unity is where it's at.
Would you use a library or framework that dealt with some of the browser issues? If so, what kinds of things would you be looking for in such a framework?
Make sure you use your personal account when you do this: self promotion is only allowed if your account is contributing to reddit in some other way. I tried to create a separate account to promote my iOS game Super Smart but the post was immediately removed for that exact reason.
This should be no problem. However, I am talking about a significant amount: I was told that at most %10 of total contribution (posts, comments) could be self-promotional.
The problem for me was that my personal account contained stuff I did not want to share as a game publisher. Now I am trying to use the game account as my main, just to catch up.
Neat! Please release a simple playable demo. The video is enough to intrigue me, but not enough to get me to buy. (I just bought Osmos for my Android tablet, and it was the playable demo that pushed me over the line.)
Trying the demo, loving it so far, just broke it.
At http://ektomarch.com/games/SubbaniaDemo/Subquest.html
At large scale, pure black. At small scale, normal swaying white dots with small transfer point, upwards arrow. Happened after the "you don't have the clearence" cut-scene. I had gotten the extra armor. When I scale up, I see the white dots for a fraction of a second, swaying as always, before they are seemingly covered up by blackness.
I really love the music and audio from the trailer video. The gameplay and art style looks great too. I'll be buying this in a couple of days once my exams are over. Congratulations on shipping!
That's pretty impressive. I know this because I spent a good nine months working on a clone of one of the Zelda games (I didn't make it very far, although granted, I went down a huge rabbit hole) and it is tough. So many things you have to think about if you are designing your own game engine. Mad kudos for sticking with it.
I'm curious as to your reasoning behind spending 2 years developing this in HTML5? The art style is great and all, but you could have knocked up a game like this in an engine like Unity within 3 months and deployed it to iOS, PC/MAC, even Xbox Arcade.
I think that's an optimistic prediction for a game of professional quality, done by a single person. I reckon most of the work is edge cases, art & sound, tweaking, bug fixing, not working on the generic engine.
You could save time by doing this though, as you say. I'm leaning more towards the idea of reusing code and trusting other peoples engines at this point. But we've all made our own engines and, as other posters have said, this is the guys hobby, and most likely a labour of love.
After seeing the trailer, all I can say is: wow, just wow. The mood is a post-modernish film noir mixed with vintage 8-bit style. And the visual effects are striking. Very much looking forward to buying and playing.
Lately, I've been spending a crap-load of time coding in JavaScript, and in spite of its obvious quirks (and haters) very much enjoy it. I'll be interested to see how you managed complexity on such a large code base.
- get the option to skip cutscenes back in
- these octopus dudes come way too close. It is too hard to dodge them.
- if you get killed, you should start over in the sub-area you were in, and not the main level.
Nice! This is very encouraging to me as I'm also working on an HTML 5 app that I plan on using with CocoonJS to distribute as a native iOS / Android app, in addition to the web version. Have you looked at mobile HTML 5 "players" like CocoonJS? You could double your potential market if it works (though it requires that the game be drawn entirely through a canvas, not sure if that's what you did here).
Please consider allowing people to pay with bitcoins for your game.
http://mtgox.com has a shopping cart that is trivial to integrate and allows people to pay with their bitcoins (also buy some if they don't have them yet).
Since I got downvoted I'd like to point out that I'm not trying to lure the author of this game to bitcoins or to mtgox and I'm not downplaying the integration effort for this purpose (it's really easy, I tried it).
I'm just suggesting alternative mode of payment that would be useful fore some of his customers.
You can set up mtgox cart so that all bitcoins you receive are immediately sold and money transfered to you so the whole process is transparent for the seller. (S)he doesn't have to have any knowledge or interest in bitcoins. You can set price in dollars and the amount the customer should pay in bitcoins is automatically determined.
You'll also get more money for each dollar your customer pays than with PayPal.
My original reason was that I'm not at all good at working with color, and especially not creating colored sprites. By sticking with black and white I could easily draw images with my tablet and modify them pixel by pixel to look sharp. I eventually came to like the look, so I suppose it's also stylistic.
It wasn't intentionally done for any sort of performance reason, but oddly enough, it kind of ended up that way in the end. If I'd gone with full color sprites, there's no way I would've fit within the 10 MB constraints of the Chrome store. Images with one black and one white compress much better than images with dozens or hundreds of colors.
I think the black and white is a great atmospheric choice. It reminds me of Frank Miller's Sin City. Also from the video I got a bit of feel of Metriod 2 on the GameBoy. Which was B&W and had a very creepy subterranean feel.
You could present color in a future sequel or expansion and even use it as a plot device.
I made a fog-of-war Asteroids variant (you can only see the Asteroids that are close to you) a few years ago and every time I tried to add any color, it was disastrous.
Haven't had a chance to test it on IE yet and I don't have access to a machine running it at the moment. I'd be glad if somebody else would be willing to test it or the demo on IE and tell me how it runs.
IE10 can't run the demo because you use ES6 features (const, looks like) that it doesn't have.
The doctype detection also seems to drop it into quirks mode. You could probably fix that by using a standards doctype, but you could also just put in the meta tag that forces IE to run in standards mode for quirks documents.
Would you pay for a PC game in general? Because it's essentially a desktop game that's (at the moment) only easily played through the browser due to its language. It doesn't require an internet connection, if that's an issue for you.
As for an iOS port, it'd be nice, but it's simply not possible without me heavily modifying and diluting the game. Touchscreen controls wouldn't feel comfortable (maybe that's just me) and games of its difficulty and type don't port well. I've played other action-heavy 2D games on iOS, e.g. Dodonpachi, and so much needs to be sacrificed just to make it playable.
If anything, I could maybe attempt an iPad port. There's no way it'd be comfortable on the iPhone, though, and I wouldn't feel right completely killing the difficulty just to make it playable.
Play your destiny against the chtonic gods of despair. I like the setting. Great taste and gameplay looks well weighted. You rock, man!
You shall carve your niche with it, but it won't be Quake.
(Disclaimer: I formerly led JavaME games production)
Absolutely none. Most of my fun comes from solving every problem myself and Subbania was started before such engines and libraries even existed.
However, I probably would recommend something like CraftyJS because it can help take some of the cross-platform troubles off of the developers' shoulders.
Hey, I'm the developer of CraftyJS and now the lead SDK engineer for Game Closure. I would love to talk further about the tech and potentially working together. You can reach me via twitter (@louisstow) or my gmail louisstow AT gmail.
Nice! It takes dedication to release something like this.
The look is awesome, the atmosphere sounds creepy and intriguing. I haven't played it yet but looking forward to purchase it.
You should be able to open the Javascript console in the demo and run the following: JSON.stringify(states)
Copy what's displayed.
Then open the main game and do this in the Javascript console: states = JSON.parse(paste your copied data here)
I actually did have that feature in the game, but I deactivated it once it seemed my apparent save corruption issue was gone (didn't want to bring attention to any possible bugginess). I should reactivate it in an update.
It's more inspired by Metroid, Yume Nikki and Thunder Force, but I suppose a little bit was taken from In The Hunt. The original game was going to be much closer to In The Hunt, however.
why most of the games emulate Mario? I am not a gamer, but for me, the first impression appears to be like mario...though the plot and creatures are different.
Are you trolling or serious? In this game you control a submarine, exploring a cave network. The graphics are also extremely different as is the atmosphere.
To be clear: It is in no way like mario, perhaps you misclicked?
The boundary of html5 has been pushed far beyond this before.
In this the author said most HTML5 games are pacman, etc. If you look at Bastion for the chrome store, it's a very complex game with great graphics on HTML5.
I tried to get it out fast and just barely tested it, but it should be stable. The demo has three bosses, ~25 areas, and a good taste of the gameplay.
My server seems to be intermittently dying, so Chrome Store link for anybody interested in purchasing (buying through my site would be preferable, though): https://chrome.google.com/webstore/detail/subbania/epnejcjdg...
The demo now lets players skip cutscenes by hitting the Enter/Return key. Z/X/C (or 1/2/3 if you don't have a QWERTY keyboard) control actions and the arrow keys control movement.