HFrajacomo / Draconic-Revolution

A 3D Voxel-Based RPG with procedural world generation made with Unity

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Draconic Revolution

About the Project

What is it?

Draconic Revolution is a procedurally generated voxel-based late medieval RPG currently in development. The game supports dedicated server multiplayer and LAN multiplayer as well as a solo singleplayer experience.

Who is the creator?

My name is Henrique Frajacomo, a Brazillian Software Engineer and Music Production Instructor currently working a 9-5 job and developing Draconic Revolution on my free time along a team of volunteers consisting of friends and people who believe in the potential of this project.

Ever since I learned how to write, I have been making paper games. They eventually grew onto Tabletop RPG games that were played with my friends throughout my childhood. At the early age of 13, I got into the world of Computer Programming, and a huge spectrum of possibilities was opened to me. My love for programming led me to seek technical education on the subject, becoming then an Information Technician with the creation of a minor game with an RPG Maker-like aspect to it. Yet, I didn't think it was enough! I sought higher education in one of the most prestigious Federal Universities in Brazil, graduating in early 2021 as a Bachelor in Computer Science. During my time in University, I was a student researcher of the Bioinformatics and Machine Learning Lab, where I was team leader of projects regarding the use of Machine Learning AI to solve genetics and molecular biology problems.

Back when I was barely a teenager, I took a liking to music. This hobby eventually grew onto a YouTube Channel focused on teaching the technical and artistical process of Music Production. This project was meant to train and give visibility to many young producers that contained plenty raw talent but little resources. Music Tournaments are hosted on the channel and a website that sells a concise course of Music Production was created.

As of today, I work in my spare time with a team of volunteers. I fill the role of Tech Lead, Product Owner, Principal Writter, Audio Director and General Project Manager

Where it came from?

During my University time, back in 2016, after meeting a group of people who share the hobby of tabletop RPG, I decided to make my very own homebrew system. Being tired of the usual Dungeons & Dragons nature of "pick what your character will be for the rest of their life", I decided to, instead, give the player plenty of options to choose from, and not bind them to their initial option. A game where you can mix different skills to be something completely different and unique. The concept of being a knight of sword and shield for the rest of your gameplay is completely optional in my system.

The game world was created with 7 character races, classic to medieval fantasy literature. The overall storyline consists of 1 main story quest, 21 skill-based faction quests, 3 special character quests and 9 Kingdom Politics Quest and a bit under a hundred characters. The story was named "Draconic Revolution", and the system created was given the same name a few months later.

With both system and story created, we were set to start. The tabletop game was played by over 30 people in 5 distinct groups from 2016 until present day. Sessions happen every Tuesday and Friday in portuguese language for 2 distinct active groups, having started in 2018 and 2020.

As the Covid-19 lockdown happened, life stagnated. Refusing to accept that meetings in real life couldn't happen for the game sessions, I realized that, given my skillset, I could develop something that was similar to Draconic Revolution. After testing for some time, I realized that all technical barriers found could be broken through. So I discarded the idea of making something similar and was set on making the full digitalized version of Draconic Revolution.

And in August of 2020, Draconic Revolution as you see it now was born.

Game Concepts

Levels, Skills and Progression

This is the most key concept of Draconic Revolution and what ensures "player freedom" when building and progressing their character.

In the usual world of RPGs, there's the concept of Level, which dictates how strong an entity is in the game. Usually, level is gained by slaying monsters and completing quests. In Draconic Revolution, we had a different approach to how a character gets "stronger".

Instead of levels, we have the Skill System. 21 completely distinct Skills with their very own progression that impact the world. These skills go from Level 1 to 100 and each one of them can be trained in their very own approach. Some skills have branches called 'subclasses', where once you get to a certain level in the skill, you may choose between multiple paths to keep evolving. Each path is unique. The skills are:

