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

Finished a project I've been working on over the last few days!

Modeled and textured in Blender.

#3dart #lowpoly #npbr #fantasy #hut

I have added rewards for quests so that villagers can give you something in return for your hard work helping them. 🥳

I want to know - what's your favourite quest reward?

Back in my art school days I used to ride the 710 COPSA line from Parque Del Plata to Montevideo almost everyday. This is the Marcopolo Viaggio G4 Mercedes Benz model from the late 80s, one of the older bus models that was running on the line.

A house I've built a while ago. :)

It nicely separates the snowy biome from the grassy one.

It's built with painted Ebonstone.

Very ambitious construction going on in Planet Zoo on Plays today. We're tryin'. LIVE: www.twitch.tv/dreamhackplays

Levels' maps.

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

Animation test. Not an actaul conclusion to who wins sonic vs Mario. Just a test animation combo.

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)

Colorful Fox

Happy Late Easter!