Show HN: Mazelit - My wife and I released our first game

517 points by janosdebugs ↗ HN
Hey folks,

About a year ago my wife and I, both closing in on 40, quit our jobs at Red Hat to start a games company and learn game development. Many things happened along the road, and about a week ago we released our first (small) game on Steam.

https://store.steampowered.com/app/2816120/Mazelit/

The demo is free to play up to level 8 (the final game plays up to level 80) and we'd appreciate any feedback you have, whether it's for the store page or the game itself.

We made the game in Godot 4.2 in roughly 3 months and I was working full time next to it. Since we ran into a bunch of roadblocks, we decided to also offer the entire source code up as a DLC in case someone wants to go look how we implemented the game, mod the game, or compile it for a different platform. The only thing we can't redistribute with the game code is the Steamworks SDK, which is available for download from Steam. (The game minus integration is fully runnable without the SDK, though.)

Cheers and happy weekend!

159 comments

[ 3.3 ms ] story [ 33.3 ms ] thread
Did you end up using GDScript or C#?
We used GDScript, more than 5000 lines of it.
As someone transitioning from traditional programming to Godot and running into a myriad of "I know what I need to do, just not how to do it", I appreciate adding the source as an option.
(comment deleted)
That’s something GPT4 is usually good at helping with
It’s a little rough around the edges for godot 4. It’s still only trained on godot 3 docs and examples as far as I can tell.
GPT is basically useless for Godot 4
How did y'all find working in Godot? Any DX or workflow recommendations? I've bounced off it a couple times after getting impatient with slowness and other minor frictions, but I really want to like it.
switched to bevy
You're downvoted but I've seen similar sentiments frequently, tbh. I've indeed looked at bevy - I don't know Rust yet, but I guess I also don't really know GDScript yet either.
Can't speak to Godot 3, but v4 has some infuriating bugs, unfinished features and idiosincracies. The interaction between scenes and code caused us to lose data more times than we can count and the dev team seems to be completely overwhelmed with the number of issues.

That being said, it is an engine that works and is used by enough people that you'll find bugs reported on the things that bother you, so you'll at least know if something is broken.

We found that doing as much as possible in GDScript and as little as possible in the editor is the way to go. The only time we had performance problems was when adding nodes (for some reason adding nodes is insanely slow). The multithreading is also still in need of work, but thread groups will, hopefully, solve the problem in the future.

We are currently looking into Bevy and Fyrox for BlockBawks since it needs a custom simulation engine, but we are still unsure. (It currently has a semi-working version in Godot, but spawning several 100k nodes is creating problems and will need optimizations.)

For 100k of anything in Godot you will likely want to skip the node abstraction layer altogether and just use the various servers (PhysicsServer, RenderingServer, etc.) directly.
Congratulations, it must have been a difficult decision! Shipping a game is an amazing achievement and I like the creative way of releasing the source code!

Make sure you've properly licensed the code, people have no conscience sometimes and will release your game again without crediting you...

Thank you! Apart from the Godot engine and the Rubik font (which are correctly attributed with detailed licenses in the game in the "Credits" section), we made everything in the game ourselves (code, graphics, sounds, music). The source code includes 3 MIT-licensed libraries we made, too. These are available in the source code DLC.

As far as people re-releasing our game is concerned, the source code DLC is licensed under the Steam Subscriber Agreement with a few added grants for mods and making videos, so legally nobody is allowed to re-release our game as a whole or even reuse the non-MIT parts without asking first. If anyone wants to re-use parts of the game in their own game, they are encouraged to contact us. (We definitely won't make a fuss about minor parts of the code when asked, but re-releasing the entire game is out of the question.)

Congratulations this looks really slick and wish you many sales
Same. Nice work!!!
My story is similar to yours except I'm a little younger. My game comes out this summer. I'll definitely grab your demo, and I just want to say you should be really proud of this accomplishment.
Good luck! We learned a lot simply from the process of releasing the game. Wish we had done it earlier since now we feel ready for slightly larger projects and know we can push it over the finish line.
Congrats on the launch! I would say though I think you should up your price to at least $9.99. A $3 game makes me think it's low quality, which it's not. So you ought to price your game appropriately.
Or even $7.99, that or $8.99 is sort of a nice line between signaling "very cheap game" and "potentially short but enjoyable experience for the evening worth the gamble to find out if so".

I can't speak to it in general, that's just my 2c on the matter/issue without really knowing too terribly much about the game (or game development in generally, really, I'm just a consumer here! XD). <3 :'))))

