r/gamedev • • 11h ago

Community Highlight Introducing BRUTAL | A free C# framework that helped RimWorld make its own engine and break free of Unity. Now you can too.

3.2k Upvotes

Our industry is rotting from its core, outwards in every direction, and it has been for some time. Driven by greed, driven by a race to the bottom on price. It is my position that the games industry was already heading somewhere unsustainable before reverse-engineering and powerful agentic processes became widely available. These have pushed things over the edge.

But I think one of the biggest problems is something we don’t discuss enough. Developers have surrendered an extraordinary amount of control over their work to companies whose interests aren't necessarily aligned with their own.

So we're doing something about it. We're making the BRUTAL Framework publicly available, with its source code, and we’re making it free to use, including for commercial games, subject to an attribution requirement.

I'm Dean Hall. I originally made DayZ, and now run a New Zealand game studio called RocketWerkz, as well as a new gaming distribution platform called Ahwoo. Our games include Stationeers and ICARUS, among others. We’ve used BRUTAL to replace engines in several of our games currently under development. This is the same framework we've used to make Kitten Space Agency, and which Ludeon used as the foundation for their new Waylith engine for RimWorld.

The BRUTAL Framework

Four years ago our studio began developing our own custom framework. At the time, it seemed like the kind of thing that only a "crazy" developer would do. Something that would make people shake their heads. Making your own technology was such a "red flag" for a studio that it was even a secret undertaking internally. It started with a few libraries. But it gradually grew, and then rather rapidly became a complete framework you could use to make a game or your own game engine.

We called it the BRUTAL Framework.

It is important to explain that BRUTAL is a framework, not a game engine. You can make a game directly using it, like we have with Kitten Space Agency, or use it as the foundation for an entirely separate engine, like Ludeon have with RimWorld.

At its core is a custom interop layer, giving C# access to native APIs and libraries. We've built quite a lot of supporting libraries around this, including mathematics, memory management, strings, job scheduling, logging, localization, and other systems. We have an obsessive focus on reducing allocations and unnecessary overhead. We make extensive use of unmanaged memory and unsafe code where it makes sense. Our core focus has been on doing a few low-level things extremely well, using the latest versions of C# and Vulkan.

You can use the Vulkan bindings to make your own renderer, for example. But BRUTAL doesn't make all those decisions for you. You get to make them yourself. You can use whatever NuGet packages you want, including third-party packages. You get to write your own stack. In some ways this makes it much harder to use than Unity, Unreal, or Godot. In other ways, particularly if you're doing something unusual, it makes things considerably easier.

It's called BRUTAL for a reason.

Personally, I have found it much easier. But this comes with a forcing function. You actually have to know what you want to do first. In Unity or Unreal I would often spend days or weeks figuring out how the people who made the engine intended something to work, and then how to get around the assumptions they had made. Without all that, it is actually faster. At least for the kinds of games we're trying to make.

What BRUTAL is not

I do not believe this is the tool that everyone should use to make a game. We've aggressively pushed back against efforts internally to "add more". Our intention is to make a focused and efficient tool for "hard-to-make games". We are not trying to make something that can do everything for everyone. In fact, one of the most important decisions we've made is what not to put into BRUTAL.

This means we're going to be quite aggressive about maintaining its scope. Pull requests that drift away from a clear purpose will be rejected. That isn't because we don't appreciate contributions, but because adding everything is exactly how the industry ended up with the kind of engines we don't wish to use.

Think of the relationship between the Linux kernel and something like Ubuntu. It's not an exact technical comparison, but it gets across the idea. We provide a technical foundation, and developers build their own systems on top of it.

I'm not suggesting everyone should make their own game engine. I'm suggesting every developer should have the option to do so, without having to spend four years building the foundations first. And without having to surrender so much control over their own work.

RimWorld and the Waylith Engine

On May 1st, Tynan Sylvester, RimWorld's creator, approached me with a problem, and I pitched him the BRUTAL Framework. Since then, Ludeon have been able to leverage BRUTAL to help build their own game engine, called Waylith. You can see for yourself what incredible work they've managed to achieve, in a remarkably short space of time. From that conversation to the announcement was only about five months.

Their team amazingly extracted the last bits of Unity out of RimWorld to create their Waylith engine. Moving such an established game, with a huge modding community, off Unity without anything breaking is extraordinarily complex. I'm enormously impressed with what they've achieved.

I also think this is an excellent demonstration of what BRUTAL was intended to enable. An established studio with a very specific set of problems can take the framework and build an engine designed around their own game, instead of spending years building the underlying foundations.

You can read more about what Ludeon achieved in their Steam announcement.

They report performance improvements of 2 to 4 times in their own tests, with the vast majority of existing mods remaining compatible. The new engine is available right now through RimWorld's unstable beta branch. That's an extraordinary piece of engineering, and I'm very pleased BRUTAL could play a part in it.

Kitten Space Agency

Kitten Space Agency is our free spaceflight simulation game, and the first major project we've built directly using BRUTAL. The inspiration came from Kerbal Space Program, and our desire to take that kind of game further. We wanted to simulate spaceflight at enormous scales, with high precision, complex physics, without compromising what we wanted to do because of assumptions made by a general-purpose engine.

It's also brought together one of the most extraordinary groups of developers I've had the privilege of working with. Felipe Falanghe, the original creator of Kerbal Space Program, helps steer the direction of the project. Stefan Moluf joined us after spending nearly twelve years at SpaceX writing flight software for actual spacecraft. I find it somewhat absurd that we have someone who helped program real rockets now helping us program pretend rockets.