Skill Name Short Description Levels up by Subclasses
Alchemy Creates potions and poisons Crafting and identifying potions and poisons -
Artificing Craft magical artifacts that can be used in battle to cast spells Crafting and using Artificers' items Neutral, Dark, Energism, Golemancy, Eldritch
Bloodmancy Uses vital energy to cast powerful spells Fighting using Bloodmancy spells and gathering vital energy Cultist, Vampire, Chaos Knight or Hellbound
Crafting Makes clothing, drawings, light armor, jewelry, works gems, makes additional inventory itens, etc. Creating items related to crafting -
Combat Wields stronger physical weaponry both melee and ranged Fighting using physical and ranged weaponry -
Construction Builds faster, adds variety to builds and increases inventory carry load Building -
Cooking Makes better food with better ingredients Preparing meals -
Enchanting Captures souls of fallen enemies to powerup weapons and armor or applying to other ends Powering up items and using in battle Soul Warden, Spiritual Mage, Illusionist
Farming Cultivate better crop, plants and animals Plant, care for and harvest crops -
Fishing Catching better fish and wielding fishing-like weapons Fishing and using battle fishing weapons in combat -
Leadership Provides bonuses to nearby allies with powerful speeches Granting bonuses to allies -
Mining Break terrain faster and gather more resources Attacking the terrain -
Mounting Tame and ride animals and mount big enemies Successfully riding animals and enemies -
Musicality Wield instruments and play sounds to influence the minds of others Playing music -
Naturalism Cast nature or corruption based spells to talk to animals and understand nature Casting spells Nature, Corruption
Smithing Work metal into weaponry and armor Crafting metal objects -
Sorcery Cast spells based on magic words that are learned progressively Cast Sorcery spells Elemental Affinities
Thievery Sneak, climb, pickpocket and lockpick better Doing thievery actions -
Technology Create circuits, firearms, electricity and industrial items Crafting and using firearms in battle Digital, Electrical, Bellic and Industrial
Transmuting Manipulate the terrain and objects using equivalent exchange magic Use Transmuting spells -
Witchcraft Cast powerful spells while tapping the energy of the demonic realm Cast witchcraft spells Elementalist, Essencialist, Mentalist

The amount of levels a character has in a skill dictates his usual attributes like Strength, Precision, Vitality, Evasion, Magic and Charisma. Leveling up skills like Smithing, Mining grants more Strength, while skills like Crafting, Leadership and Thievery may increase the Precision rating of a character.

In this system, you can mix all skills you have to create a unique build for your character. And all skills are always unlocked, allowing the player to train any one of those and completely change the character build if they so desire.

Gamemodes

Draconic Revolution as a digital game will contain two gamemodes: Campaign and Sandbox.

Sandbox

Sandbox mode will give the player an entirely procedurally generated world. In this gamemode, there will be no main storyline or set game map. The player is free to roam around, finding all sorts of points of interests, cities and dungeons. Cities will be procedurally generated just like the quests and item stores located there. Once Sandbox mode is completed, the beta phase of the development is considered completed.

Campaign

Campaign mode will give the player a partially procedurally generated world, where parts of it contain preset cities and structures, with pre-made character with their very own voice acting, questlines, daily activities and so on. This mode will contain premade quests tailored for its campaign and a lot more.

Campaign mode will support multiple campaigns, the first one being Draconic Revolution storyline.

The World

In Sandbox and the Draconic Revolution Campaign, the world will consist of a late medieval world, where the first technologies are being discovered. This world contains Kingdoms, usually containing more of a certain race of characters than the others. The terrain is meant to be changeable, either by being destroyed or built on. The world consists of 4 different layers of depth:

  1. The Surface: where most of the gameplay will take place
  2. The Underground: where most ores and deep caves are found
  3. The Hells: where lava lakes, devils and fossils of ancient gargantuos creatures are located
  4. The Core: the magnetic core of the world, where alien-like creatures and the rarest ores are in

In Voxel-based games, there's a technical limit to the depth the world can have. Usually 256 or 512 voxels are the size in most games. In Draconic Revolution, Voxel Chunks are 256 voxels deep, but our Voxel Engine is designed to stack chunks vertically, adding the capability of infinite depth and bypassing the technical limitation of rendering enormous chunks. Since we have 4 depth layers, our total number of voxel depth in a world is 1024 and can grow linearly with the addition of new layers, if needed.

Biomes are plenty and defined in every depth layer. For the surface layer, deserts, plans, mountains, etc. can be generated. On the Underground layer, deep caves, frozen caves, aquatic caves, etc. will be found. For the Hells layer, hell plains, bone valleys, volcanic highlands, etc. are located. For the Core depth, there is no biome distiction and the biome is simply named as Core.

Structures will generate in the world based on biome. The structures consist of trees, ore veins, housing, fossils, etc.. Certain parts of the world will be dominated by a certain race. So it would be more common to find race-specific items or race-specific expertise in parts of the map. It's also important to note that prices are not the same everywhere. Item prices and availability can vary depeding on player actions, story events and pure randomness.

Feeling

Describing the feeling of a game is always difficult, specially when given the freedom aspect of Draconic Revolution. The game systems are being crafted in a way to accomodate all possible playstyles.

For a more active combat playstyle we have Action RPG type of battles, where combat happens in real time and the user has first and third person control of their own character. The player has a battle hotbar to keep their combat skills in place for quick access in combat.

For more of an exploration playstyle, we have plenty skills that add mobility to the character, as well as riding animals and crafting vehicle-like items. We also have completely destructible worlds, an entirely procedurally generated environment and quests everywhere.

For a more chill experience, we have cities in which players can choose to settle in and build farms or live off of their skill set for crafting and selling items.

Ambientation

Visual

The Artstyle chosen for game consists of:

  • Terrain: 32x32 pixel art with normal map support for depth mapping
  • Models: Low-poly models with textures matching the geometry' quality level
  • Semi-Cartoonish: We avoid vibrant colors to not evoke a cartoon feeling to the game. We dabble into the grayscale a bit more whenever working with art for the game to apply some level of realism.
  • Semi-Realistic Water and Liquids: Water in videogames are always a big thing, so we make sure to detail it as much as possible without breaking the proposed artstyle
  • Vibrant Magic Effects: Magic will be plenty in this game, from the 21 skills available, 5 are purely magical. So we want magic to be seen in a different light.
  • Biome-specific Color Correction: For every biome in the game, certain post-FX will be applied to the terrain. When crossing biome borders, a seamless transition will happen between biome ambientation presets.

Audio

Audio for this game contains many layers, both in Ambientation and in Marketing. For now, let's verify what the Audio Engine for Draconic Revolution must be capable of doing:

  • Playing 2D and 3D music, sound effects and voiced-lines
  • Having support for multiple sounds happening at the same time (as in the interior of a tavern)
  • Being able to apply reverb to sounds based on the geometry of the room the player is currently placed in realtime*
  • Having unique music for every biome with different levels of intensity
  • Support to dynamically and seamlessly change intensity level of music based on what is happening onscreen

*It is important to remember that Voxel games have technical limitations that makes things like presetting reverb zones in the map impossible. The Research and Development process for this technology has been completed in this project.

Music

Being a music producer myself, I understand how much a game can benefit of a varied and well-crafted soundtrack. And luckily, with our background and influence in the music world, we have invited plenty of extremely talented young music producers onboard as volunteers in this project. The plan is to explore everything music can do for this project and use music to go to the next level as well.

Having amazing soundtrack crafted for every biome and place in this game is just what is expected of a good audio direction. In the next sections we will discuss what other approaches we will take to music that makes the audio experience completely new.

Bard Characters

The Skill System was presented as the main design focus around this game. One of the skills available is Musicality. Not only the player will have this skill, but every NPC may be a musician or Bard, as the musicians were called back in the medieval era.

These Bard characters would have their own selection of songs and styles, sometimes even forming groups. The styles are not limited to medieval music. We plan on exploring classical, rock and even the electronic music world (since we also have a Technology skill for that). Most bardic music will have a medieval version either way.

These Bard characters/groups will travel around the world and play in designated locations like: town squares, music halls, taverns, under big trees near cities, etc.

Identity and Collaborations

Having multiple bardic characters and bardic groups, we are able to address multiple styles of music and composition throughout the gaming experience and have the own player be stoked to visit their nearest music hall to listen to their favorite bard groups play.

Community support is also a big thing. Nowadays, YouTube covers of videogame music can amass a bigger audience than expected. Some talented artists may be willing to become a part of the project, even if they have a one-song contribution. With the Bardic Character approach, these invited artists would be encouraged to write music for the project since they can get a bard character to be created in the game for them.

For the Bardic characters created by our team, we intend on expanding the Draconic Revolution Music Universe onto real life. We plan on setting up Music Streaming Services accounts for each one of them and keep them updated as if they were real artists in the real world, so that more people, even not familiar with the game, can listen to them.

Campaign Quest Music

Some pieces of soundtrack are undying. They did so by being attached to a highly emotional or important scene in whatever medium they were directed to. In Draconic Revolution, we plan on doing the same.

During campaign quests, every step of the way will have a song crafted for that very specific part. Players with Musicality skill will be able to learn and play these songs again, as if they "composed" them based on the experiences they lived at that moment.

This will be specific to the Campaign Gamemode only.

Star System