Pricing is a funny thing. You'd think lower prices would lead to more demand.
It is strange. Games have well defined pricing tiers that players and developers have worked out over time. $3 is generally considered somewhere between "trash you buy as a joke" and "a very short game without much in it". Does anyone know if there's any other markets that work like this? I can't think of any.

Games going on sale at launch also makes me assume its just because no one is buying it, but apparently more people buy games at launch if it says they're on sale. I don't get it.

Err... most things. Furniture for example.
When I was looking for a mattress recently, I wanted something affordable, but I shied away from really cheap options, because I was afraid they'd be very low quality. Similar reasoning could apply to many things.
Launch sales seem to be pretty standard on Steam, you can only set it up before the release and you can't change it afterwards AFAIK.
It is indeed. It turns out that the classical ‘supply and demand’ relationship only makes sense in fairly restricted settings. When it comes to consumer products like entertainment, it’s far more about psychology than rational value estimation and calculation.

If your product isn’t selling, (paradoxical though it may sound) raising the price can be a much better idea than lowering it and potentially both tarnishing your brand and making less profit at the same time.

And this is without even considering the notion of Veblen goods, which is an even more extreme example.

I think if raising the price of your game increases demand, that’s a textbook Veblen good.
I’m not sure there is a formal definition, but it seems that Veblen came up with the idea because he was thinking about conspicuous consumption, which is slightly more specific.

It’s not that the high(er) price itself makes the product desirable — it just happens to help tell the right story about the product.

A lot of people who have never sold a digital product say stuff like this, but there's definitely a very obvious and gigantic market for low prices.

As somebody who has released several games and apps where some did well and others were crickets it seems like a combination of randomness/timing, visibility (related to the previous), and simply - is it good or not? If your game is amazing people will jump through hoops to try to play it. You can sell a great game for $40 or $60, and a very great game for $60 then $15/month to keep playing.

But you can't raise the price on a low-quality product and expect a great sales response. A lot of investor types say this out of hopes, or because they want that racehorse to run faster, but IME it's: Is it good? Charge market. Otherwise, free or freemium, you might even have to give away the code to get developer interest to help.

> But you can't raise the price on a low-quality product and expect a great sales response.

Well… obviously.

My point wasn’t that raising the price is always a good idea; it was that it sometimes is. It’s worth mentioning because even the idea that it’s sometimes sensible is surprising to many.

Of course there are good reasons to raise prices, but low or no sales is not one of them.
Well, you’re wrong. It’s been done before. It’s unconventional and perhaps rare, but it has been observed to work sometimes.

But I’m talking about products you’d buy regularly rather than one-time purchases like games or music.

Wasn't Vampire Survivors originally 2.99? I just checked, it's 4.99 now but I think it was cheaper in the beginnings.

The point is, 2.99 is a "no think" price tag, while 9.99 is a "wishlist and consider when discounted" price tag.

Bu that's only my tl;dr of this blog post: https://howtomarketagame.com/2022/01/31/vampire-survivors-su...

Disagree. If you agree, buy it and leave a review.
You just made our day, we were laughing do hard. :D
I don't know... at $10, I almost certainly would have just passed. At $3 I decided to buy it, and then when I saw the source for a couple of bucks more I bought that too.
That's why you price it at $7 and down to $3 during sale
(comment deleted)
Do commenters like this ever stop to consider people who cannot afford to pay higher prices, before encouraging creators to arbitrarily raise prices higher than the creators have already calculated? Do these commenters ever stop to analyze their world view that leads them to believe the litmus test for quality products is whether the product is priced like an Apple product?
I’m all for looking out for the less fortunate, but people running businesses are people too with spouses, children, mortgages, etc. they need to live a sustainable life too. Pricing something to market value is not necessarily a bad thing.
Strongly disagree. A price of $9.99 may seem “quality “ to you, but may be out of reach for many people (including, but not limited to, those who are not in developed countries). I’d rather have a lower priced item that allows people to pay a lot more at the time of purchase or perhaps a reminder (not annoying, and only once) to donate/pay more on reaching a certain level.

