I’m out of the professional coding world for ten years, but it hasn’t stopped me from creating a BBS-style online text adventure game in the spirit of TradeWars 2002 and Legend of the Red Dragon using PHP and MySQL.
I remember well the specs of my first brand-new PC in the fall of 1993 that cost me $3,000: an Intel 486DX processor with 8MB RAM, 340MB hard-drive, and a USRobotics 14.4K modem. With that PC came the joy of exploring local dial-up BBS systems, namely the Trenton NJ area It’s All Rock ‘N Roll and the online text adventure games the SysOp offered his members.
I lost interest in console gaming in my late teens which I attribute to coinciding with the time I started learning how to code. I think this took the mystery out of the games for me. But I never lost the special place in my heart for BBS-style online text adventures.
During this past winter of 2016-17 I felt nostalgic for the bygone era of personal computing. To kill some time in the evenings I installed a DOS emulator on a second-hand netbook and loaded a copy of the WWIV BBS system to see if I could get it to run. It did. While I knew there was no merit to keeping that setup, I turned my attention to creating an online, text-based, space exploration game playable in the browser across laptops, tablets, and phones. (You know, for old people like me who aren’t into button-mashing games.)
Having no expectation that I would be creating a marketable game product, I selected PHP and MySQL with the intent to experience different technologies and, quite possibly, release the source code as an open-sourced, community-developed project in the future.
I designed the game where players move across space “sectors” using X,Y,Z coordinates. The game world builds itself as a sector is first explored, which adds randomness and interest yet saves me the headaches of trying to pre-populate sectors with objects that players can explore.
From a technical perspective, the most challenging aspect I encountered was tweaking CSS and HTML to render and resize across different browsers and devices. I’m happy that I managed to get the single user interface to work across a laptop, tablet, and smartphone. I’m disappointed that it is twenty-years later and there are still big differences in the way each major browser renders HTML.
The phpMyAdmin software is a gem! I had forgotten much of my database administration skills in the past ten years and would be hopelessly stuck if I had to rely on creating database tables in the console window.
I edit my PHP code in Notepad++, a great open-source IDE product whose multi-document tab interface and syntax highlighting makes development much easier for someone learning a new development language.
Based on the little attention I currently give this project, I am probably six to twelve months away from this game being considered “enjoyable.” What pleases me is that I surprised myself in getting it to actually work as well as it did in my mind.
Here’s a screen recording of the game in action.