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

Smile! Here, take some happy pills! ✨💊 #Blender #3DModelling #3DArt Buy me a Ko-fi: https://ko-fi.com/barbarafb_

Here's a peaceful little forest scene for this #screenshotsaturday, from the beginning of the game.

"Our work is never over" they said.

Family band complete!

Here's a Fredbear sprite i made in Aseprite! I'm pretty proud of this!

(Btw, sorry for the double post! I'll try to post less)

I made a small jungle house.

Hi all, Quick update with a bunch of fixes and changes.

Updated save system, optimisation and screen tear fixes, a new shoutout room and more sounds.

Don't forget to follow the kickstarter going live on the 20th! https://www.kickstarter.com/projects/9fingergames/zapling-bygone

Enjoy!

Subscribe to technoblade

Pigs can push buttons for you!

#gamedev #pixelart #screenshotsaturday

Don't forget to wishlist Toodee and Topdee on Steam!

https://store.steampowered.com/app/1303950/Toodee_and_Topdee/

Hey you, rookie! Yes, I am talking to you!! Come over here? Relax! Just stick to me and everything will be fine. By the way, my name is James Varhuher, but you can call me Big J. I will bring you up to speed.