A price of $3 may be an impulse buy for some people, while a price of $9.99 may be a pause to evaluate that against other purchases.

Customers with higher disposable incomes can be targeted with additional content (DLC) or digital merchandise.

Steam allows for adjusted pricing based on country. It is common for games to cost more in US/EU versus other regions.

Additionally, and perhaps perversely, much of a games sale volume tends to be generated during seasonal promotions (Steam Summer/Winter Sale, etc).

Pricing a game at $3 doesn't give you anywhere to go in terms of a discount.

>I’d rather have a lower priced item

That’s what every customer wants. But game companies that sell at $3.99 don’t tend to release many high-quality sequels.

We were debating this exact thing back and forth and decided for the current price based on expected playtime. By now, I have 10+ hours in the game, but you can beat the game to level 80 in roughly 4 hours, which equates to 1$/hour or the regional equivalent in price. We made the style and source code DLCs for people who were willing to pay more or support us, but wanted kids with low allowances to be able to buy the game as well.
Thank you for the explanation, that makes sense. I will be buying your game and most likely the DLC too! Congrats the on the launch and good luck with your future projects :)
Games under $5 are easy impulse buys and never regretted or refunded unless they don't actually run on my system. $10 would make me question "do I really want to buy this game?", which more often than not is a "no" or "not now", and so it just becomes another slot on the wishlist to be scrolled past and added when it's on sale.
At the same time if you want to validate a new idea, you want to know how many people say yes to “do i really want it” and not how many people impulse buy.
At the same time 2.5 times less buyer is the revenues
Just bought it. Looks like a nice little game. Wishing you many more successful releases.

I am curious what roadblocks you ran into if you'd like to share more about your Godot experience.

Godot was fine, for the most part, it's a good engine for small games. The main issue was around working together and resolving conflicts with git (Godot isn't really working and constantly kept changing IDs in resource files), and it kept losing data in scenes when the code changed so we had to rebuild things several times. On previous test games we also ran into huge performance issues in the editor when we wanted to do too much work in scenes, so we had to switch to doing most of the work in code.

The worst part was when I had to rip out a bunch of testing code that used @tool for release as it seemed to cause issues when doing a release build. The engine is generally not great when you want to follow clean software engineering (e.g. dependency injection is not possible, I opened a proposal to that end here[1]).

[1]: https://github.com/godotengine/godot-proposals/issues/8850

Out of curiosity, why not release for mac if its made with godot?
We don't have a Mac and couldn't justify the cost of getting one for now. It's not just Godot, we also have to compile the C++ gdextension and we also want to only release on platforms we have actually tested the game on. (That's why there is DualSense support, but not DualShock. In theory it should work, but we couldn't verify it.)

With the source code DLC it should be possible to compile everything for a Mac regardless, even if it's a bit of work. If we make enough money from the game, we might reinvest it into a Mac. :)

According to PirateSoftware (who makes Heartbound), just compiling the game for Max is going to cost you at least $1000 (Mac Mini + XCode license + time)

The number of sales is, however, negligeable - Mac has just 1.38% Steam users

PirateSoftware told [1] that the Mac was 0.02% of their sales - one in 5000 sales (and thus he dropped Mac support)

Don't reinvest in Mac for sales before you do the math.

If you just want a Mac, get a Mac. If you don't want a Mac, don't bother

[1] https://www.youtube.com/shorts/qRQX9fgrI4s

Thank you for the additional confirmation. We have seen the same stats, which is why we didn't buy a Mac so far. We could build it on GitHub actions, but we wouldn't be able to test it that way. However, depending on the game, the target audience may have a higher percentage of Macs. BlockBawks, our upcoming game, may have a disproportionately higher number of Mac users who are interested in the game because it's dealing with a programming topic. Ultimately, I'm afraid you may just be right and getting a Mac Mini may not be worth it.
I run into this dilemma a lot, not even for profitability.