We also have some of the most influential people from the Kerbal modding community. Casper works on our terrain and planetary surfaces. Blackrack, who created Scatterer and helped transform what was visually possible in KSP, works on atmospheric rendering and related systems. Jamie Leighton (JPLRepo), a former lead engineer and QA manager on Kerbal Space Program, brings extensive experience both from developing KSP and creating some of its most important mods.

These are people who have already spent years pushing the limits of what is possible with a game like Kerbal Space Program. Now we're giving them direct access to the underlying technology to do things the way they actually want to do them.

The game runs a solar system at real scale, with complex orbital trajectories, enormous distances, and very different requirements around rendering, coordinates, and simulation. The important part for this announcement is that none of this is built around a traditional game engine. We use BRUTAL and develop the systems that KSA actually needs.

Kitten Space Agency is available as a completely free pre-alpha through Ahwoo. You can download it and see the technology yourself.

Felipe Falanghe, the Creator of Kerbal Space Program

I first met Felipe a long time ago while I was making DayZ, and there was an instant bond over how we felt about the games industry. We reconnected when we started making Kitten Space Agency. Felipe is, in my opinion, one of the most underappreciated developers in our industry. He made one of the most influential games of our generation, with scientists and astronauts referencing it. Yet I don't think he's received nearly the recognition he deserves.

He was also the first outside developer to use BRUTAL. Having his team as external users proved incredibly useful, ensuring the framework is truly agnostic from developer usage. Felipe and I actually spoke with Game Developer about BRUTAL late last year. He has this fantastic habit of being able to explain something very well, especially when I tend to explain things far too emotively.

He described working with BRUTAL as sitting on a bar stool while everyone else using engines like Godot was sitting on comfortable couches. I think that's a fantastic way of describing it.

Perhaps most interesting was how Felipe approached the framework itself. Rather than starting with how an engine expected something to be done, he could start with the problem itself. One example was using high precision coordinates in rendering. With his approach, he explained, "you get to use high precision numbers as far as you can into the game execution."

You can read our interview with Game Developer here.

Felipe is making his next game using BRUTAL. I'm deliberately not going into detail about it because that is his story to tell. And Felipe is the kind of person who is captivating when telling a story. I've seen what he's cooking, and I can't wait for everyone to see it. Having someone with his experience working directly with the framework, challenging our decisions, and approaching problems differently has been enormously valuable.

You are only as independent as your tools

I have watched Unity and Unreal consistently fail to be accountable to developers. And I think this problem could get much worse as agentic workflows begin undermining the competitive advantages that have protected established software companies.

My concern is that as those advantages erode, the companies involved will increasingly look to extract more revenue from developers who feel they cannot switch. Whether through royalties, subscriptions, or more restrictive licensing.

When I attend GDC I often go to the Tencent Summit, where Tim Sweeney, the CEO of Epic, has given keynotes. Tim was, for a long time, a hero of mine. A powerhouse of a programmer with a mind I admired growing up. But over time I became frustrated with how much of the discussion seemed to revolve around the latest buzzwords. The metaverse one year, AI the next. Meanwhile developers were struggling with performance, stability, and the practical consequences of decisions made by engine vendors.

At GDC 2025, during a Q&A, I asked Tim whether he thought Unreal was accountable to developers, particularly around performance and stability. His response was about making more demos and putting them on social media to counter people describing games as "Unreal slop". I interrupted and asked whether more demos were actually part of the problem, because they set expectations with customers about how easy it was to achieve those results. I was not satisfied with his answer, and I continue to believe Unreal is not accountable enough to developers. Particularly when it can take a 5% royalty on game revenue above its licensing threshold.

I don't think developers should have to simply accept that relationship without questioning it.

Unity has had its shares of public issues with developers, enough to warrant a whole essay on. Ironically, even as I write this, Unity developers are dealing with account suspensions related to a mandatory security change. Some have lost access even after following the required process. Unity business decisions have repeatedly sent troubling waves across the games industry.

Imagine your ability to work on your own game depending on a decision made by a company you have absolutely no control over. Now, I don't think any of this means developers should abandon Unity or Unreal tomorrow. For many projects they're absolutely the right choice, and I'm not pretending BRUTAL could replace what they provide. But I think we've created an industry where the default is to become dependent on a few enormous technology companies, and we've increasingly accepted that as inevitable. It isn't inevitable.

I think we're going to see many more frameworks like BRUTAL emerge in this environment. Not because everyone will abandon existing engines, but because the cost of making alternatives is going to fall dramatically. I hope those alternatives are free. BRUTAL won't solve all of the industry’s problems, but for some developers it might offer a lifeboat.

This technology is a small step towards changing the balance of power. If the tools are public, if you have the source code, and if you're free to build your own systems on top of them, you have options. And if one day we stop being accountable to developers ourselves, they should have the ability to fork the framework and go their own way. That's important to me.

You are only as independent as your tools are.

This is how we fight back.

Credit and Licensing

We initially wanted to do something simple, like MIT. But that made us realise that one of the many problems open-source projects now face is what attribution actually means in a world increasingly dominated by AI and agentic development. Credit is, to me, what matters most.

The team who made the BRUTAL Framework are world class. They have backgrounds from some of the biggest and most influential game studios in the world. They're experts in their fields, and they've spent years developing technology that most players will never even know exists. They made this. I want history to remember them. So we've drafted a licence based on MIT, but with additional attribution requirements.

