Jump to content
Aveyond Studios Community
Amaranth

Ant's Journal

Recommended Posts

Continuing to work on 2D integration. I'm not happy with the 2D player controllers. My first thought was to create one controller that could be configured for platform-style games and top-down games, but I've come to realize that these controllers are, in fact, very different. 

The platform controller needs gravity and it needs to work closely with the ability to jump, crawl, climb, etc. It's more likely that the player will simply "flip" the sprite from left to right instead of creating different sprites for left and right-facing movement. 

The top-down controller for RPGs needs the ability to have a sprite face four to eight directions. It may or may not need gravity. Gravity may need to come from another direction. Research is needed. 

I'm re-working the platformer controller now.

Share this post


Link to post
Share on other sites

Made good progress with the platform movement actions last night. Originally, the ability to control a hero object with a platform controller or via movement actions (platform movements) were completely separate scripts. I didn't like this because most of the code was the same, so I created a third helper script (movement2D) that contains all of the settings and functions that are needed by both platform controller and platform movement scripts. This is important because when something happens in the platform controller AND the platform movement scripts, the resulting physics needs to blend together. 

So far, the platform controller script is complete and I have "move left" and "move right" actions for the platform movement script complete. Next, I'm going to add "jump" to the platform movement script. This script will eventually contain additional platformer-specific actions (attack, defend, crawl, climb, etc). BUT, don't expect a bunch of these actions soon. I have to get the basic functionality complete for platformer movement and top-down RPG-style movement. The good news is that you will be able to add these yourself via your custom created actions.

Share this post


Link to post
Share on other sites

Finished the Platform actions. Everything works as expected now. I've moved on to the RPG top-down actions. I have them all finished. Tonight I test. If everything looks good, I'm going to refactor the 3D movements so the controllers and movement actions all reference the same movement script.

Share this post


Link to post
Share on other sites

Finished refactoring most 3D movement actions. You will soon be able to blend your 3D player controller actions with custom movement actions like jump. Like with 2D, I had custom movements completely separated from the player controllers. Now the two systems work together.

Going through the first series of testing today. I CANNOT wait to start building RPG-specific things for HeroKit. The time is almost here.

 

Share this post


Link to post
Share on other sites

All of the 2D and 3D movements have been refactored so that the physics in each action blends together with the others. You'll be able to use player controllers with special movements smoothly soon. The rest of this week is dedicated to cleaning up code and deep testing. I should have another build uploaded to the Unity store this weekend. There will be one more 2D build after this one that will include tutorials and a site documentation update.

Share this post


Link to post
Share on other sites

This next week is dedicated to finalizing all changes that were made to bring 2D to HeroKit. That means making sure all documentation is up to date (60+ actions, etc). Took a look at UFPS and what it will take to create actions for it. Created two test actions that seem to work nicely. In the next few weeks, most of my attention will be focused on RPG functionality, but I will be adding a few custom actions for UFPS and Third Person Controller to get a feel for these systems, as I suspect lots of people will want to use these advanced controllers to power the player character. 

Share this post


Link to post
Share on other sites

I'm working on the Items database for HeroKit RPG. So far, the process has been very easy. Why? It turns out that Hero Objects and Hero Properties make great micro databases. I'm using a hero object called ItemDatabase to store all of the items. I'm also using a Hero Property called ItemProperties, which is the template for an item. 

Each time you create an item in the RPG Item Editor, this adds a property slot to the ItemDatabase with the ItemProperties template attached to this. The template provides the fields for each slot, but remember that the data you put in these fields is unique to each slot.

Now before you worry about how all of this is going to look, don't worry. You will not need to add anything directly to the ItemDatabase Hero Object. In fact, I would advise that you never touch this hero object or the hero property file unless you master HeroKit. Instead, I'm building you an attractive Items menu that you can use to add your items.

Here is an item example:

  • Name: Potion
  • Icon: [2d icon]
  • Description: Restores HP to one ally
  • Target:
    • No one
    • One enemy
    • All enemies
    • One ally
    • All allies
  • Use item if (checkboxes):
    • Health = 0
    • In Battle
    • In Menu
  • User Animation: [particle effect]
  • Target Animation: [particle effect]
  • Menu Sound Effect: [audio file]
  • Add Affix?
  • Add Suffix?
  • Add Sockets? 
  • Event to play: [event w/actions]
    • Consumable?
    • Change HP
    • Change SP
    • Change Max HP
    • Change Max SP
    • Change Strength
    • Change Physical Defense
    • Change Magical Defense
    • Change HP %
    • Change SP %
    • Change Max HP %
    • Change Max SP %
    • Change Strength %
    • Change Physical Defense %
    • Change Magical Defense %
    • Change State
  • Price: 50
  • Elements:
  • % Chance of Hit: 100

If you see something that is missing that you want in the items menu, please start a new topic in this forum. Also please keep in mind that you will be able to use all HeroKit actions in the event editor that I'm going to build, BUT I'm creating a few new ones specifically for the RPG developers.

Share this post


Link to post
Share on other sites

Everyone, this is WIP of the Items Database. I'm still figuring out how you'll add actions. Most likely, I'll create a section inside the item page where you can add actions. This database is specifically for items that you cannot equip... things like potions or things you need to collect to complete a quest. Items you can equip will have separate databases.

lThZjQx.png 

Share this post


Link to post
Share on other sites

