Ask HN: Any solo game developers here?
I'm a full time game developer nine months into creating my city builder game. It's a lonely journey so I put together a very small group of other solo game developers.
We meet up every week (currently Tuesday nights, EST) to relate to the struggle, hang out, and rotate one person who presents for the night (they can teach or talk about anything game dev related, including their game). It's been a success and motivating for all involved.
I'm looking to add 1-2 people to the group who can commit to (preferably) weekly or bi-weekly meetups. I have a strong preference for other full time developers. Must be serious about finishing/releasing your game.
About the group:
We are late 20s - 30s and serious about releasing our respective games. We are pretty open and honest with each other, and will question each other/provide feedback freely.
Email is in profile
99 comments
[ 4.9 ms ] story [ 208 ms ] threadAnyone got pointers to game engines for solo devs?
Something to get 2D multiplayer games out of the door quickly.
If on the other hand you like Slime Rancher, well it uses Unity and probably that would be a better choice than GameMaker for that kind of game.
I also second Godot though, which is not widely used by many projects but seems awesome to me and totally capable of moving a 2d game out the door quickly.
It's a very great framework for learning the basics but will require extra work for a polished end result. The forums and documentation are a solid place to start! https://love2d.org
Just my personal thoughts though, others will have had different experiences.
There is a fresh fork developed by the team behind https://www.beyondallreason.info/ and they are working on performance improvements. In addition, you get the whole infrastructure developed by that team for free (Server tech, matchmaking, map editors etc.)
Its hyper specialized on RTS though. Dont try to make a jump and run with it. Although they tried: https://www.youtube.com/watch?v=a1D295mRqdE https://www.youtube.com/watch?v=kNGe4KTdVN4 https://www.youtube.com/watch?v=-FnmQUgR5RQ
Ludum Dares are pretty hard core engine tests, as in can you iterrate, pivot and check wether its fun quickly. Unwieldy beasts do not survive that.
Games almost never "get out of the door quickly", with very few exceptions.
That goes multiple for multiplayer games.
What you might be able to produce quickly is prototypes. "A moving rectangle which shoots circles" - kind of thing. That is a super power, don't underestimate it.
LÖVE is a nice game engine, I used it a lot in the past, mostly for personal stuff. And released some open source libraries in the process.
I.E.
A top-down tile-based extension? Ideally just an integration with some existing 2D tile map editor.
Or an isometric extension?
Or a side-scrolling extension with gravity and parallax and a tile map, etc?
When I tried LÖVE years ago, it seemed like there was a little bit of engine-building before you could really start making a game. Like figuring out how to do the rendering and tiling and jumping between scenes/rooms, etc
If you are looking for a more "batteries included" approach, then probably Unity (with its plugins on the Asset store) would probably be a better fit.
Features: https://github.com/Planimeter/game-engine-2d#features
We integrate with Tiled, and feature multiplayer with client-side prediction out of the box.
You can set the tick rate for your game based on your needs as well. And prediction is robust, supporting exceptional packet loss and smoothing over latency concerns for player movement.
Even Godot doesn't support multiplayer networking out of the box: you have to write it yourself.
https://docs.godotengine.org/en/stable/tutorials/networking/...
I prefer Godot's approach but it's not as ready to go as they're describing.
I've had success using it as the backend+networking stack in conjunction with game UI tools like Phaser and Pixi.js.
It’s mostly a recreation of the entire game in Unity, not much got reused.
Itch is a great indie game community where individual developers are easily share/sell their games.
While the game is my goal, i focus on the platform because i feel solo devs have a ton of overhead. I figure if i can optimize my the creative aspects of my work i will have better long term success. Point being, i am interested in this space but not in pushing X game out the door asap. I expect my first/second/third/etc games to be failures, stepping stones. I'm here for the journey. With an eye on burnout.
So i suspect my approach may not be focused enough for your group. As right not i'm working on archival and automation of creative pipelines moreso than games.
And that probably means I'm not a good fit for the group, but it feels dismissive to tell me that way.
I've been researching solo game dev for decades now, and that definitely mirrors my conclusions so far.
Just keep the end goal in mind and don't reinvent the wheel, unless you desire a career in wheel engineering. While you're working on your stuff, remember that others are also working on their stuff, and a lot of useful things are shared freely and continually popping up new.
Have the courage to recycle your ideas, and the ruthlessness to streamline your development process. Going solo is all about coming to terms with your limitations, and building solutions to work around them. Maximize the impact of work you like doing, while minimizing the necessity of work you don't. Sacrifice your creative vision until only the core remains. Resist the creeping scope of scaling it up, but also keep firm in your artistic requirements. Keep your "must haves" short, solve the hard problems first, manage your expectations, and above all be stubborn enough to tread through it.
I find art to be the most limiting factor at this point. I'm not a great artist (what I can do takes a painstaking long time to finish) and it's hard to satisfy a creative vision with free art assets.
Though i am purposefully using Rust, so even if Godot did it's a bit more awkward. There are Rust libs for Godot, though i'm not entirely sold on the libs quite yet.
My basic thought process is never do anything more than once for the creative work. If i can't find a way to keep overhead obscenely low then long term i will drown in one-offs.
I think the same way with game code. A heavy emphasis on testing, integration testing, etc. I don't have the time to Q&A for all possible regressions, so i have to ensure i do everything i can to make the engine very testable.
Minimizing repeat work is my goal with everything. Also insanely stable builds, i suppose. Ie i don't want a change in an asset to break historic builds or source. My source is tied to the assets at that time. etcetc
edit: And to be clear, i'm not writing a game engine myself. I'm using Bevy atm.
The journey is important, you'll probably have a hard time making it in this industry and/or burn out if you aren't deriving joy from the day to day work.
For me, not releasing my game ASAP is not an option. I'm living off of my savings. That's why I prefer other full time devs because survival mode is very different than safe mode. (I feel 10 times more alive. Not sure how others feel).
Anyways, Im mostly responding to encourage you to create your own group because there seems to be a lot of people who are in the same boat as you. I have to say, meeting up with people every week who share the same drive/passion as I do is a great experience.
I think you have the right mindset here, so you will probably be successful in actually shipping. Kudos to you. Looking for another person with that mindset for your group, I think, is the right one.
I'm not a game developer by the way, but I am doing the solo indie dev thing, as of a few months ago. I think a lot of people who are dabbling in game dev or indie dev, like the idea of one day doing something with it, but what they really enjoy is the craftsmanship of building an engine, setting up their tooling, creating a process, etc. In my opinion, that's fun, but it doesn't really get you closer to shipping code and seeing what the market likes or dislikes. No disrespect to anyone who likes that aspect, but I think it's way different from actually needing to ship a product.
So yeah, if you ended up including tinkerers in your group, I can see how that would change the nature of the conversations.
I don’t think I’m in a small minority despite the vast amounts of literature (on HN) mostly that is about the destination alone.
As an aside, an indie developer should make a literal yakshaving game. Just because.
(extra credit for an Ultra setting which squanders GPU power on ridiculously high-fidelity fur simulation)
I also work full time and also have other hobbies, plus I really don't get motivated by the proper process of developing a series of games with growing complexity, so instead I keep designing my dream game as I'm working on it. So, I dunno if I will ever finish. But hey, if I wasn't chipping away at it I would probably just be playing more games instead, so why not?
My wife actually suggested I join some group, but I suspected the exact feelings the OP has - serious developers rightfully would not want me in a group :) Maybe there's potential in a hobby-slacker group :)
- https://twitter.com/IndieLegion
- https://howtomarketagame.com/ Discord
- https://twitter.com/gamediscoverco Plus subscription's Discord
- Godot Engine's Discord
I've connected more deeply with some of the folks I've met on there, so it hasn't felt lonely at all.
I'm also doing an indie dev masters via Falmouth, and my cohort meet up weekly (and we have a Discord for daily chatter), and it's a great community, but I'm not sure if that will last past graduation in a few weeks.
(I'm on the marketing video super cringe)
https://www.falmouth.ac.uk/study/online/postgraduate/indie-g...
https://web.archive.org/web/19991012021220/http://gamespot.c...
I spend a lot of time thinking about how independent developers can better spend their time. A lot of developers get caught up in design documents, or thinking about how they want to make a game, but not seriously understanding how many hours a week you need to commit to a project and over how many years.
As a rule of thumb, about 20 hours a week over a period of multiple years dedicated to a single project seems to bisect game developers into categories of those who are productive and those who aren't.
We have had conversations with different developers in communities, like LÖVE's, for instance:
Surprisingly, many developers aren't interested in serious commercial efforts. A lot of them fixate over matters that don't make significant product impact. As an example, there's some sort of "ECS" fad going on right now. Years ago there was some sort of "push/pop game state" fad.
Professional game engines aren't built this way, so I have no idea where these fads originate from.
We are a group of former Source Engine contractors, game technology developers, and designers. We have written some articles on embedding Lua, multiplayer game networking, and introducing a CSS 2.1 compositor into game engines, among other things.
I'm interested in having conversations with other game developers, and as a like to have, we love talking with those who have written significant pieces of software in the open source community.
As a crude ballpark, a measure of "significant" might be any repository with over 75 stars, or development of a technique that is novel in game software, etc.[2]
[1]: https://github.com/Planimeter/game-engine-2d
[2]: https://github.com/andrewmcwattersandco/github-statistics
I want to make a "game" which is more of a game environment sandbox. something kind of in-between game engines and actual games. I want to be able to create the feel of different game types like FPS, RTS, top-down adventure, side scroller, whatever - within a certain set of consistencies of my choosing. Like something to toy with different ideas for game mechanics in different settings while not needing to explicitly manage things like what a wall or door is each time i change things (things that would be defined as part of me creating the "game"). I want to be able to invite a friend into test environments as well (so multiplayer needed). I am expecting to need to make edits to the game mechanics outside of the game, possibly even through adding extensions to whatever game engine i use - so i will not be looking to set up a UI for tweaking settings. Just something that makes it easy to make changes to how the game functions, easy to spin up a dedicated server to run an instance of the created game environment, easy for another person to join that environment.
Advice needed is: is this scope feasible for 1 person and what game engine should I look into for trying it out? I am not trying to do anything particularly fancy; no overall game design, no story, minimal amount of textures and assets. Literally just an environment to toy with game mechanics.
I understand there is so much below the surface of what I am trying to do that I dont understand, i.e. I have seen an example for all the decisions that need to be made about doors, how interactions work, size, how changes are managed (this door, or all doors?) etc.
Basically, I am not trying to send my friend a new .exe everytime I make a change to a game mechanic - since that's expected to happen a lot as the primary use-case for the thing. If I add assets, then yeah - although ive seen games have the ability to download assets when connecting to the server, so maybe not even that. Ideally, I'll have a fixed set of assets that cover everything of interest, and the way they are rendered and the multiplayer networking and all will be consistent throughout.
hopefully this all makes sense
But the idea is the same. We see that there is a market for developers who want to play with game software, they don't want to publish a full blown game. We do want to provide a hatch for them for when they want to graduate to creating a standalone product, and that's what Planimeter Game Engine 2D is for.
So we provide abstractions like game modes, and the ability to send game mode code over to people connecting to a server who don't have it installed.
And so that developers can work on the game mode as it is being played with friends, the game engine includes live reloadable assets and real-time scripting.
Is this feasible for one person? I mostly built the game software over a decade with other volunteers from Planimeter.
I suspect we don't have many products like this in this space because most game developers aren't successful in simultaneously creating their products with a very focused scope and marketing them through discussions like we're having here now. It's literally just a constant function of engineering labor and time spent on sites looking to help people out.
It makes sense. It's what we've been trying to do for years. There are basically no products on the market that do what you and I are looking for, and my team has slowly been trying to build it up.
We have some internal projects where we have spent time looking into other game engines besides our own to see if we could move faster on established products while minimizing risk, but the landscape is amazingly poor.
For example, Unreal Engine doesn't have a fixed timestep, and its entire networking model since the late 90s, early-2000s was one based on the premise that connected clients are approximations. This is a hard departure from, say, the Quake-family of engines or engines that are designed similarly.
Believe it or not, for reasons like this, Unity is probably more appropriate for games like first-person shooters as a result. Larger studios have to jump through significant hoops to get Unreal to behave properly in common FPS scenarios, which is a technical reason why players report poor "netcode" in Unreal Engine games. You can't create reliable replicable states in UE 4 or 5.
While Unreal has some rudimentary networking out of the box, as far as we understand, Unity has issues with not providing multiplayer out of the box essentially at all? It's been some time since I've looked into it. Anyway, we expected more from the larger two institutions.
Godot also doesn't provide multiplayer out of the box, you have to write it all yourself with some bare bones abstractions you are provided, but they barely built on enet itself.
So ideally you and I would have access to a 2D or 3D engine that had multiplayer out of the box, could write game mode code that was networked to connecting clients even if they didn't have the game mode, and allow them to download assets they were missing as well. And while you were playing the game, had the ability to change the game code on the fly and send it to clients so you could develop and play test in real-time.
It doesn't exist as far as we know. Garry's Mod, Half-Life 2: Sandbox, and Planimeter Game Engine 2D are the only products I'm aware of that allow you to do this, and two of them are Source Engine games/mods.
I'm surprised it's considered a niche, but a lot of people seem to like the game engine with UI design thing over game software with robust multiplayer and live reloading.
Worst yet, a lot of amateur game developers don't seem to think multiplayer is important, or they think games vary widely in networking implementat...
i hadnt done a real deep dive yet, but from introductory readings on a few engines this was my impression too on what we are looking for in general. Glad to know im not the only one to feel it.
>So ideally you and I would have access to a 2D or 3D engine that had multiplayer out of the box, could write game mode code that was networked to connecting clients even if they didn't have the game mode, and allow them to download assets they were missing as well. And while you were playing the game, had the ability to change the game code on the fly and send it to clients so you could develop and play test in real-time.
Yeah pretty much, though the last part would be icing - restarting the game / reconnecting to the server in response to anything more than parameter tweaks is okay. just really want to avoid excessive manual file management
>If you have found some other software like this, though, I'd love to hear about it.
I wish. If there are, then they dont support 3D PC games, because my search has been limited to that.
given how long ago garysmod was, i would be very surprised if no one has tackled those principles from the game engine standpoint already. I'm guessing any team that prioritized multiplayer sandboxing in building the game engine must have made the engine propriety and built a game studio around it.
Is Planimeter Game Sandbox something I can check out? or is that more of a target and Planimeter Game Engine 2D is the current iteration?
My next research step for myself was going to be to look at the tools in the WebAssembly ecosystem
Edit: It's probably just easier to mark our private repository as public for today. It contains copyrighted material as well as some assets from commercial games we use for internal testing so I'm essentially leaking an internal codebase, but we just don't have enough eyeballs on this for it to matter. I'll mark it private by the end of the day.
Keep in mind the main branch is probably broken from our experiments with uplifting the UI to use Yoga. CSS 2.1 and Flexbox are on the product backlog, but I may end up ditching Yoga since it's becoming too much of an engineering time drain. Feel free to git bisect it until you find the working commit. My apologies.
That being said, the Planimeter/game-engine-2d repository is only a few major features behind this branch.
https://github.com/Planimeter/gridsandbox
To answer your question more directly, we have not seen the engineering, design, and marketing skills required to do this widely available in the market, or open source space. We know of a small handful of people in the world who have the combined knowledge to do it, but none of them are working on such a product except for some of the engineers at Facepunch and Planimeter.
One person can absolutely do it, but statistically we haven't seen it.
It requires you to primarily have an exceptional background in general software development, game networking, embedding scripting languages, user-interface design, and marketing (if you actually want people to use your product/play with your software).
The guys that I know of who have the skillset to do this are all working for studios.
Would love to connect and exchange notes about multiplayer development -- if you're interested, my email is on my profile.
Thanks for dropping a reply on HN.
I can be reached at andrew at andrewmcwatters.com. I'll shoot you an email.
Also, for non-solo folks, I have some game programming experience and am comfortable implementing audio [or figuring it out on platforms I haven't used] and would be happy to chat about possible collaborations. :) Email in profile.
I've spent a lot of time adjacent to games in my free time, doing reversing/modding/speedrunning tools. I'm currently learning Godot and plan to jump into development hard next week working on a rogue-like platformer, in a similar vein to Spelunky.
I've learned a lot, but being solo is a massive obstacle for motivation and funding.
I guess there are a lot of wannabee game developers like me.
Technical overview of Kandria, a game and game engine developed in Common Lisp - https://news.ycombinator.com/item?id=32043026 - July 2022 (32 comments)
Tried to convince some fellow colleagues and friends to dive in to indie game dev and make something together, but so far with little success ;)
Would love to meetup with fellow hobbyist's!
It has a full game loop but is very small. It takes 10-30 minutes to play through depending on how quickly you see through the puzzles. Right now I only have a Windows build :\
I worked on that for a few months full time, but have to get back to earning an income so I'm not working on it at the moment, interviewing instead. I did the game design MFA program at DePaul to find a group of people to learn to make games with, it was a lot of fun. I think without doing a program like that I would have wound up yak shaving in circles and making a bunch of tools instead of ever making any games.
It does get lonely. I'm a former YC founder and I left Apple earlier this year to be a solo game dev. Making games (compared to apps or tools) is especially hard because "fun" is so nebulous that "make something people want" is a blurry goal at best.
I also work on my own tools and I'm using them to build the game. I'm very interested in tools that help a very small but talented team (1-4 people) build ambitious games more successfully.
I post progress here if anyone's interested: http://twitter.com/kineticpoet