Tele-Arena Game Engine 1.0

Tele-Arena discussions
daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: Tele-Arena Game Engine 1.0

Post by daniel_spain »

DeusMachinae wrote:
> This code is agnostic since I used it to create an offline tool to just
> print exp charts.
>
> Oh and if you haven't converted exp to a 64-bit int, you ought to. 4
> billion exp is awfully low and can be achieved in < 2 months of
> scripting.

I created a similar system, Majormud did years ago in my version 0.11 of my Classic release.
yeah I had scripters breaking the mold even with 4 promotions, in Platinum I needed not worry
since it had paragon leveling after 4th promotion so the exp would constantly reset each paragon
level but with some of my others like this project, and TA1/TA2 I needed to find a way to allow say 16 billion exp
and that works just fine, really ugly looking internally but from the players perspective its great.

daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: Tele-Arena Game Engine 1.0

Post by daniel_spain »

Kracken wrote:
> I digged the snippet and ran it locally with this output:
>
> ~ $ ./ta_exp.o
> Warrior Sorceror Acolyte Rogue Hunter Druid Archer
> Necrolyte Legate
> 124 180 149 120 124 180 124
> 149 129
> 620 900 744 600 620 900 620
> 744 644
> 1674 2430 2007 1620 1674 2430 1674
> 2007 1737
> 3472 5040 4160 3360 3472 5040 3472
> 4160 3600
> 6200 9000 7425 6000 6200 9000 6200
> 7425 6425
> 10044 14580 12024 9720 10044 14580 10044
> 12024 10404
> 15190 22050 18179 14700 15190 22050 15190
> 18179 15729
> 21824 31680 26112 21120 21824 31680 21824
> 26112 22592
> 30132 43740 36045 29160 30132 43740 30132
> 36045 31185
> 40300 58500 48200 39000 40300 58500 40300
> 48200 41700
> 52514 76230 62799 50820 52514 76230 52514
> 62799 54329
> 66960 97200 80064 64800 66960 97200 66960
> 80064 69264
> 83824 121680 100217 81120 83824 121680 83824
> 100217 86697
> 103292 149940 123480 99960 103292 149940 103292
> 123480 106820
> 125550 182250 150075 121500 125550 182250 125550
> 150075 129825
>
> (note alignment is OK but this forums strips multiple blanks)
>
> This is two nested loops (outer = levels, inner = class), and each classes
> struct have constant "name" and a numeric "exp" value
> (warrior = 62 and sorceror=90)
> Looks like it's the "factor" that greatly alter the number of xp
> required to go through the next level.
> The inner loop passes each class and level to calcxp2() + calcxp() and the
> calculation are done with both methods. IIRC this was generated with the
> original calcxp().
>
> Yes calcxp() is pretty intricate, doing bitwise right shift on the values
> (hmm), taking into account 2 levels of promotion. Would be interesting to
> compare the output with real data and see if it's accurate. I don't
> remember what was missing.

if you add the base exp per level "#define DEFEXP 1000" it comes close, at least in the early levels.
in Reborn I created exp charts per class and sub-class so Barbarians, Paladins, and Knights all had different values,
but it was ALOT of work, really wanna find a more common method to use to save myself since in the end
I intend on around 8 classes each with 3 subclasses and I do not want to do 24 different charts with 100 levels each.
I mean I do wanna release my 3d mmo TA engine before im too old to enjoy it.

Kracken
Posts: 77
Joined: Sat Aug 08, 2020 1:12 pm

Re: Tele-Arena Game Engine 1.0

Post by Kracken »

Code I have takes in ULONG.
Most likely Sean couldn't have expected such degree of XP'ing back in the day :)

"640k ought to be enough for anybody"
- Bill Gates 1981

daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: Tele-Arena Game Engine 1.0

Post by daniel_spain »

Few additions to the current build:

so in terms of disconnecting whilst in combat, the game already has a system in place by default where if you just drop carrier it gives monsters a free shot at you and you lose a little bit of exp, well i added an option where Sysops can really turn up the heat on the exp loss portion by setting a
punishment level from 1-100 with a 1 being a loss of 1x the exp you would have gotten had you attacked and 100 being 100x the amount.
of course some sysops have stated they do not care if someone drops carrier while playing as they are in it to have fun and that is ok too and
you can actually disable the system altogether by turning option DSCATT to no and option PUNDSC to no.

it has been stated to me before that Tele-Arena moves too fast and is one of the main reasons you can max out experience rather quickly.
well rather than redo a system that has been in place for 30 years i added a slider that allows the sysop to reduce or even increase the exp
gain in the game from -100 to 100. what this does is when the game is awarding you experience if goes off the slider, if it is a positive number
it adds that much percent to the number and if it is negative, it reduces that much exp. again for the "classic" approach you can just leave it at 0.

daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: Tele-Arena Game Engine 1.0

Post by daniel_spain »

i finally managed to get the database auth system to work where you can encode an activation code directly in the sqlite database and the system will not load the
database if the code is incorrect. this would allow you to use the engine to create your own "game" and distribute your creation to other systems. also playing with
content locking which would allow you to release it as a whole but lock it form being modified and would allow you to "patch" it with future content releases.
yeah i know selling this stuff is not a real high priority any more but sometimes i get bored and just whip stuff up, if you set it to all zeroes anyone can load the
database and modify it. On another note i have managed to create an additional 11,000 rooms to the stock 5.6 world using the editor in no time at all.

Post Reply