The rest of this week is dedicated to fixing bugs, migrating the creator's guide to this site (right now it's in a PDF), and releasing the final version of HeroKit for 2D and 3D. Once this version is finished, my focus will be solely on building the RPG Creator and creating your custom actions. 

Share this post


Link to post
Share on other sites

Things have been a bit slow with the holidays, but I'm more than ready to get back to work. I've cleared my desk of 2D projects with the submission of HeroKit 1.07 to the asset store and the installment of this tutorial: 

Now that 2D is finished, all of my focus is on RPG Creator and whipping out a few custom actions for UFPS and possibly Third Person Controller. Add/Update Color actions will also be added to to HeroKit core, but I'm waiting to implement this because there are likely many places Update Color can be applied and I'm making a list. 

Share this post


Link to post
Share on other sites

I added a new custom action for UFPS called Create Moving Platform UFPS. Attach a hero object that contains this action to a platform that you want to move. You can find the action here: 

A few things to note that are covered in the topic above:

  • You will need to create a path.
  • You will need to comment out two lines in UFPS's vp_MovingPlatform.cs script.

The next 7 days are devoted to the RPG Editor.

Share this post


Link to post
Share on other sites

There will be separate databases for the types of items you can have. The first three will be: Items, Weapons, Armor. Right now, I'm working on the Items database. Yesterday, I added the ability to create three item types: Item, Compound Item, Random Compound Item. Here is an overview:

  • Item - A simple item (no affix & prefix)
  • Compound Item - You select a base item, a prefix, suffix, and sockets
  • Random Compound Item - You select a base item and possible prefix, suffix, and sockets. If this item is obtained in the game, a random item will be created with the data you provided.

Share this post


Link to post
Share on other sites

Here is a screenshot of the new Modifier Database. You can use a modifier as an affix or prefix. Affixes and prefixes can be attached to an item. Everyone who is interested in this feature, we will need to have a roundtable soon to discuss which fields you need for your games. I have added the fields I need for my games as a starting point.

VepFw07.png

Today I'll be hooking up the modifier database to the items database so that you can build compound items. Once this is done, I need to add a States Database and an Elements Database. States will include things like Poisoned, Blinded, Silenced, etc. Elements Database will include things like Holy, Evil, Undead, Fire, Ice, etc.

Share this post


Link to post
Share on other sites

@Ant,

Looking good. 

A couple of thoughts:

- isn't Demonic, in example above, a prefix, and Death a suffix?

- any chance of more than one prefix(es) and/or Suffixes ie. Demonic Dark Mortuum Sword of Death and of Night?

- also, what about item rarity, renown etc?

- item material as optional additional prefix ie. Iron, silver, steel, mithril, wood, glass?

- can you create background logic to prevent contradictory or seemingly conflicting prefixes, Suffixes and/or affixes?

- different types of sockets on an item? ie. Orbs, runes, etc?  Limits to number of sockets on item?

- how will this work with loot tables and loot weighting?

- saving of both core items and customised items at run time?

- databases of prefixes, affixes and suffixes? Socket items as item type?

Share this post


Link to post
Share on other sites

Hey Ant, this looks really great! I had a couple questions about having modifiers do custom things beyond the examples in your screenshot:

- Is it possible (or will it be in a future version) to modify custom attributes (e.g., the attribute "Constitution" in my Hero Property)?

- Is it possible to execute a custom Action when the item is equipped (or unequipped)? I'm thinking that could be used to do something like grant a character access to an skill/power/spell/ability while the item is equipped. 

Let me know if you think these ideas can be tackled in different/better ways. Thanks!

Share this post


Link to post
Share on other sites

@ChiaPet Here is a quick run through of your questions:

  • Custom attributes: yes, this is something that needs to be added.
  • Yes and this is VERY important. I will also be creating custom actions specifically for this system.

@Duffer123 I've created a new database for Affix Types. You can now create specific affix types and assign these to affixes. I've also spent some time studying the Diablo 3 affix system.

wFRj6bS.png

I'm getting rid of prefix and suffix (for now) and just allowing you to attach up to 6 affixes to an item. You will note below that you can't select an affix type yet, but this will change (I ran out of time tonight). Tomorrow, I'm going to update the database for Items so that you first select an affix type and then an affix that belongs to this type. Socket types will follow. The items database canvas layout looks a bit cluttered to me, so I'm also going to think about an easier to way to layout the fields. Maybe make sections collapsable, use stronger colors, etc.

uGhXfbd.png

 

Share this post


Link to post
Share on other sites

@Ant,

It's coming along nicely.  ;)

Some further observations...

- you probably need to be less prescriptive with items and affixes re how they effect stats, attributes, skills, resistances etc so user can select all this. ie. don't force user to adhere to your structures and named stats

- with affixes in general, I like the idea of just 6 in general.

- it would be good though to allow for their placement around the item ie. Before or after it and where in naming.

- ability to add logic to avoid seemingly conflicting affixes on an item.

- loot table weighting and rarity and perhaps value and how affixes affect this perhaps simply as stats effected.

- Hero Actions to create items with loot-weighted affixes in runtime.

Share this post


Link to post
Share on other sites
10 hours ago, Duffer123 said:

- you probably need to be less prescriptive with items and affixes re how they effect stats, attributes, skills, resistances etc so user can select all this. ie. don't force user to adhere to your structures and named stats

Can you tell me more about how you would like to see something like this set up?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×