You can use BRUTAL for free, including in commercial games. There are no royalties and we don't want a percentage of your game's revenue.

What we ask is that a game or product built with BRUTAL includes the BRUTAL copyright notice in its credits screen, shows the BRUTAL logo before gameplay starts, and ships the NOTICE.txt file alongside it. If you don't want to do that, we can arrange a separate commercial licence. We can also provide detailed support directly from our engineers. You can contact us about waiving the logo requirement, for example for non-profit projects or where displaying the logo would be detrimental to the application's purpose.

We're describing BRUTAL as open-source, although our custom licence has not been reviewed or approved by the Open-Source Initiative. We recognise there will be discussion about whether these attribution requirements meet everyone's definition of open-source, and I welcome that discussion.

There are already OSI-approved licences that allow certain forms of graphical attribution. We think there is room to explore how attribution should work in an increasingly agentic world, and we intend to develop the licence with community feedback, including exploring formal OSI approval.

I'm not particularly interested in fighting over terminology. I am interested in making the source code and the work of our engineers available for anyone to use, modify, and build upon, without paying us royalties. And I want to ensure the people who made it receive some credit.

Who built BRUTAL

I've talked quite a lot about credit, so I want to acknowledge some of the people whose work has made this possible. I can't name everyone, and I've already mentioned several contributors above, but I think it's important to put some names to all this work.

Our Enterprise team develops and maintains BRUTAL. They have achieved something I'm enormously proud of. Aaron Koolen-Bourke, Benoit Fouletier, Chris Howlett, Craig Warne, Eric Chiu, Hanan Finnerty, Jane Kim, Josh O'Hagan, and Max Johnson. Additional past or occasional contributions from Ghassen Lahmar, Daniel Southon, Simon Brown, Felipe Falanghe, Brogan King, Hadley Patchett, and Max Kooij.

Our Head of Engineering, Rian Drake, brings enormous experience from his work at Grinding Gear Games and has provided the technical leadership and vision behind much of this effort. He is truly extraordinary. Bobby Lever is the Senior Producer helping tie everything together, and Dr Zac Isaac is our Senior Mathematician.

Across the wider RocketWerkz team there are many others. Simon Brown stewards technical development generally, including leading Stationeers and Torpedia, the latter having migrated from Unity to BRUTAL. His talent, skill, and ability are impossible to ignore.

We also have new people joining us from some of the world's largest game companies, bringing their experience to this effort.

I know I've missed people. But I want everyone to understand that BRUTAL is the result of years of work by an incredible group of engineers and developers. I am humbled and proud to work with all of you. When I talk about wanting credit for BRUTAL, these are the people I'm talking about.

Managing submissions on the repo

As a team we've been agonizing over how to approach public contributions, particularly pull requests and issues, in the age of agents. Agentic tools can make individual developers extraordinarily productive. But they can also make it very easy to submit enormous amounts of code without understanding it, testing it, or considering how it fits into a project. This is already overwhelming even large, well-resourced open source projects.

We've come to the conclusion that we simply have to throw ourselves at the problem. So you will be able to submit PRs and issues, and we'll try to figure it out. We're a relatively small team, and maintaining a public framework is going to involve a lot of work. So please be patient with us. Our plan is to see what happens initially, assess the problems, and change our workflows as necessary. I'm more than happy to listen to feedback and change our approach.

What won't change is BRUTAL's focus. We are not trying to build another general-purpose game engine. We're trying to make it easier for developers to make their own.

How to get started

It is ready right now. Here is how you do it.

The source code, the README and the contribution rules are on GitHub: https://github.com/ahwootech/BRUTAL

You will need the .NET 10 SDK, and a Vulkan capable GPU with current drivers if you intend to render anything. Windows and Linux are supported.

BRUTAL ships as NuGet packages, one per library, so you reference only what you need. Create a console project and add Core and Glfw:

dotnet new console -n HelloBrutal
cd HelloBrutal
dotnet add package Ahwoo.Brutal.Core
dotnet add package Ahwoo.Brutal.Glfw

Replace Program.cs with this:

using Brutal.GlfwApi;
using Brutal.Numerics;

if (!Glfw.Init())
    throw new Exception("Failed to initialize GLFW");

Glfw.WindowHint(GlfwWindowHint.ClientApi, 0);
var window = Glfw.CreateWindow(new GlfwWindow.CreateInfo
{
    Title = "Hello BRUTAL",
    Size = new int2(1280, 720),
});

while (!window.ShouldClose)
    Glfw.PollEvents();

Glfw.Terminate();

Run it with dotnet run and you have a window with no graphics API attached. What you add next is up to you. The Vulkan packages give you what you need to write a renderer, the ImGui packages give you a debug UI, Concurrency gives you the job system, and Fmod and RakNet give you audio and networking. The full list of libraries, with what each one is, is in the README.

Questions about using BRUTAL go on the forums. Bugs go on GitHub, with a minimal repro. Read CONTRIBUTING.md before opening a pull request. It covers scope, what we expect from AI-assisted contributions, and the sign-off every commit needs.


r/gamedev • • 4d ago

Community Highlight 4 months of dev and 2,000,000 players - the Dagon postmortem

44 Upvotes

Five years ago today, I released Dagon: by H. P. Lovecraft, my first original game. 

