[Introduction]
QuestRPG has been a personal project that I've been working towards for a long time now but I thought I'd share it, just in case anyone else was interested. This game is going to be an open world sim rpg (similar to Daggerfall or Dwarf Fortress adventure mode) where the player can play as anything they want. The main draw of the game is going to be its mod-ability. While it'll come with default content, the player should be able to easily modify that content to their liking or replace it with completely new content.
[Templates]
Templates are XML files which will be used to modify and add content to the game. I've included the biomes template:
<Biomes>
<ID></ID>
<Name></Name>
<HexColor></HexColor>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
</Biomes>
[Current Features]
[Graphics]
Old versions of the project either had an interface similar to Quest's or grid-based ascii graphics similar to most rogue-likes. I'm leaning towards the ascii graphics as it'll be easier for the player to evaluate their surroundings.
[Next Steps]
[Links]
1st Progress Video
[7-22-20 Update]
I've changed the biomes template along with adding the climates template.
<Biomes>
<Biome>
<!--Used to retrieve biome object from dictionary when necessary.-->
<ID></ID>
<!--How the biome is displayed in-game-->
<Name></Name>
<!--What color represents the biome in the World Generation (Geography) screen.-->
<KeyColor></KeyColor>
<!--The type of climates the biome can have. There is no limit on ClimateID sub-nodes.-->
<ClimateIDs>
<ClimateID></ClimateID>
</ClimateIDs>
</Biome>
</Biomes>
<Climates>
<Climate>
<!--Used to retrieve climate object from dictionary when necessary.-->
<ID></ID>
<Fall>
<!--
Used to determine initial biome assignment, players can decide which season to use.
Each season, regions will receive a random precipitation % using the following numbers.
Must be integers between 0 and 100.
-->
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
</Fall>
<Spring>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
</Spring>
<Summer>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
</Summer>
<Winter>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
</Winter>
</Climate>
</Climates>
[Next Steps]
[7-24-20 Update]
Progress Video
Additions:
Cuts:
Next Steps:
Here's the updated climates template:
<Climates>
<Climate>
<ID></ID>
<Fall>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
<MinTemperature></MinTemperature>
<MaxTemperature></MaxTemperature>
</Fall>
<Spring>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
<MinTemperature></MinTemperature>
<MaxTemperature></MaxTemperature>
</Spring>
<Summer>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
<MinTemperature></MinTemperature>
<MaxTemperature></MaxTemperature>
</Summer>
<Winter>
<MinPrecipitation></MinPrecipitation>
<MaxPrecipitation></MaxPrecipitation>
<MinTemperature></MinTemperature>
<MaxTemperature></MaxTemperature>
</Winter>
</Climate>
</Climates>
[7-30-20 Update]
Progress Video
Additions:
Updated Biomes Template
<Biomes>
<Biome>
<ID></ID>
<Name></Name>
<KeyColor></KeyColor>
<!--Options are None or Ocean-->
<Type></Type>
<ClimateIDs>
<ClimateID></ClimateID>
</ClimateIDs>
</Biome>
</Biomes>
Creature Types Template
<CreatureTypes>
<CreatureType>
<ID></ID>
<Name></Name>
<!--Used when naming NPCs. Naming Convention IDs go where you see Item_ID.
Multiple can be listed. Doesn't do anything yet.-->
<CreatureNaming>
<First>
<Feminine>
<Item_ID></Item_ID>
</Feminine>
<Masculine>
<Item_ID></Item_ID>
</Masculine>
<Unisex>
<Item_ID></Item_ID>
</Unisex>
</First>
<Middle>
<Feminine>
<Item_ID></Item_ID>
</Feminine>
<Masculine>
<Item_ID></Item_ID>
</Masculine>
<Unisex>
<Item_ID></Item_ID>
</Unisex>
</Middle>
<Last>
<Feminine>
<Item_ID></Item_ID>
</Feminine>
<Masculine>
<Item_ID></Item_ID>
</Masculine>
<Unisex>
<Item_ID></Item_ID>
</Unisex>
</Last>
<CreatureNaming>
</CreatureType>
</CreatureTypes>
Naming Conventions Template
<NamingConventions>
<NamingConvention>
<ID></ID>
<!--How it shows up in character creation.-->
<Name></Name>
<!--When generating a name, the game goes through each part and randomly selects an item and
adding it to any previously selected items, if any.
Parts with the required="True" attribute will always have an item selected while Parts
with required="False" have a 50% chance of having an item selected.-->
<Parts>
<Part required="True">
<Item></Item>
</Part>
<Part required="False">
<Item></Item>
</Part>
</Parts>
</NamingConvention>
</NamingConventions>
Since the last update I've been learning how to implement simplex noise to allow for better world generation. The game currently uses an algorithm that I made up and its completely inferior. For the upcoming weeks, I'll be rewriting code so that it uses noise.