Summary

AnyRPG is a Role Playing Game engine written in C# for Unity.

It is a 100% free and open source project with the goal of enabling content creators to rapidly create unique and engaging short stories, scenarios, adventures, and even full games.

It accomplishes this by providing a platform with the most common Role Playing Game functionality out of the box so that content creators only need to provide visual assets and story content.

All visual assets included in the engine are free downloads from sources such as the Unity Asset Store, WillBGameArt and Brackeys.

Developer Background

This is my first video game/engine, first project in Unity, and first project in C#. I started learning Unity and C# on March 28th 2019.

Prior to beginning this project, my main development experience was in back-end web database systems using PHP and DevOps tooling using Python.

Development Milestones

The project was started around April 1, 2019.

The first playable preview was ready on August 13, 2019, around 4.5 months later.

On October 9, 2019, after nearly 6.5 months of development (including almost 2 months dedicated solely to polishing, bug fixing, and performance tuning after the preview release), the first publicly announced version, 0.3 alpha, was made available for download.

Development Roadmap

 Phase 1: Single Player (in no particular order)

  • Fishing (Completed)
  • NPC Equipment Manager (Completed)
  • Gem System with Item Sockets
  • Random Item Secondary Stats (crit etc) (Completed)
  • Random Item Quality from drops (Completed)
  • Swimming
  • Calendar phases, time of day, time or date based events, time or date based buffs or debuffs, prerequisite based on calendar phase or time of day
  • Mount restrictions for zones and areas
  • Mounts (Completed)
  • Mail
  • Auction
  • Inspect Characters
  • NPC casting ability (Completed)
  • Classes and armor/spell proficiency (Completed)
  • Rings and other armor types
  • Flying
  • XBox Style Controller Support
  • Builds for all supported Unity platforms (currently Windows only)
  • Unity Package (Completed)
  • Enhancements to AOE and directional casting system (Completed)
  • NPC Campaigns
  • Independently downloadable and playable chapters
  • Interactable Doors (Completed)
  • Audio management enhancements (water, footsteps, casting sounds) (Completed)
  • Talent System

 Phase 2: Multiplayer/LAN

 Phase 3: MMO

Project background and development mindset 

I’ve always wanted to make a video game, but never wanted to code physics and rendering engines or learn 3D modelling. Recently I noticed that some very good game engines and tools have become available that handle these types of low-level game design issues for you and a vast ecosystem of free models and other graphical assets has become available, removing the previous barriers to entry in game design.

I decided to try out Unity because it was free and I noticed that there was an asset store with a lot of free assets to choose from. I wanted to see how good or complete of a game could be made from completely free assets.

I watched about 20 different channels worth of YouTube tutorials which are listed in the Learning pages, but noticed that although there were a lot of really good tutorials and some great code samples online most of them were very simple and would require extensive refactoring to make anything like what you would expect in a paid game.

I felt that there were probably a lot of people out there like myself who were looking for guidance on how to create more advanced features to add to their games. I was so thankful for everyone else who had made the tutorials I was learning from that I wanted to make my own tutorial series to help others learn once I had created the more advances features I was looking for.

During my own coding adventures, I made several observations.

First, I noticed quite a few things that were posted to the Unity asset store with comments that indicated that they had uploaded free assets from a game they were working on. I took this to mean that more games being worked on equals more awesome free assets for everyone.

Second, I noticed that most “Make an RPG” series quickly give up, and if my own experience was anything to go by, it was likely due to how seriously complex the code quickly becomes as you start adding systems. I took this to mean that the barriers to entry for creation of a fun, but complex RPG were probably too high for most casual developers who would otherwise be making fun games and uploading free assets.

From these 2 observations, I formed a theory. If the barriers to entry that would normally prevent a game from getting made such as the amount of time/money/expertise required to create systems that can efficiently handle complex mechanics, were removed, more games would get made. Therefore more free assets would get posted online, creating a positive feedback loop.

Because of this, I’ve decided to release everything that I’ve created back to the community in the hopes that the more free resources become available the more we can all benefit.

So download the source code and include it in your free games or include it in your paid games; there is no charge.

If you find the engine useful please do me a favor and upload something useful from your project to the Unity Asset Store and list it for free. There is a list of the types of specific stuff I’m looking for on the Needs page.

You can also contribute features back to the AnyRPG source code.

A Lost Soul – The Completely Free Role Playing Game

You may have noticed that AnyRPG comes with a free game, A Lost Soul. I am committed to continuously improving the game and making it the most captivating, fun, and engaging free Role Playing Game that exists. Because a game that is given away for free cannot generally include paid assets (or the author would never make money once you started giving his stuff away), I can only use 100% FREE sources for the content.

So if you enjoy the game and would like to support its development, please help out by posting high quality free assets to the Unity Asset Store or get involved by joining the AnyRPG Discord server. I have a lot of great content planned and the better the asset quality, the better the finished product will come out.