Choose an engine and stick with it! (Why and how I went from my own engine, to UE4, and back again!)

Published March 20, 2024
Advertisement

A History Lesson of a very old game

Hello all!

It has been a very long time since I attempted to yet again deliver my role playing game The Seven Spells Of Destruction to the waiting hands of gamers. Several times I have tried, and failed with varying degrees of success.

Let's recap on all the various attempts of creating this game. A timeline would be useful, so here it is:

  • 1993: This game was created by me at age 13 as a 1480 paragraph novel, similar in inspiration to "Fighting Fantasy" books by Steve Jackson and Ian Livingstone.
  • 1996: The game book was typed up into inter-word on BBC Master 128 Computer
  • 2000: The game book content was transcribed into Microsoft Word 98
  • 2001: Word 98 content converted to a web based game, completely single player. C++ backend.
  • 2003: Multiplayer features added to the game. ssod.org doman name registered. Peak player count in 2005 was 600 players.
  • 2014: Start of development of a 3D single player Seven Spells game in Unreal Engine 4

After nearly ten years of languishing on my hard disk, I had decided that the Unreal Engine version of this game was untenable due to many reasons. Here are the main ones:

  • I do not have the budget, or artistic talent to deliver a game of such huge scope
  • I do not have enough time in a human lifetime to complete and deliver it as the scope dictated

In short, feature creep, and the massive goals of a graphical 3D world of this nature proved too much, and I would not be able to deliver this. As Boromir once said: “Not with ten thousand men could you do this! It is folly!

So, where did i go from there? Would I let this project just die? Of course not! Keep reading!

Current Status

As you can see in the timeline above, in 2003 this game was a multi-player web based game. At its peak, it had 600 active users. The game was written (very badly) in C++. This seems to be a recurring pattern in delivered games, their code is ugly and unmaintainable but they were delivered and in that respect, were a success! Here are some screenshots of the old web version, I do not apologise for the poor quality of the content, things were very different in the early 2000s.

In days of old, when nights were bold, and people used IE6…

Considering that this version was a success, was finished, and was released, it made sense to pivot to this again instead of a 3D world.

Over the past four years I have been developing and maintaining a Discord Bot called TriviaBot which has become a commercial and critical success - it is visible to over 45 million users on over 200,000 Discord servers. This is of course, not The Seven Spells of Destruction, but the experiences in creating and maintaing this, learning to scale a multi player experience on this platform and make it commercially viable are important lessons that i can carry forward to this project.

With this experience I decided just before Christmas 2023 to rewrite/refactor the 2003 code into a Discord Bot. As you can see from the old code, it was extremely bad, full of exploits and vulnerabilities, and basically needed to be thrown away to make a new version. The new version is much cleaner C++20 code and uses the highly scalable D++ Discord Library (another of my creations, built to scale TriviaBot on cheaper hardware).

Following in the footsteps of TriviaBot and most of my current projects, I have chosen to make the C++ source code open source, as the true value in these games that makes the money and makes it unique and commercially viable is not in code, it is in the data - therefore the database content of game world locations shall as always remain closed source. The new game, written to scale through Discord, looks very different:

Technical Implementation

The game locations are implemented in a HTML-like language I have called Paragraph. Each game location contains textual description of its content which is readable by the player, may optionally also have an image, and has link buttons that the player interacts with to choose game actions. Any location with zero interactable locations is considered a death location which instantly kills the player. There aren't many of these, but it is the style of this game that these types of location do exist. The Paragraph language also supports embedded server-side javascript via means of the Duktape library. As a game admin, I am able to edit and create new game locations and amend existing ones via a web control panel. At its simplest, a location just has some labelled links to other locations:

Further Down the Rabbit Hole…

At its more advanced, a location may have much more detailed code such as this code below:

The Paragraph language intentionally does not support loops as a language structure, only branching (you can do these via embedded javascript, but this is not encouraged!) as a loop could cause scalability issues when many thousands of users play at once in the future.

Full documentation on the language definitely needs some work, so that i can take on volounteer moderators/content creators later on.

Artwork Production

