Game
Asyre - A Fantasy Story
4 years ago

Levelup!


Currently writing the beginning of the leveling system. I'm not sure about all the formulas exactly yet, but it will be an exponential system. Most of the experience you will gain will be in the form of quests, with individual actions only providing a marginal amount of experience points. This allows me to ignore writing individual experience systems for each skill I want to add in, and instead add in a ton of skills, but have them all collectively pool into one "EXP" total.

This line of thought essentially makes classes over the long term irrelevant, seeing as you can just upgrade skills whenever you have an advancement available, instead of needing to use the specific skill to advance the specific skill. There are pros and cons to this. Classes are still important early on, as they can determine your initial stats and probable playstyle, but it also allows people the freedom to build their character as they see fit, instead of worrying about getting classlocked later in the game.

For anyone curious, this is what it looks like to level up 1 attribute, behind the scenes. The "level" class is held within a widget elsewhere, so ignore the fact that it looks like I'm trying to replace a non-existent class.

		
			Experience: <span class="exp"><<print $EXP>></span> / <span class="expleft"><<print $EXPUNTILADVANCE>></span>
<<if $EXP gte $EXPUNTILADVANCE>>\
<<replace ".level">>\
<<link "Advancement available!">>
<<dialog "Advancement">>\
<div class="textCenter">
Attribute Points: <span id="attributepoints">''<<print $cAttributePoints>>''</span>

Strength: <span id="stats-str">''<<print $cAttributeStrength>>''</span>
<<button "[+]">>\
<<if $cAttributePoints gt 0>>\
<<set $cAttributePoints -= 1>>\
<<set $cAttributeStrength += 1>>\
<<replace "#stats-str">>''<<print $cAttributeStrength>>''<</replace>>\
<<replace "#attributepoints">>''<<print $cAttributePoints>>''<</replace>>\
<</if>>\
<<if $cAttributeStrength gt _cAttributeStrength + 5>>\
<<set $cAttributeStrength to $cAttributeStrength - 1>>\
<<set $cAttributePoints += 1>>\
<<notify 5s>>$advancementError<</notify>>\
<<if settings.allowUIEffects>><<audio "success" volume 0.2 play>><</if>>\
<<replace "#stats-str">>''<<print $cAttributeStrength>>''<</replace>>\
<<replace "#attributepoints">>''<<print $cAttributePoints>>''<</replace>>\\
<</if>>
<<if $cAttributeStrength gt _cAttributeStrength>>\
<<replace "#minusbtnstr">>\
| <<button "[-]">>\
<<if $cAttributeStrength gt 1>>\
<<set $cAttributePoints += 1>>\
<<set $cAttributeStrength -= 1>>\
<<replace "#stats-str">>''<<print $cAttributeStrength>>''<</replace>>\
<<replace "#attributepoints">>''<<print $cAttributePoints>>''<</replace>>\
<</if>>\
<<if $cAttributeStrength lte _cAttributeStrength>>\
<<replace "#minusbtnstr">><</replace>>\
<</if>>\
<</button>>\
<</replace>>\
<</if>>\
<</button>> \
<span id="minusbtnstr"></span>\
</div>
<<onopen>>
<<set $cAttributePoints to 10>>
<<set $advancementError to "You can only spend 5 points on each attribute.">>
<<set _cAttributeStrength to $cAttributeStrength>>
		
	

It's pretty much a giant shit show of just making sure each value scales properly. Then all that's left is to copy and paste that 5 more times for each attribute, and adjust the proper variable names. Oh, and I need to do that for each skill, as long as the math work for those as well.



0 comments

Loading...

Next up

Just as Pecaminosa's musicians #improvise this rendition of #LittleSunflower 🌻, so do we improvise with this post you're reading. πŸ˜‚

What's coming out of your own improvs? πŸ€”

#Pecaminosa | #IndieDev | #OST | #Jazz

Bandana Dee the Dream Friend

Been working lately on lots of 'behind-the-scenes' boring stuff that no one really cares about, so here’s a guy playing the sax for some reason.

#screenshotsaturday

Shadow The Hedgehog X pixel art

Sometimes the suction cup get sticky. Small animation I made in Blender after doing my tutorial on picking up/dropping objects in animations. Crate model by jQueary (https://sketchfab.com/3d-models/game-ready-sci-fi-crate-d98deca6…).

Terraria

An infected room from the second part of Cybel ! Are you up for some cleansing?

I mostly build 3D First Person Shooter game mechanics in Unity, and in this I'm just showing C4 mechanics I made for a little side project I am working on! :)

We're knee deep in multiple large features and "game feel". Quick peek behind the scenes in this weeks Dev Blog: https://bit.ly/2QmmaQM

A sneak peek at the new OST, can you guess what this song will be used for? πŸ€”