---
title: "My First Game Development Experience"
date: 2023-07-07T11:07:55-07:00
draft: false
tags:
---

So, I tried making a text adventure game in C, and it was a dumpster fire. Let's talk about that.

## What is a text adventure game?

A text adventure game, or interactive fiction as it's sometimes known, is a type of game where the player inputs commands, similar to a [terminal](https://en.wikipedia.org/wiki/Terminal_emulator) to progress through the game's story. Here's an example of what that looks like:

```
You find yourself in an open field.

You see:
A lamp
A burly guard
A cave entrance to the east

--> get lamp

You get the lamp.

--> 
```

## Why would I make a text adventure game?

My background is primarily in programming and writing, *not* art. Thus, a game that minimizes art and emphasizes programming and writing made the most sense, and that's exactly what a text adventure game does.

## Why would I write it in C?

C is a great programming language for portability (for example, I could port the game to the Commodore 64 pretty easily using [cc65](https://cc65.github.io/)), and I could do basically everything I needed to using just the C standard library, since this game is all about printing text and accepting user text inputs.

## The problems

I bit off way more than I could chew with this game, as a text adventure game like this has a lot of possible things that could happen and needs to have lots of content in order to be even slightly fun. Not a good idea for a first game.

In addition, the codebase wasn't really designed with modifying the game data mid-development in mind, as doing so would require me to rewrite a ton of game logic that relied on specific game data being available to read.

I learned some valuable lessons in making this game, and will try making a game with a smaller scope in the future.