As I am not an artist, nor could I deliver over 3000 images for this project, I have made heavy use of AI generated content for location images. Items such as logos, icons etc have had a lot of manual work done, and I have also reused previous paid commission work (such as the main logo of the game shown in the trailer below) in the new project. This has allowed me to deliver the project on time, and within a sane budget. At present, I have spent £90 on subscription credits for Midjourney over three months to generate AI content, which has worked out a lot cheaper and faster than commissioning artists to create this content. This technology is evolving leaps and bounds, allowing such things as uploading a character reference image so that all images of that character are correct and similar, being able to retouch regions and change the prompt of selected/lassoo'd regions - I have had to use this a lot to ensure the images produced meet my needs, this is not something where you can just leave the system to do its thing and trust in it. If you just leave it to create content without a human feedback loop, it will create a complete mess.

Text location content

The text location content is the original game content from 1993, updated in 2003, and then improved again now. There is very little in terms of additional work needed doing here, as the 3000 or so locations were already complete, play-tested and balanced.

Multiplayer

The multiplayer elements are lifted almost directly from the 2003 version, and redone within the limitations of Discord's simple UX. For example, players can:

  • Trade items in the game world
  • Fight each other PvP and loot each other's corpses
  • Join guilds where they can communiate at distance
  • Chat to each other if they are in the same game location

Marketing

The game's marketing is funded directly by the revenue of TriviaBot, allowing me to place adverts on YouTube, Reddit, and various Discord related websites. This is resulting in a steady growth of the project.

The game is officially released on the site for my Discord RPG Bot, which is the same site I had always used for the game, just with new content. I have also produced a trailer of sorts, promoting the project. This has proven to be a great success in growing the game.

Monetisation

The game is monetised by means of a premium subscription. Anyone can play for free, however premium subscribers (at £3 a month) gain access to additional areas, automatic loot drops, and more frequent resurrection (respawning near point of death, instead of respawning at the start in a more hardcore manner). At present there are only a handful of premium subscribers, but this will grow in time. I will consider this project a success once it is turning a profit, e.g. once all hosting and material costs are paid. This will happen when there are approximately 15 monthly subscribers. Anything beyond this is direct revenue.

Future Plans

As this game is pretty much “live service” in nature, there will be a constant stream of updates, driven by player feedback and request. Some upcoming requests include:

  • Bounty Boards in towns and villages, listing wanted criminals, including players with high notoriety, with rewards for other players to track down for PvP
  • Silver Exchange, a way to exchange silver for gold at banks, however, the price of silver fluctuates at each bank individually like a stock exchange; inspired by the Stalk Market in Animal Crossing.
  • Guild Halls, instanced areas that guild members can teleport in and out of for meeting up to trade, roleplay, and PvP
  • Invite only guilds and guild join requirements
  • And more!

This game is very much unlike any of the other games listed here on gamedev.net, so I am hoping that the insight on how to create a project like this, how to monetise it, how to scale it to many thousands and then millions of users within the budget of a solo dev (which is pretty much impossible for classically created 3D/2D games) will be interesting to everyone.

Please comment below, and let me know your thoughts!

Stay tuned for more updates!

1 likes 3 comments

Comments

ReignOnU

Just some advice…

I clicked this blog because it said, “What again, choose an engine and stick with it”.

The blog seems to be about your game updates, which is fine, but has not much to do with what I was expecting from the blog. The advice is, put an appropriate blog title for the blog, such as “here is a devlog about my fantasy game”

March 21, 2024 11:25 AM
Pebblerubble

I agree with the former comment, that your post title is misleading.

Your game seems cool and you seemingly have built a lot of code and content already. So you have a marketing problem, because I've never heard of your project before.

Your subscription fee of 3 British Pound is low! Nice!

March 21, 2024 02:13 PM
Brain

Thanks, I've updated the title! I've actually gone back and forth between my own home made engines for this twice over the years and UE4 in between for the 3D iteration. This is why the title reads as it does.

You won't have seen my marketing unless you are actively looking for a discord bot to add to your server. My ads are on sites which specialise in listing discord bots such as discordbotlist.com and Discords.com (with an S) and also top.gg. I have also ran ads on Reddit but I specifically targeted r/discordapp. There's no point wasting money scattergunning ads to those who don't use discord after all…

March 22, 2024 07:00 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement