.:: Alex Erne :: PHP/MySQL & Unity3D/C# projects ::.
Recent news
Like me on Facebook
* advertisement *
  28 May 2016 - Talent trees added :: Posted in d20 project

I haven't worked on the d20 project for about a month, but that was because I was busy with experimenting on other things the last month. But yesterday I've picked it up again and took a look at how the character creation is working. And speaking about character creation, I am already busy on making a 'demo' charachter sheet that'll allow you to make a full blown character with the d20 Modern ruleset. Aside from it being kinda required to show how the d20 project works when I release it as a Unity3D plugin to the Unity Assetstore, I also need this character creation to see how my progress is coming along and have a visual view of things.

Playing a bit with the character creation, I managed to make a character where I could add skills, levels and new classes and I figured to start on the next part, adding feats to the character. But when I took a look at the rules I noticed that a level 1 character first obtains a talent (a character with a basic class gets a talent every odd level, while every even level it'll recieve a bonus feat) and this somewhat forced me into coding the talent trees for the basic classes first...

It's a good thing that only the basic heo classes have talents. And though the advanced classes have something else that's special every couple of levels, their 'specials' are more like feats than like talents. With that knowledge I started on the talent tree coding yesterday in it's basic form. But I wasn't overly sure if that basic form was good enough to be used when adding talents, because most talents in the tree have a basic requirement of an other talent in that or an other talent tree, and that's the major difference between talents and feats.

 photo d20SRD_Modern_zps9joche4r.png

After having had a good night's sleep (or lack there of because I still sleep only 3-4.5 hours a night), I had enough time to rethink the way I coded the talent trees and came up with some small changes (which I've already implemented) to end up with the above flowchart (talents can be found center right). With the data usage of talents now being as I want (and need) them to be it's time to code the functions that'll use them so that I can add them to a character as the rules meant them to be used.