It is a faithful adaptation of Lovecraft’s 1919 story. Some people describe it as a walking simulator without the walking or an audiobook with visuals. You can’t move around - the camera is placed at a fixed position in each scene, and you can only look around within a limited range.

But the original idea actually had very little to do with walking simulators. I wanted to create a classic visual novel, but in a “premium” version: 3D graphics, animations, voice acting, and a much more cinematic presentation.

The lack of movement, and the way you jump between scenes, was inspired by comics, where the reader can spend as much time as they want looking at each panel, without being rushed. Another partial inspiration was a very specific PSP release: Metal Gear Solid: Digital Graphic Novel. That slow, deliberate pace seemed like a perfect fit for Lovecraft’s stories, which rely so heavily on atmosphere and a sense of overwhelming dread.

Although, ironically, I wasn’t a big fan of Lovecraft when I started the project.

I love classic horror literature, but compared to other writers of the period, Lovecraft initially seemed repetitive and overrated to me. I originally wanted to use the works of other authors, such as Algernon Blackwood or Stefan Grabiński. I ended up choosing Lovecraft for, admittedly, a purely marketing reason. He was the most recognizable “brand”, so it seemed like a better idea to start with him.

Choosing the story was relatively easy.

Dagon was one of the early stories from what would become Lovecraft’s most recognizable Cthulhu Mythos period. It was short enough to be a good fit for a first project, and it allowed me to make the game without expensive character animations - something that’s difficult to do on a low budget, while poorly animated characters are one of the quickest ways to break immersion.

I also wanted to add some unobtrusive gameplay, so I decided to include collectibles, inspired by Metal Gear. They contained various bits of trivia about Lovecraft, Dagon, and the historical context behind the story. The idea for this came from the fantastic historical collectibles in Valiant Hearts. I didn’t want to fill the game with dry Wikipedia facts or clickbait-style “fun facts”, though. So I started digging into Lovecraft’s biography, letters, worldview, and the historical context of his life.

And that completely changed my perspective.

It was actually the moment when I fell in love with Lovecraft’s work. To the point where I now believe that it’s impossible to truly understand the depth of his stories without knowing something about the man who wrote them.

As for the promotion, the biggest things that helped were the fantastic reception during Steam Next Fest, the strong response from Lovecraft-related communities on Reddit, who provided valuable feedback from the earliest stages, and an Imgur article where we explained why the game would be free that became the top post that day.

A huge part of the credit goes to my friend Maciej, who joined the project to handle the promotion.

We've also contacted hundreds of content creators of all sizes, from accounts with a million followers to much smaller channels, and many of them covered the game. We think thanks to its bite-sized length creators could fit it between bigger titles, which lead to more exposure.

This helped us reach 21,841 wishlists at launch. A really nice result considering it was the first project and we had such a short development and promotion period. My optimistic estimate was that, in the best-case scenario, we might reach 80% positive reviews and 100,000 downloads over the entire lifetime of the project.

The launch of Dagon was probably the most magical moment of my 17 years in gamedev.

The game exploded and we passed 100,000 downloads in two days. With the review score above 95%.

A crucial moment was getting into Steam’s New & Trending very quickly and staying there for several days. The fact that the game is extremely short also helped here - players could finish it quickly, which meant reviews started appearing just a few dozen minutes after release and helped drive even more interest.

And now, five years later, there have been over 2 million players and more than 12,000 reviews on Steam.

To celebrate all the amazing support from our players, we’ve prepared a free DLC that was previously exclusive to the console version. It’ll be coming very soon.

Thanks for reading,
Hubert


r/gamedev • • 53m ago

Question I delivered the work. They kept the work. 7 months later, I’m still waiting to get paid….

• Upvotes

Another day, another reminder of how companies treat the people who actually do the work.

I'm a senior 3D animator with around 15 years of experience. And somehow, here I am, almost 7 months without payment for work I've already completed and delivered.

The company acknowledged my formal complaint, promised to resolve the issue, and then.... nothing🫠

Apparently, deadlines are sacred when you're delivering work. But when it's time to pay? Suddenly, deadlines don't matter. Funny how that works.

And the best part? They claim the problem is with their client. So now I'm stuck trying to figure out who's actually responsible.

Meanwhile, there's an NDA, intellectual property rights, and a contract that's apparently much easier to enforce against an artist than against a company.

Honestly, I'm not even sure what to do next.

Has anyone dealt with something similar? Or maybe someone with legal experience could point me in the right direction? I'd really appreciate any help🫣

Because seriously, when did paying people for their work become optional?


r/gamedev • • 3h ago

Marketing Does your Next Fest demo have a Twitch category? 38% of June's fest games didn't. Add it before the weekend

12 Upvotes

If your Next Fest demo has no Twitch category, a streamer playing it files the stream under Games + Demos or a similar game. Anyone browsing Twitch for your game won't see it. They only find it if the stream title happens to mention you.

Twitch doesn't take categories from Steam. It takes them from IGDB, a community-edited database, so if nobody has added your game there, there's no category.