As an approach to organize the creation of musical assets and how to deal with them, we created the Star System Music Direction Plan. In this way, we can plan and separate every asset of music into different star ratings, where the star ratings dictate the usecase of every asset.

  • (0 Star) Discarded Music: Sometimes we try something new and it doesn't work quite as planned or isn't approved. In these cases, if re-allocation of the music asset created to other star ratings is impossible, we treat them as zero-star music. Our overall plan for them is either throw them away and forget they were ever made or gathering all of these zero-stars and launch a Music Streaming Service album, entirely made of Discarded music.
  • (1 Star) Area Dynamic Music: There must be music everywhere you go, even if it's a soft ambient music that plays differently depending on the area you are. The 1-Star music are the ones that will be listened to 90% of the time in this game. They are always dynamic, meaning that depending on what is happening onscreen, they get more intense or soft.
  • (2 Star) Adventure Themes: Exploration is a big thing. Sometimes players just want to hop onto a long path between cities and enjoy the scenery. Draconic Revolution will have ways of detecting when players start to explore and a different type of music will overtake their ears to heighten their feeling of exploring a completely new world.
  • (3 Star) Generic Boss Music: While exploring a side-dungeon or any dungeon in Sandbox mode, a heavier soundtrack must play whenever a boss is nearby. 3-Star music are characterized by their evil and dark intensity.
  • (4 Star) Bardic Music: As explored in the previous sections, we will have bard characters that will travel the world playing their music. 4-Star music are the ones made specifically to a bard or group of bards to play as their own.
  • (5 Star) Unique and Trailer Music: 5-Star music are separated into Unique and Trailer music. For uniques, we have music that will only play during one specific part of the campaign, as mentioned in the previous section. For trailer music, it is important to note that after a certain point in time, we intend on using devlogs and other mechanisms to market and hype our game during development. For big and important changes during the development of the game, we will have trailers with music crafted for that specific trailer.
  • (6 Star) Campaign Theme: There is no game without a main soundtrack. Draconic Revolution will be no different. This will be a one-of-a-kind spectacular piece of music that will represent the entire game or campaign to be launched.

Progress

Following I will present a list of the concepts that exist in the current Alpha Sprint. Please note that this list isn't complete yet, and the elements that haven't been planned or researched yet may be broken down into several sub-items with different complexity levels.

Concept Type Sprint Planned Researched Developed Polished
Core Voxel Engine Core Pre-Dev ✔️ ✔️ ✔️ ✔️
Procedural Terrain Generation World Gen Pre-Dev ✔️ ✔️ ✔️ 🔜
Procedural Structure Generation World Gen Pre-Dev ✔️ ✔️ ✔️ ✔️
Procedural Cave Generation World Gen Pre-Dev ✔️ ✔️ ✔️ ✔️
Different Biomes World Gen Pre-Dev ✔️ ✔️ ✔️ ✔️
Basic Player Movement and Camera Core Pre-Dev ✔️ ✔️ ✔️
Block Breaking, Placing and Interacting Core Pre-Dev ✔️ ✔️ ✔️ ✔️
Voxel Updates Core Pre-Dev ✔️ ✔️ ✔️
Day and Night Cycle Core Pre-Dev ✔️ ✔️ ✔️ ✔️
High Definition Rendering Pipeline Support Core Pre-Dev ✔️ ✔️ ✔️ ✔️
World Save Core Pre-Dev ✔️ ✔️ ✔️ ✔️
Game Save DB Compression Core Pre-Dev ✔️ ✔️ ✔️ ✔️
Unity Burst Optimizations Core Pre-Dev ✔️ ✔️ ✔️ ✔️
Dedicated and Local Multiplayer Core Alpha ✔️ ✔️ ✔️ ⚠️
Voxel Lighting Engine Core Alpha ✔️ ✔️ ✔️
Inventory and Items Core Alpha ✔️ ✔️ ✔️
Voxel Textures Art Alpha ✔️ ✔️ ⚠️
Normal Map Support Art Alpha ✔️ ✔️ ✔️ ✔️
Dynamic Lens Flare Art Alpha ✔️ ✔️ ✔️
Custom Audio Engine Audio Alpha ✔️ ✔️ ✔️ ⚠️
Initial Music Audio Alpha ✔️ ✔️ 🔜 🔜
Dynamic Music Support Audio Alpha ✔️ ✔️ ✔️ ✔️
Dynamic Reverb Zone Generation Audio Alpha ✔️ ✔️ ✔️ ✔️
Non-Block Objects Core Alpha ✔️ ✔️ ✔️ ✔️
Block Damage Indicators Core & Art Alpha ✔️ ✔️ ✔️ ✔️
Character Sheet Char Alpha ✔️ ✔️ ✔️ ✔️
Character Creation Char Alpha ✔️ ✔️ 🔜
World Save Defragmentation Core Alpha ✔️ ✔️ ✔️ ✔️
Multi-Depth World Generation Core Alpha ✔️ ✔️ ✔️ ✔️
Storage Voxels Core Alpha ✔️ 🔜
Character Models 3D Alpha ✔️ ✔️ ⚠️
Character Rigging 3D Alpha ✔️ ⚠️ ⚠️
Basic Animations 3D Alpha ✔️ ✔️ ⚠️
Weapon Animations 3D Alpha
Basic Enemy Models 3D Alpha
Basic AI AI Alpha ✔️ 🔜 🔜
Weather and Fog System Art Alpha ✔️ ✔️ ✔️ 🔜
Main Menu UI UI Alpha ✔️ ✔️ ✔️
Hotbar UI UI Alpha ✔️ ✔️ ✔️
Inventory UI UI Alpha ✔️ ✔️ ✔️
Item Drops Core Alpha ✔️ ✔️ ✔️ ✔️
Dynamic Light Objects Core Alpha ✔️ 🔜