This also is a time to reflect on the size of the d20 project as a whole and is the reason I've included the whole (current) data flowchart. As you can see, I'm shuffling a lot of data to and forth the d20Character class (which holds the actual character sheet) and at times I loose track of what data goes where and need a close examination of the flowchart (that's also the time might I put the project aside and play a game on my PlayStation 3 ).
Also worth to note is that the actual written code for the d20 project is begging quite big as well (which you probably figured looking at the flowchart ). The main code already consists of 13 files with a total of close to 300Kb, while de visual demo I'm working on only is around 120Kb. Worth to note is that the daily back ups (in compressed RAR format) I make (these also include all data Unity generates) have grown from a bit under 700Kb at start to close to 2.2Mb yesterday...

Post A Comment! :: Permanent Link
  09 March 2016 - Project update (for d20 Modern) :: Posted in d20 project

I've been busy with the d20 Modern projet for a bit over a month now and it's tie to inform about the progress I've made so far. because it'll be a plugin for Unity3D, I won't be able to actually show anything right now. The final version will come with an example character sheet though, but I'll start on that once the plugin is further in development than it is now. I can show you one funny screenshot though...

 photo Screenshot 2016-03-06 10.24.33_zpsx8j0i8vz.png

About the progress I've made so far. The above screenshot does show quite a number of C# script files already and those are indeed the things I've already finished or am busy on. At this moment the test script (shown in the screenshot) makes a simpel character with the 6 ability scores, class and XP and level gain. I have also just finished the possibility to add ANY multiclass to the character as well. Only problem there though is that because I can't add skills and feats with the testing script yet, I have to hard-code them for now.
And speaking about skills and feats, when a character levels up I still have to add the talents (basic class only) and autoamtically gained benefits (advanced class), along with adding new skill points and new feat slots to spend on the new level and some other benefits you gain when leveling up.

Then the equipment stuff. I have already added armor and weapons to the code, but so far I haven't put any effort into equiping the test character with it - it'll be one of the next steps to do though. When these have been added, I can start on making 2 different test characters and let them combat each other a bit

Post A Comment! :: Permanent Link
  22 February 2016 - Multiclassing different than I thought :: Posted in d20 project

I've played Advanded Dungeons & Dragons 2nd Edition for close to 2 decades, and though I haven't played it for a decade already, I still know how the (basic) rules work. Even without owning the books now (I;ve sold my whole RPG collection a couple of years ago), I still know the main mechanics, such like multiclassing (a humen character).

In AD&D2E, multiclassing was pretty much straight forward. You basically 'abandoned' the current class and picked up a new one. This new class starts at 0 XP and you level it up like any other class. By the time the new (multiclass) exceeds the old one in levels, you can use the old class skills & proficiencies without any penalty.

For Dungeons & Dragons 3.5 (of which I don't have any books anymore either) I have to rely on the d20 rules, which I have completely printed. Sadly, the explanation of rules in d20 is somewhat less clear than it is in the D&D3.5 (and higher versions) books.  There it simply states that class level and character level are seperate levels and how a new class whould be added. There's no detail there whatsoever on how the mechanics work when adding a multiclass and therefor I figured that a new multiclass starts at 0XP much like it did in AD&D2E.

Luckily I do have a lot of PDF files with RPG (core)rules and I took the time to read how multiclass works in d20 Modern and boy was I in for a shock!

In d20 (both Modern and Fantasy), adding a multiclass is even less profitable than it was in AD&D2E. Where in AD&D2E you were effectively level 1 again and could start bashing rats to level up, in d20 it's 'somewhat' different. Let me explain HOW different it is with a small exerp from the rules...

You hit 10.000XP and you can either level up to 5 OR pick up a new class. Of course we take a new class and you are level 4/1. You play on and not at 1.000XP of the new class, but instead at 15.000XP of your character level, your new class levels up. Now you're a level 6 character with class levels 4/2 (unless you want to pick up an other new class ). Lets say you ARE a crazy player and don't level up your new class (you thought it was very much ...meh...) and take yet an other class. This would make you 4/1/1 in class levels and your next level you'd gain at 21.000XP (character level 7).

This clearly shows how bad multiclassing is in d20, and it's meant to take only a few multiclasses in total. Oddly enough though, d20 Modern only shows level progress per class up to level 10 (d20 Fantasy does up to level 20), kinda forcing you into multiclassing when your class level hits 10. And with one of the save tables being very odd up to level 10, I can't even script any class over level 10

With this new information, I do need to make some serious changes to the code of the d20 project (both Modern and Fantasy) to match the accurate multiclass system, which means a lot of extra work as well I now have to change the table that hold the character's classes by substituting the class XP for class level and the character sheet where I used to calculate the XP from the all class XP's will be one value now. And that's only what I can think of right now - I don't want to imagine the problems I'll experience when those 2 things have changed...

Post A Comment! :: Permanent Link
  01 February 2016 - d20 project changes to Modern :: Posted in d20 project

Though my concentration is still lacking big time, I thought it was time to get started on one of my projects again. And the d20 project was the lucky one to be picked. Not because I have a great idea for a RPG to make, but because a friend of mine is at the point to start building his own RPG and he asked me if I could help him on the coding part.

The only 'problem' though with my friend's RPG is that it's not a fantasy RPG, but one in the near future. That means that I can't use the original d20 project files, but instead have to make changes to them so that they willc omply to the d20 Modern ruleset. And while it might seem like an easy task, it's not. There are a lot of fundamental changes between d20 Modern and d20 Fantasy that I need to take into account.

One of the major differences is that the whole alignemnt system has been replaced with reputation (a value being positive or negative) and that people that *MIGHT* know the character will respond on it in some way or an other.
AN other change is that the basic classes that d20 Fantasy knows do not exist in d20 Modern. Instead they're talking about 'Strong Hero', 'Dexterous Hero' and so on to point out on which basic ability the hero's class is made. Of course, you also have Advanced Classes, which are more or less the same as the d20 Fantasy Prestegious Class.

To make the conversion from d20 Fantasy to d20 Modern, I have copied all basic rules from d20 Fantasy and have started reading the documentation and making adjustments to the code while reading. So far, it's deleting stuff that's not included in d20 Modern, and when I've done that, I'll have to get started on coding the new stuff that's replacing the d20 Fantasy rules as well as new features introduced in d20 Modern...

Post A Comment! :: Permanent Link
  02 August 2015 - d20 project update :: Posted in d20 project

I've been working hard on the d20 project last week and I think it's time for a quick update on what I've been busy with...

First and most importantly, I've made a start with armor and weapon properties and descriptions. Right now the armor properties have all been included in the plugin and I am already able to fit a character in a suit of armor. That is, I have also made a start on the inventory system, but actually calculating the AC value of the character is not yet included.
The character should also be able to wield a weapon, and I've made a start on that as well. I have already included the whole weapon list into the plugin, but I haven't yet started on the properties of the weapons (that's a lot of data to add to the plugin...).

As I've also mentioned, the inventory. With the armor and weapon properties, I figured I should add an inventory system as well. This inventory will be linked to the character's main data, allowing for the user of the plugin to make parties where each character in the party has it's own items. Along with the inventory, I have also included the possibility for storage of the inventory in a database as well (multi-user online RPGs come to mind) with the included ItemCode I've used for all items (armor and weapons for now, but all other equipment will be implemented with the ItemCode as well). With that I fear that the inventory/item system will become the biggest part of the plugin, while I thought skills and spells/magic might be the biggest part of it...

And speaking about skills... I'm reworking the skills a bit. Though the new system is not easier to use at first glance, skills like Craft, Knowledge and SpeakLanguage (to name a few) that include a lot of sub-skills can accept infinite newer sub-skills besides the one that are described in the d20 documentation. This new change would make the plugin more open for developer who want to add their own stuff to their RPG...

On a personal note, I'm still learning a lot while writing this plugin. I know that C#/Unity3D is a powerful system, and each time I find out something new and use it in the code as well. That means that while I'm still busy more changes/upgrades to parts I've already made could follow later on as well...

Post A Comment! :: Permanent Link
  20 July 2015 - 9 days in the d20 project :: Posted in d20 project

Last week I said I'd make a start on code the 'Revises(v3.5) System Reference Document' for Unity3D as one of two projects and today I'm ready to show the first bits I've done so far. But first the notification that I'll refer to it as d20 for short - 'Revises(v3.5) System Reference Document' is just too much to type and while I'm not allowed to name it d20 or Dungeons & Dragons 3.5, in both cases it comes pretty much down to quite the same, because the 3 systems are much alike, but the latter 2 are names of which Wizard of the Coast holds the rights to use...

So, the project itself... It's been quite some time since I last played Dungeons & Dragons, which means I had to read a lot on the d20 system as well before starting to code. Okay, all the basics I still know, but how certain things worked in Dungeons & Dragons 3.5 (which I played for only 3 years or so, compared to Advanced Dungeons & Dragons 2nd edition which I played for neary 2 decades ) I couldn't really remember anymore. But reading the d20 documentation things became to surface quichly again...

One of the most important things I had to keep track of was a logic flow of data when creating a new character. And not having created one for nearly 10 years I had to make one on paper as well to see how it was done again. First roll ability scores, then decide on the race and alignment (race influences the ability scores) and then pick a class but keep the alignment requirements for it in mind and lastly skills and feats. When all that is done, equip your character so he's ready for battle!

 photo d20SRD_Fantasy_zpsj3fwieik.png

As you can see in the above picture I took the character creation structure is code as well. And though not all things have been done already, I'm about to make a start with the skill descriptions (the list of skills had to be made to create the classes), but there's still enough to do with the stuff before you assign skills. Note the red (pretty tiny) text there? That's all the stuff still to be added to the project and something as basic as HP is not yet added to the character...

An other reason for me to take on this project (aside from there not being any d20 plugin for Unity yet) is to really learn the ropes of OOP. While with both TetraGems and Burst-a-Bubble I've already gained quite some experience with OOP, I still wasn't able to work very well with it, let alone classes. The d20 project kinda forced me into the last pieces of OOP for me to learn and I think I'm doing pretty well already, though still a lot of trial & error on how to work with certain kind of data in classes...

Post A Comment! :: Permanent Link
  Page navigation
  Page 2 of 2 :: Previous Page :: Next Page
* advertisement *
* advertisement *

This website is Copyright © 2009 - 2016 Alex Erné
PHP/MySQL coding by Alex Erné Copyright © 2009 - 2016 Alex Erné
...all rights reserved...

AE games™ and the AE games logo are Trademarks owned by Alex Erné
TetraGems™, Burst-a-Bubble™ and the Burst-a-Bubble logo are Trademarks owned by Alex Erné