Where Curiosity Leads You
By: Steven Bui
Tags: Software Development, Learning, Programming, Dreams, Inspiration

Image by Marta Matyjas from Pixabay

Whenever someone asks me about how I got into software development, it would put on a big smile on my face because I would tell them a funny story about a naive twelve-year-old kid who followed his curiosity. In a way, it’s my own unique origin story that I look back upon a time that I plunged deep into my passion and chased my curiosity to achieve a dream. I hope this story inspires you to follow your curiosity.

If I can do it, you can too

My Software Developer Journey

Back in the late 1990s before online graphical games became immensely popular, there were online multiplayer text-based dungeon games called “M.U.D.,” which is short for Multi-User Dungeon. That’s a type of game and not the game’s name. I have long forgotten the name of the game that I played. Anyways, playing the game required a lot of reading and typing because you needed to read what was happening and type out what you wanted to do. Fundamentally, it’s an MMORPG (massively multiplayer online role-playing game) without the fantastic graphical user interface and ability to use the mouse.

There I was playing the game with my friends, and I thought “Hey! What if I built my own?” so I began to do some research into what it would take. Youtube “how to” videos didn’t exist back then, which meant I had to visit a lot of various forums and websites scattered across the internet. The first problem I encountered was choosing a code base because there’s a large variety of different code forks of M.U.D. code bases. Each was customized differently and had a different explanation of how their code base runs. I forgot which one I chose, but after deciding, it was not difficult to download the code base because they are open source.

WAMP? LAMP? What’s a LAMP? Some furniture?

The second problem encountered was how to set up the code base and the right environment to run the software. Idiotically, I downloaded the LAMP (Linux-Apache-MySQL-Php) package, and I spent a week going down the Cygwin route to run Linux programs on a Windows machine. Eventually, I found the WAMP (Windows-Apache-MySQL-Php) package and found someone who wrote up instructions on compiling the code base on Windows. It was much easier to set up a WAMP package than a LAMP package on Windows. Everything lined up afterward, and I successfully had a localhost version that I could start tinkering.

The fun part began with changing the code and adding new capabilities to the stock version. The community had a bunch of code snippets and tutorials on how to make code changes. While making changes, I self-taught myself the programming language C with a used copy of “C for Dummies” and understanding the changes I was making. At one point, I swore that semicolons and curly bracket were my banes of my existent with every syntax error I ran into when compiling the code. I remember posting on forums asking for help about why something didn’t compile correctly or a problem I couldn’t solve. There was always someone who would chime in on things to try to resolve the issue.

The hardest part came next, which was creating a theme and a story for my dungeon world. My other interest is anime, so I created an anime theme world full of Non-Player Characters of famous anime characters of the time. Adding new areas into the game wasn’t too difficult as there was a dungeon room editor that did the heavy lifting. The tricky part was writing all the room’s descriptions and planning the area out. The total time I spent was close to a few months to change the default medieval theme into what I wanted.

Toward the end of development, I realized that I couldn’t possibly host a M.U.D. on my not always online 56k dial-up connection, so I had to find host server. The great opportunity I had was I became friends with the creator of the game that I was playing, so I asked him about hosting services, and he introduced me to his server host who I talked to about having her host for me. She explained that the service costs $60 a year which I ended up naively sending cash in an envelope. Luckily, the money arrived at the server host’s address, and my hosting account got up a week later.

After uploading my customized code base to the server, there was one last small set back that occurred. The server was a Linux OS, and I had no idea how to work in a Linux environment except for my Cygwin experiment. Once again, I went online to read it up and purchased a book, “Unix for Dummies,” to learn how to use Linux. In hindsight, that was the wrong book, but I didn’t know that back then. Luckily, Linux is based off on Unix, so the environment is quite similar. The code compiled without a problem with the gcc compiler on Linux. Everything finally came together, and I finally launched my game!