For the future Beta Sprint, we intend on implementing all 21 Skills, Cities and dungeon generation, stores and quests.

Finally, for the Release Sprint, we intend on implementing the Draconic Revolution campaign mode in its entirety.

Future

Goals and Values

Our ultimate goal is to finish the development of the game, of course! Yet, we have values that are not to be ignored during the process of achieving our goal.

  1. Strive for Perfection: Draconic Revolution is not the first and neither will be the last Voxel Game ever made. In order to one up other similar games, we will focus on making everything (technical or creative) better. We have bold requirements that are technical challenges and will work to research and develop each one of them.
  2. No Hard Deadlines: As a professional Software Engineer, I have seen plenty of times the quality of a product diving down to the dump whenever strict deadlines were not being met. Technical debts and half-solutions are not things we want to keep. If someone needs months to research the best solution to an important problem, so be it. We will not take the easier solution, only the best.
  3. Remake and Polish: During development, we may go with an approach we found as the best one at the time. If, at any point in time, we realize that a better solution exists, we will remake that part and polish it until it's perfect.
  4. Have Fun: This project is not supposed to be headache inducing. If any volunteer wants to leave or be re-assigned to other work at any point in time, they should communicate with a Project Manager and a new task will be found for them.

Assistance and Funding

Help Wanted

As massive as this project is, we need a team to do it. Unfortunately, we only have space for volunteers, since nobody, not even the creator, is being paid for this. Any Computer Scientists/Engineers, Game Devs, Artists, Music Producers and more are welcome to join the project. The level of knowledge required can vary for each area, but the requirements are pretty basic.

Once into the project, some training will be done based on the level of knowledge the new volunteer already has.

If you are interested in being part of the team, even if temporarily, send an email to the contact in the sections below introducing yourself, explaining the area you wish to participate in and your current level of knowledge.

Funding

Our greatest desire is to be able to pay every single volunteer for their work or even hire them full-time, thus, becoming a real company.

In a way, there are forms of funding that allows us to do that without maintaining full ownership of the project. For these types of funding, a compromise needs to be made when it comes to our project's values and might not be our most desired solution.

For funding types that allows us to maintain ownership, creative vision and our values (like crowdfunding), we have plenty of ideas in mind to keep our future backers happy, entertained and informed on the project. That may happen with weekly progress reports (as image, text or video), access to technical explanations or designs, sneak peek into Concept Art and WIP Music, opinion polls and in-game rewards that are still planned!

After the Alpha phase of development is done (and no funding has been found), we plan on launching our Crowdfunding campaign somewhere.

Contact Us

For anything regarding funding, volunteering and the project in general, send an email to the contact below.

Contact Email: miraboaquest@gmail.com

Fan Arts & Character Arts

This section is reserved to art made by the players who played the Tabletop RPG version of Draconic Revolution. Enjoy!

Credits: Kakibirds, Buxie, LynxFlake.

About

A 3D Voxel-Based RPG with procedural world generation made with Unity


Languages

Language:C# 92.2%Language:ShaderLab 5.6%Language:HLSL 1.2%Language:CSS 0.5%Language:Python 0.4%Language:HTML 0.1%Language:Batchfile 0.0%