[ad_1]
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.
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:
![](http://journalismcore.com/wp-content/uploads/2024/03/What-again-Choose-an-engine-and-stick-with-it.png)
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:
![](http://journalismcore.com/wp-content/uploads/2024/03/1710938361_103_What-again-Choose-an-engine-and-stick-with-it.png)
Further Down the Rabbit Hole…
At its more advanced, a location may have much more detailed code such as this code below:
![](http://journalismcore.com/wp-content/uploads/2024/03/1710938361_376_What-again-Choose-an-engine-and-stick-with-it.png)
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!
[ad_2]
Source link