Hacker News new | ask | show | jobs
Show HN: Lorblets, a Little Puzzle Game
5 points by matthewtoast 1477 days ago
Lorblets is a little puzzle game I made: https://www.lorblets.com/

Lorblets is a variation on Lights Out. The goal of Lorblets is to turn ON all the lights. Unlike Lights Out (typically a grid of black and white squares), Lorblets puzzles have complex shapes (and bright colors!). The puzzles in Lorblets are generated at random from a seed, and they grow in size as you progress.

The code quality is...not great? The design leaves something to be desired. And the game itself is a bit derivative. So why am I sharing this? Because I want to celebrate having shipped a complete game - modest though it may be.

I'm a 39yo who has long dreamt of one day making a game. And yet I've tended to put my software engineering skills to work doing everything except that. I've devised complicated game mechanics on paper. I've written multiple overly complicated game "engines" in JavaScript. I've daydreamed for countless hours about my magnum opus: a 3D simulated open world with a natural language interface, narrative generation, character customization, scene building tools, a modding system... Long story short, that magnum opus has been fun to tinker on, but has not amounted to much beyond the spinning of wheels and the occupation of my free time.

So over the Memorial Day holiday I decided to force myself to complete one game before the weekend was over. I would conceive the simplest possible game mechanic and UI. I would not worry if it was unoriginal. I would resist the urge to add complexity. I would not get bogged down standing up a framework. I would not build an "engine." I would not worry about clean code, or maintainability, or even performance. I would use the tech stack that I could work fastest in: web tech. And I would not worry that the astral projection of Jonathan Blow would visit me at night and chide me for having made a badly performing web browser game.

So, Lorblets is the result. Whatever one might say about it, it IS a game, and that's something. Feedback is welcome of course - but I mostly just wanted to share my story with y'all.

1 comments

First of all, congratulations! Without even opening the link, I upvoted the story itself.

You seem to be having an agrument with someone (real or virtual) saying that a game can only be a game when the code is clean, maintainable and performant. As a player, I do not care.

My 2 cents, again, as a player.

The levels are probably randomly generated, and their complexity is way too random. Most level are too hard to begin playing.

I cannot reload the page to get another random puzzle (have to erase part of URL).

To my eye, the contrast between on and off states is not enough. And the colors do not help really.

Otherwise, great job!

Second the comment about code quality. Many decades ago (at least three, but at most four), during the era of terminal-style full-screen applications, I read a book about software development.

The author was a consultant, and to make this point he told the following anecdote:

He had a client who was in the automobile business of some kind (Parts? Service? Sales? Resales? I can't recall the specifics...). The client had written an app to automate an important part of the business, and taught themselves BASIC to do so.

After the client got it working for themselves, they decided to sell it to others in the industry, and it had grown into a cottage business.

The problem the client wanted solved was that certain things were taking too long for his larger customers. Could the consultant take a look at the code?

The consultant did, and saw that the client had rolled their own sorting, and was using a literal Bubble Sort, a "Schlemiel the Painter's Algorithm" (https://www.joelonsoftware.com/2001/12/11/back-to-basics/).

There were other things just like this throughout the app, and the consultant was able to make the client very happy in a short period of time.

The moral of the story as told by the consultant is this: The client's domain knowledge was far, far, FAR more important to the success of the product than the quality of the code. And until it became cripplingly slow, the client's customers put up with its slowness because it was still so very valuable to their businesses.

And so it is with games. What matters first and foremost is whether people like playing it!

Good luck to the OP!

Thanks, I really appreciate the feedback.