This marks the beginning of my new passion project. As per usual, many different fields in software engineering pique my interest. I aspire to get to know different fields and continue to grow as a software developer. Beforehand, I thought I’d get to build a web platform and also a game.
I decided to combine the two ideas into one instead of stressing myself out and doing too much in my time. Thus, I started looking for inspiration online and checking out what other engineers were up to. The idea of building a text-adventure game snuck up on me and stayed engineer with me.
For the uninitiated, a text-adventure is a genre in which you interact with the game through text. Usually, it is the kind of game where you’re in a fantasy context, but it’s up to the creator. The game designer(s) must go through great lengths to engage players. You have to rely on a player’s imagination and interest. They will visualize the world and read your text to immerse themselves in your game.
Currently, I’m still thinking of how the game will look like even though there won’t be any rendering done of some sort. Currently, I am focused on gathering my ideas for the game in a notebook. Also, I’m observing how other game developers have implemented their games. Once satisfied, I will be able to move forward to realize the game mechanics. As for any other engineer, one problem I face in projects I’m passionate about is scoping. A key point of this challenge will be to manage my scope for the game.
I’ll build an initial minimal viable product (MVP) of the game. An MVP also provides the opportunity of getting quick feedback from potential users. Down the line, that makes the project more manageable. From there, you can adjust your implementation based on feedback. Treating side-projects as business endeavors make it easier to create a quality product. Doing so, we make sure to deliver a product we’d be proud of selling to clients.
A text-adventure game presents itself as an excellent opportunity for me. I usually spend my time building tools and back-end services in applications I work on either for me or work. There has to be some sort of client, but most of the implementation resides in the game server. A goal of mine is to design and create fun mechanics to keep the player engaged in the game.
Like I mentioned before, this will be an online web application.
Most of my efforts will be put onto the back-end infrastructure with F#. Instead of a console app, you can expect to see a web interface built with React.js & TypeScript. I get the opportunity to continue developing my front-end abilities. That’s a goal of mine this year.
In the next post, we’ll discuss the game design and the game mechanics I intend to realize. You can expect me to share snippets of code and explain the main design decisions that were taken. To get a complete picture of the project and see what I’m up to, you can follow the development of the project here.
Thanks & see you next time,