I would happily test my software on macOS and Safari, but I'm not paying for that privilege. So a lot of my stuff just doesn't work. But Windows, Edge (and previously IE) and Chrome and Linux are all easy to test on so I do even though personally I only use Linux and Firefox.

Amazing, I just bought.
Hey, just noticed your comment about OSX above. If you bought the source code DLC and you are having trouble downloading the source on Mac, please drop us a mail: make@something.pink We are just now trying to figure out a short-term solution for downloading the source package on Mac.
Congratulations for completing and shipping your game! It looks good. Also an interesting idea to provide the source as DLC. I hope that the sales go well and now best of luck for your next game. :)
I watched the video on the Steam site and I dont understand the game at all.

At one point it sort of looks like a modern version of snake. But that it is not.

It sort looks like they are running over a circuit board. What are those green v shapes mean?

Then perhaps Pacman Seems a bit Pacman. Gobble energy pellets?

Whether the game mechanics are totally obvious from a video or not is pretty game-dependent. The voiceover made it clear enough what was going on to me.
Wow, that is really valuable feedback, I suppose we should rework the trailer to work without voice-over too. Thank you!
I would to play in OSX :(
Once the game makes enough money, we might reinvest into a Mac to ship it for that platform, too.
Just ordered, although the low price buckets it into "probably not worth it". I'd price it ~$10 and do a discount instead.
Thanks for the feedback, we were debating this a lot.
How'd you stay motivated enough for 3 months? Were you'll really that passionate about this game idea?
My wife was annoyed at not having released a game for almost a year and she set a hard deadline with the smallest game idea she could think of. It became fun when the game became playable and if we had to do it again, we'd focus on getting to that stage much earlier. The game was finished before the deadline, so we even had time to polish, balance the game mechanics against each other and add a touch interface for the Android release that never happened, but made it into the source code DLC anyway. Previously, we had spent way too much time switching back and forth between Unreal Engine and Godot, not being able to decide or finish anything. Kicking each other's behind to finally get it done also helped a lot.
Hi!

Why did you decide to go with Godot instead of Unreal or Unity?

Are you happy with your decision?

Off-topic since I'm not a gamer - I checked out your website and it reminds me of early 2000s when these sort of cool websites were popular. Nicely done! Just one nit though - shouldn't News and Privacy rooms be swapped tho? =)
Had a good laugh. Now that you mention it, we can't quite decide ourselves.
The website is something else! https://something.pink/. It is really fun to use. Privacy being the bathroom is funny!
+1 really well made. I wonder if there's a framework for making these kind of websites?
found in the sources that babylon.js (https://www.babylonjs.com/) is in use.
BabylonJS indeed. We had a tutorial up on our previous YouTube channel, if there's interest, we'll reupload it.
Headquartered on Webgasse no less. I wonder if that's intentional or accidental!
That is accidental and we actually didn't even realize. :D
The potential for puns is infinite. INFINITE!
Ha the hamburger is genius. How has nobody done that before? (afaik)
I gave up after watching the cake loading animation for 2/3 minutes. Might be a HN hug of death or something
It's working now, but it may have been a hug of death indeed. The website is running on a tiny server as it usually doesn't get a whole lot of traffic. :)
The privacy policy is also well written. I didn't know you could not have a cookie pop up.
That’s sad and frustrating that we’ve come to this point. I posted a web service I’d done and someone questioned that. I was told “you have to have a pop up - it’s not legal to run a site without that!” (Paraphrasing). I despair of what we’ve turned the web in to.
Apparently you only need the popup if you are doing something nefarious. Otherwise it's not required! Yikes!
Yes, and it's why European privacy conscious people get mad when people complain about the EU making the user experience on the internet worse: the EU isn't mandating cookie banners at all, it just requires user consent before doing fishy things with their private data. But if you don't do anything fishy with those data (like selling it with 678 “partners”), there's no consent to get.
This does not appear to be accurate.

The official EU GDPR site says that consent is required for anything except "strictly necessary" cookies.

