Hacker News new | ask | show | jobs
by ca6d8815 1694 days ago
> Could you elaborate on that?

I can try, but I may not do the idea justice.

When I was working on the game, the only thing that mattered was the _game_. Was it fun? Intriguing (we are a story based walking simulator)? Original? In line with our story structure (we wrote the story side by side of making the game because sometimes the best words on paper just couldn't be translated by us to a player experience)?

You make changes non-stop to iterate and tweak and perfect. You learn quickly that someone's gut feeling can kill an entire chapter of the game, or change the ending completely.

At some point, my code was just a tool in making the game. I didn't see myself carrying this codebase further to other projects (we built the game on Unity so already writing an engine was "solved"), so it just turned into working prototype after working prototype.

Your code doesn't have to solve for all the corner cases you may miss in QA, because in our game the state was almost guaranteed at different parts of the play through. You need to remain extremely flexible with your design and code because its possible the game shifts drastically under your hands, more so than I've ever experienced at an already-chaotic "big" company.

So it just stops mattering that much. At least for us. We didn't have a team for code (just me), or a separate art team, or a separate story team, or even a single game designer throughout the project. Everyone wore almost every hat, and you lose the grace of planning and process.

It's more a feeling than something I could quantify exactly. An interesting reflection is that I became more rigorous and detail oriented at the day job after the wild west of my game code.

1 comments

I think I know what you mean, but I'll counter and say that instead of just focusing on completing the game one should pay some attention to longevity and re-usability of your codebase.

For example I have things like a KD-Tree implementation/wrapper that will always be useful, a maths library, a HexGrid component I use a lot, wrappers for rendering a lot of things fast, an entity system for units/objects, a generic framework/layout for code/objects in Unity etc.

But having said that, it really depends on the type of game that you're making.