Game
Asyre - A Fantasy Story
3 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

Shadow The Hedgehog X pixel art

Heya! I wanted to show some gameplay progress i made so far. I hope you like it ^^

Family band complete!

I-Buki

Mio-Da!

Ibuki Mioda!

In the quest for accessibility, I'm adding Resurrection Shrines for players on the 'novice' end of the platforming spectrum.

In order to unlock the power of a Shrine, you must collect 3 'Souls' from your dead corpses! (the floating blue orbs)

Demonstration of the spells and their effects :)!

Rockin the Guitar, an Axe like Guitar I made for my Uni project

Today I tackled drawing different variations of facial expressions for one of the main characters in Eden. What do you think of it? :) Eden: https://gamejolt.com/games/Eden/592698

Auto-chess meets Clash Royale in an intense strategic battle. Outsmart your opponent, hide your play and crush their armies! Empire Builder just got another major update, check it out! https://gamejolt.com/games/EmpireBuilder/558901