https://gdpr.eu/cookies/

"To comply with the regulations governing cookies under the GDPR and the ePrivacy Directive you must:

Receive users’ consent before you use any cookies except strictly necessary cookies."

There are no exceptions for not "nefarious" or "fishy" - only if there is no way your site can function without every cookie.

Legitimate reasons to use cookies that are not strictly necessary include analytics, optimization, user experience, social media sharing, sign in with (third-party IDP), incorporating content or code that is hosted on other sites, and more.

I recognize and agree with the dislike for this, but if it's inaccurate, I'd love a correction.

I mean, you can write a website that doesn't require any of that. social media links for authentication (if the website requires authentication) are strictly necessary.

Analytics and optimization are things the eu is trying to prevent, so of course you get a popup.

It is possible, yes. It just hampers much of what people expect modern websites to do (though it hinders abuse, as well, which is good!).

But even GitHub, who proudly declared they had removed all non-essential cookies https://github.blog/2020-12-17-no-cookie-for-you/ added them back https://github.com/github/site-policy/pull/582/files and now if you click either "Manage cookies" or "Do not share my personal information" at the bottom of the page, you'll see they have the common "Required", "Analytics", "Social Media", "Advertising" categories.

(Bummed that they have the Advertising category.)

GitHub is owned by Microsoft, the company that's putting ads on your start menu, I'm not sure why people are expecting anything less. Whatever they had in terms of culture before acquisition is not the same afterward, even if it changed gradually.
"Analytics and optimization" is where all the nefariousness goes down IMO, even if it's "for the user". When a site predicts things for a user, some users are delighted by the UX while others are put off by being spied on. So even in the "to improve our UX" case, it's up to the tracked to decide if it's nefarious or not - if they consent or not. It makes more sense to always prompt when using them.

Also, I'm seeing headlines like "Are Internet Cookies About To Crumble?" (not really, but you know how tech media is!) but I wonder how much longer cookies are even going to be relevant.

When's the last time you did this:

  document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";
For most modern developers, the answer is never! They're not really used in modern development by us. Apparently about 40% of websites use cookies, and it's almost always for ad re-targeting - the only reason they make you auth again after clearing is really to auth you with the cookie, your auth with the site is usually just HTTP requests and doesn't require cookies.

TLDR I think they're going away anyway, they're passe and it makes too much sense for Google to obsolete competitors by suddenly dropping them. GDPR calling out cookies is like the American law that bans "magic mushrooms" - they should have been more specific in identifying a specific unlawful behavior.

Upvoted for the good info btw (it just didn't do anything lol) thanks for sharing

Connected to this I laughed at the piles of toilet paper packs in the "contact" entrance.
This may or may not have a connection to reality.
I enjoyed the names and headlines on the bathroom reading materials. The free look mode on the cam is fun.
I hated my wife when she made me build the textures for the reading material. I guess I was wrong. :D
Hey that Broomrocket stuff looks interesting. And nary an LLM in sight.

janosdebugs, could you comment on the tech behind it?

Well spotted, no LLM in sight. We published an academic paper on Broomrocket[1]. Currently, it uses spaCy[2] to process the sentence into a semantic data structure and then uses the placement algorithms to create a list of volumes and placement preferences in 3D space. My wife is currently working on replacing spaCy with a custom NLP library in Rust working purely based on formal methods. This will become a larger product suite in the future.

[1]: https://dl.acm.org/doi/10.1145/3648233 [2]: https://spacy.io/

Thanks! Well, if you folks are interested in formal methods and learning, then you might be interested in Inductive Logic Programming. Here's a link to my work:

https://github.com/stassa/louise

The referenced papers include some examples on learning a simple CFG for a small set of Magic: the Gathering examples. More recent work looks at solving mazes and taking names (under review).

One of our PhDs is working to implement all this in Rust btw.

Sorry for advertising my work on your post :)

Awesome, thank you, we are definitely going to take a deeper look!
Congrats. The game is pretty!
Looks decent and could be fun
Send some codes so streamers can give it a go
We did send it to a few, haven't received any replies yet. Do you have any in mind?
Congrats and good luck on the launch!!