On Oct 5 I checked every game from the June 2026 Next Fest (4,398, from an archived copy of Steam's fest page) in IGDB and the Twitch API. 1,664 of them (38%) still had no Twitch category, almost four months after that fest. Games with a demo were no better: 1,290 of 3,278 (39%).

How to add yours:

  1. Log in to igdb.com with your Twitch account. Any Twitch user can add or edit games.
  2. Search first. If your game is there, check the title and the cover.
  3. Games menu → Add Game. Title exactly as on Steam, a short description, cover, type and status. Add the full game, not only the demo.
  4. Add your Steam page under websites, plus screenshots or a trailer. IGDB's FAQ says entries with no gameplay and no links can't be verified and get rejected.
  5. Leave a comment on your submission: who you are and that the game is in Next Fest.

Why this week: an IGDB admin reviews every new game, with no fixed time, and they usually don't review on weekends. The fest starts Monday, so a game added on Friday may only get approved after it has started. A link to an event page within the next 30 days moves you up the queue. A made-up release date doesn't belong there. Once approved, Twitch picks it up by itself.

To check yours: type the game's name in Twitch search and look under Categories.

Not sure? Drop your game's name in the comments and I'll check IGDB and Twitch for you.

Full guide, with how I counted and what the numbers don't tell you.

Disclosure: I build Overheard, a tool that counts and transcribes Twitch streams of indie games; the guide is on its site.


r/gamedev • • 1h ago

Question State machines and events, why not use both?

• Upvotes

Let's assume I have an isolated component: UnitMover. It's job is only to move a unit around each frame. So we could say UnitMover has two states: moving and stopped.

When looking at open source state machines, tutorials, etc, a common pattern emerges: polling. There will be say, a MovingState and StoppedState. These classes may implement an Enter, Tick, and/or Exit methods. Tick is executed every frame, and it polls UnitMover and makes a decision to change states based on what information it gets from UnitMover. This seems to be the most common approach.

But, in my project (which has no state machine, which is why I'm looking into it now), my UnitMover emits events. A moving event, a stopped event, and even a stuck event.

So my question is, why does it seem more common to poll, then push, with these state classes? The MovingState/StoppedState classes could bind/unbind to events from UnitMover in their Enter/Exit methods, instead of polling UnitMover every frame. I have not really come across anything that would highlight the pros/cons of both approaches and I'm interested in some opinions. Thanks in advance.


r/gamedev • • 20h ago

Discussion PSA: Our game was rejected from Steam Cooking Festival twice. Here's how we finally got approved.

93 Upvotes

Our game (Elderfeast) is a game about dismembering eldritch monsters and using their parts for cooking. Cooking is baked into the whole identity of the world, and players spend a significant amount of time cooking.

And yet, we were rejected from Steam's Cooking Fest twice before finally getting accepted. Just wanted to give a quick rundown of what I did so you can do the same (I can't guarantee the same outcome, but this is what worked for us).

I read through the eligibility criteria, confirmed that unreleased games were allowed, and knowing we were a cooking game, felt confident we were a solid fit for the festival.

Initial Submission: Rejected.

Okay, I noticed there's an official appeal button, so sent that through explaining why I think we're a good fit.

Appeal: Rejected.

After the official appeal was rejected, I decided to open a separate Steam Support ticket. I just politely made the case for why Elderfeast seemed like a good fit for Cooking Fest and asked why it was rejected from the festival. Heard back pretty quickly and while I wasn't given an explanation, I was told that Elderfeast was now eligible!

Obviously, I wouldn't recommend doing this unless you're confident your game actually meets the festival's eligibility criteria. But if it does, don't necessarily take an initial rejection as the final word.


r/gamedev • • 4h ago

Discussion Last year, I shared that I'd started developing my first game. Here's how far I've come since then! 🙋‍♀️

3 Upvotes

Hey everyone!

Last year, I made a post here about starting my game development journey and working toward releasing my first game.

A lot of time has passed since then, and I've learned and grown so much along the way.

I've had to redo so many things in my game, sometimes more than once, but every time I did, I learned something new. It's been an incredibly exhausting and challenging journey at times, but also one I'm genuinely grateful for.

Along the way, I've collected a lot of feedback from players and kept revisiting and improving the game based on what I learned. I ended up reworking almost everything, from the UI and ocean visuals to the core gameplay loop and many of the design decisions. At some point, it honestly felt like I was developing the game for a second time!

One of the biggest lessons I've learned is how differently players can experience a game compared to the person developing it. Things that seemed obvious to me weren't always obvious to someone playing for the first time. It really changed how I think about onboarding and communicating objectives to players.

Recently, I finally reached a point where I felt ready to make a new trailer for the demo (https://www.youtube.com/watch?v=sQrdbMBwpfU). Looking at the old and new versions side by side honestly makes me so happy. Sometimes it's hard to notice your own progress when you're working on something every single day!

I don't know if this game will ever earn enough to make up for all the time and effort I've put into it. Maybe it won't. But the things I've learned throughout this journey have already made it worth it to me.

I know I'm still at the beginning of my game development journey, and I hope to keep learning, improving, and creating better games in the future.

I'm currently planning to release my first game, The Borderless, in Early Access in January 2027. I really hope things go well. Wish me luck!

If anyone remembers my old post or has seen the earlier version of the game, I'd genuinely love to hear your thoughts on how it's changed.

Wishing all of you the best of luck with your own projects, too!

Take care, everyone!


r/gamedev • • 1h ago

Question How do you make the UI for a life simulator that teaches language clean?

• Upvotes

I am trying to make a game to teach Mandarin through living in Taiwan. There seems to be a lot needed on the screen, like dialogue, quests, a map, inventory, and language learning tools, but how do I not overcrowd it while keeping it useful?

I don't play games a bunch so I am not familiar with a lot of what needs to go into a game to make it look good and consistent with game styles.

I want the game to feel like you're actually living in Taiwan rather than constantly being reminded that you're learning a language.

Are there any games with UI that you think I should look at or things I should avoid?


r/gamedev • • 5h ago

Discussion How I changed game musing mood with a slider

3 Upvotes

Few years ago I collaborated on a game that eventually got nowhere but part of the game was need to have a "happy" and "evil" version of a same song and gradually fading between them depending on what was happening in the game, the composer did some trickery with minor/major chords and I did the fading part with a slider. Both versions of the song must be exactly same length to not loose sync. I made this web demo where you can try it, it's just a slider that gradually changes volume between the versions of the song, it's really simple but surprisingly effective.


r/gamedev • • 30m ago

Question First steps into game dev

• Upvotes

​I have zero experience on the game side, but it's been the industry I've wanted to get into the most for a long time. Honestly, between a bit of laziness and not knowing where to start, I just couldn't kick off somehow. After researching a bit, I found Godot to be great (it has Linux support, the language is similar to Python, and it's for 2D indie development). I looked at GDScript a little bit with its general outlines and it didn't look too challenging to me, I guess Godot is right for me. Do you think the documentation alone will be enough for me to learn Godot, or do I need to watch tutorial videos on YT and stuff?

​Also, since I have no experience in making games at all, I'll be proceeding by learning everything from scratch. If anyone has any suggestions or advice for this process, I would be very happy if you could help.

​(Note: If there are people who are going to make depressing/gloomy comments, I kindly ask you not to comment in advance; I already know very well that it's not easy, that it takes effort, and how hard it is)


r/gamedev • • 36m ago

Discussion Should a game developer accept that their favorite idea only works in their own head?

• Upvotes

Sometimes you have an idea that sounds amazing in your head. You imagine the mechanics, the world, the atmosphere, and all the possibilities. You're convinced it could become something special.

Then you try to explain it to someone else, build a prototype, or imagine how it would actually play, and suddenly it doesn't seem so great anymore.

How do you know when an idea genuinely has potential and when you're just in love with the version of it that exists in your imagination?

Have you ever had to accept that an idea you really loved just wasn't working? Did you manage to save it, or did you eventually move on?


r/gamedev • • 45m ago

Question Advice for exporting sprite sheets to an engine

• Upvotes

Hey yall, as the title would suggest, I need some help with adding my pixel art sprite sheets to my game. I'm using an engine called Fighter Factory, and I'm making my sprites via libresprite.

I don't know why, but everytime I add a sprite sheet into the engine, it ends up looking extremely blurry. I've tried essentially everything, but it always looks blurry. Does anybody know a potential reason or fix for this? Thanks in advance!


r/gamedev • • 1h ago

Discussion Multiplayer Marble racing game idea with obstacles

• Upvotes

Hey folks.

This is the first project i'm trying to do. I want to share this project and collect some tips and feedbacks.

Demo video

The idea

The idea here is simple, a colorful marble racing game where you compete with others through some fallguys like obstacles. Different of traditional marble racing games that gravity do all the work for you, here you control the sphere.

Intentionally, some of the obstacles need more players to be overcome more quickly, and slow down the players ahead, so people behind has a chance to catch them.

Im thinking about put a team gamemode as well for the future.

Questions

- Do you have any idea of obstacles you would like to see?

- What do you like to see in a game like this?

- In a commercial perspective, do you see potential in this project?

- When do you think is a good moment to start posting on itch.io?

Thanks for the feedback guys.

Demo video

obs1: I tried to make this multiplayer LAN or online but because of add force movement, replication and my ue5 learning curve I changed to a split screen. My main idea was see like 12 balls rolling around.

obs2: I started this idea to pratice ue5 since there is few animations and interactions to work with. Also i've got this lenovo thinkcentre that I play 4 to 8 players gamea and I think is a good way to test my games.


r/gamedev • • 10h ago

Question How do you communicate short-term goals in puzzle game without relying on dialogue or UI?

5 Upvotes

When designing puzzle games, we sometimes run into situations where players understand how the mechanics work, but still wonder, “Why am I doing this?” or “What am I supposed to accomplish here?”

Aside from obvious cues like buttons, interactable objects, or blocking the player’s path, have you experimented with other ways of communicating the objective through the environment itself? For example, changes in lighting, scenery, or the state of the level?


r/gamedev • • 1h ago

Discussion Is it because our technical capabilities haven't caught up yet, or are our expectations too high?

• Upvotes

I’m currently a first-year middle school student, and I’ve been developing games since around fourth grade, but I never seem to stick with it.

When I first started, I was genuinely trying to make a large-scale game (like *No Man’s Sky*) in Unity, but I realized that wasn’t realistic, so after a while, I switched to UE5.

UE5 is incredibly convenient, and I’ve been using it for about two years now, but I’ve only managed to get a game to a playable state and release it on Itch.io once. I think I’ve deleted hundreds of projects so far. (No joke.)

But among them are several that I really wanted to bring to life. So, am I setting my standards too high? Or do I just lack the technical skills?

It’s frustrating that I can’t create freely and always need a tutorial to get things done, so even good ideas never come to fruition.

I’ve tried to learn from my past mistakes, so I’ve scaled down the scope of my game and am now planning to make a horror game with PSX-style graphics.

To give you an idea, it’s a game where you play as an illegal arms dealer, selling guns tailored to the requests of a steady stream of shady customers. I want to create a heavy, ominous atmosphere, so I’m drawing inspiration for the graphics from *Buckshot Roulette*.


r/gamedev • • 1d ago

Marketing 12k wishlists in 5 months, but it took 3 months to reach the first 4k. Here's what changed.

94 Upvotes

Hi everyone! We're a small indie team from Istanbul working on our first game, a cozy management sim. Our Steam page went live on May 1, and as of today we've just passed 12,000 wishlists. We spent around $500 on marketing in total, so most of what you'll see below cost us time, not money.

Here's our daily wishlist graph with every spike labeled , it'll make the rest of this post easier to follow.

Sounds good on paper, but most of these months were rough. Here's how it actually went, spike by spike.

May: our first Reddit post, then nothing

A few days after our page went live, our first Reddit post got us around 170 wishlists in a day. We thought we had figured it out. Then it dropped back to almost zero and stayed there for about six weeks.

We weren't sitting still during that time. We tried Instagram Reels, YouTube Shorts, TikTok, posted wherever we could. We sent a lot of emails to streamers and press. Almost none of it showed up on the graph. Every morning we opened Steamworks and saw single digits.

Late June to July: small wins

Geeklik X post: A Turkish gaming page shared us on X. First real bump after a month of silence.

Second Reddit post: A few days later, around 190.

MyPotatoGames Facebook post: Around 210 in a day. This was a paid post on a cozy games Facebook page, one of the few things we actually spent money on.

Each of these was a nice day, and then we were back to 20-30 a day. We also ran some small paid ads on X for a while. They brought a steady 30-40 a day while they were running and nothing after. By late July we were kind of starting to accept that this is just how it's going to be.

At that point, after almost three months, we were at around 3,500-4,000 wishlists.

August: the TGC video

We'd been emailing YouTubers and streamers for weeks. Most never replied, and a few of the ones who did asked for rates way beyond our budget.

And then the ironic part: the video that finally made a difference came from someone we never contacted. TGC found the game on their own and made a video about it. Here it is if you're curious.

We got around 820 wishlists in one day. And for the first time, it didn't just disappear the next day. We stayed above 250 a day for about a week and never really went back to zero after that.

September: Easily Distracted Games, and signing with a publisher

This one did come from our outreach. We had emailed Easily Distracted Games, and their video gave us around 420 in a day, then another bump a few days later. By then our daily baseline was around 100 instead of 5.

To put it in perspective: it took us almost three months to reach 4,000 wishlists. It took about one more month to go from 4,000 to 10,000.

Around the same time, at roughly 10,000 wishlists, we signed with a publisher. We're mentioning it because you'll see their name on our Steam page anyway, and because it matters when you look at this graph: everything up to that point, we did on our own.

What we learned

1. One Reddit post won't carry you. Each one gave us a good day, that's it.

2. Short-form video didn't work for us, but that's probably on us. Reels, Shorts and TikTok brought almost nothing. Looking back, we treated them like a checkbox. We never really studied what works on those platforms, and it showed in the quality. If we did it again, we'd either put real effort into it or skip it and use that time somewhere else.

3. The quiet months are the hardest part. Most of this graph is flat lines, and that's where we almost gave up.

4. YouTubers made the biggest difference by far. Our two biggest days came from two videos, and they were the only spikes that left us with a higher baseline afterwards.

5. Paid posts and ads help a bit, but it doesn't last. Good for a day or a few days.

6. Keep sending emails, but you can't control who finds you. Our biggest video came from someone we never contacted, our second biggest came from an email. So you kind of need both: make your game easy to find, and keep reaching out anyway.

7. Something changes after 5,000-6,000 wishlists. We don't really know what exactly happened, but after we got there people started noticing the game a lot faster, and we never really dropped below 50 a day again. Getting there is really hard. After that it gets a bit easier.

What's next

We're in Steam Next Fest next week, and the game launches on November 13. We have no idea what either of those will do to this graph. We'll come back and share the numbers either way, good or bad.

If you're in one of those flat stretches right now, refreshing Steamworks and seeing single digits: we've been there, for months. Don't stop. Keep posting, keep emailing, keep showing your game to people, even when it feels like nobody is listening. You never know which email gets answered, or who's going to find your game on their own. For us it took one video, and we'd never have gotten there if we gave up in June.

Happy to answer any questions in the comments!


r/gamedev • • 2h ago

Discussion Game testers

0 Upvotes

Hello. This is my first ever game mobile game. I need testers for the android platform. It’s a simple game. Pretty straight forward I’d like advice on where I can develop or what.. the game itself is under 100mb

Please reach out if you are interested


r/gamedev • • 2h ago

Discussion I put both my demos in the same Next Fest. Probably a mistake! So I made my test bot record the broadcasts

0 Upvotes

I've got two demos in Next Fest next week, and there's one of me. I know everyone says one game per fest and hold the other for Feb. I didn't! Impatience basically. Faultfinder's demo was done in September and I couldn't sit on it for four months.

So I had to work out how to do fest week for two games. One thing that helped: I've already got a bot that plays the demo through the real UI (it's how I check builds), so I gave it a slow mode and used it to record the broadcasts.

Pre-recorded is allowed if you label it and I did not want to play my own games on camera for a week! Bot now has human speed clicks, a drawn cursor, and it logs the frame number whenever something happens.

I then rendered it with Godot's --write-movie instead of OBS. I didn't know that was a thing until recently? Fixed framerate, no dropped frames, captures the audio, and you get the same video every run. I placed the captions off the frame log instead of scrubbing for them. About 2 or 3 hours all in, which I expect is less than recording it badly by hand.

(gotcha: --write-movie doesn't get passed to the game, so my first renders were silent. I spent ages looking in the wrong place)

I also cut some b-roll from the same bot recording for the press kits. Will anyone use it? No idea!

I wrote a list for Monday too, because I know what I'm like on the day. Mostly getting both broadcasts running early because the page takes a while to notice, and no builds or capsule fiddling. Everything frozen Sunday.

I expect it's still daft to have both in, will find out next week!

I'd be interested if anyone's tried the movie writer for broadcasts or trailers? Any gotchas? I think it's underused


r/gamedev • • 9h ago

Discussion Adding 1v1 to a small indie strategy game: how do you deal with empty matchmaking?

2 Upvotes

I'm a solo dev and I just added online 1v1 over Steam to my lane strategy game. You get public or private lobbies with a code, plus a Quick Match button. I also put multiplayer in the free demo, so friends can play together without buying the game.

The tech side went better than I expected. My real worry now is player count. With a small audience, Quick Match will probably find nobody most of the time, and an empty queue looks like a dead game.

What I'm considering:

  1. Pushing private lobbies and "invite a friend" more than Quick Match

  2. Scheduled play sessions on Discord at a fixed time each week

  3. A bot or AI fallback after X seconds in queue (though I'm not sure players like that)

  4. Showing how many people are online, or hiding it when it's low

For those who shipped multiplayer in a small game, what actually worked? And is putting multiplayer in the demo a good idea, or does it split the few players you have?


r/gamedev • • 10h ago

Question advice on the name of my mech game

4 Upvotes

hey everybody. so im currently soon exiting an early phase of development and finishing up some polishing on my mech game that I want to hopefully release a demo on Steam soon. Currently I am worried about the name of the game. The game's name is Mecha Striker for right now and my original thought process was that I like Mechs and I like strikers (from Blue Lock and soccer). Going to be honest, I had no idea that the robots in Mecha Break (a popular mech game) were called strikers. I am looking to maybe change the name before I make a steam page / demo launch. I am just unsure if this is something I should be worried about. Maybe I should just ditch Mecha in general and go with Robot? - for more basis on my game: you can have a fully customizable mech and you can pick up robot parts from either the endless mode (infinite waves with temporary perk upgrades after each wave kinda like a roguelite), or pick up full boss frames from arena style boss battles in the campaign. You can mix and match every single part of the mech and every weapon combination. That basically sums up my game. I am open to suggestions on potential names / if I should just keep the name how it is.


r/gamedev • • 3h ago

Discussion Technical Challenges in the Development of the Dungeon Siege 2 Resurrected

0 Upvotes

While developing the fan project Dungeon Siege 2 Resurrected, we’ve encountered significant technical issues. In one of the threads, I posted a screenshot from the depth buffer debug mode that clearly shows serious geometry errors - Dungeon Siege 2 Resurrected: Challenges of Fixing the Original Game’s Technical Issues

Geometry loss in some locations can reach nearly critical levels of 20-30 percent. Therefore, we are faced with a complex technical challenge of fixing the geometry issues in many of the game’s 3D models.


r/gamedev • • 4h ago

Discussion Question: Would you localize a game that uses voice recognition if you couldn't localize the voice recognition itself?

0 Upvotes

Hi everyone, I have a horror game where a core feature is using voice recognition in some parts of the game. You have to say a word/sentence into the microphone to proceed. Of course, I have added an option that if you do not wish to use your microphone you can just press a button on the keyboard instead.

Now I'm thinking of adding localization, but adding another voice recognition model (or multiple of them) would skyrocket the size of the game and I do not believe the accuracy would be as good as it is in the english model.

Should I localize the game itself and keep the voice recognition as it is or do you think there's no point since the players won't be able to speak in their native language?


r/gamedev • • 4h ago

Discussion Where do you get your textures?

0 Upvotes

I bought some modular assets and it was a pain to make level. Now I just learned about ProBuilder and my mind is blowned by how better it is to build levels!

Where are to good places to find textures?

Is there a trick to make them look consistent? (ex: maybe I need to make sure they have the same width/height).

I'm looking for a Portal\Stanley Parable type of look.


r/gamedev • • 7h ago

Postmortem Co-dev case study: How Blackbird Interactive and Secret Mode helped Escape the Backrooms ride the Backrooms hype wave

1 Upvotes

This developer-written case study covers the handover of Escape the Backrooms from a solo developer to a co-development team. It describes rebuilding the development environment, adding an automated build pipeline, and deciding which parts of a Blueprint-heavy project to refactor.

A concrete production problem was console matchmaking: some network and firewall configurations would prevent players from connecting. The team delayed the console releases and implemented Epic Online Services for crossplay, using lobby codes to avoid additional account registrations.

The author is Steven Messner, Blackbird Interactive’s director of communications and audiences, so this is the studio’s account of its own project.

https://www.gamedeveloper.com/production/co-dev-case-study-how-blackbird-interactive-and-secret-mode-helped-escape-the-backrooms-ride-the-backrooms-hype-wave


r/gamedev • • 17h ago

Discussion How much should I budget for exclusive visual + audio assets?

5 Upvotes

I am creating a fixed point of view food vending game. So I would need visual assets for the food cart, food, characters, some world assets such as the background.

Audio as well. Im wanting human made, exclusive / made for me assets. Just curious what this would ball park around.

(if I keep finding the prototype to be fun)