Chapter 2
381 5 12
X
Reading Options
Font Size
A- 15px A+
Width
Reset
X
Table of Contents
Loading... please wait.

After resigning myself to my fate, I had Quin return to her desk as I sat down in front of her. The laptop she provided me with remained closed, seated atop my thighs. Before I even take a glance at whatever code she had written, I wanted to hear from her firsthand what she needed help with

“So. This ‘Proda’ world, what exactly is so wrong with it? If you could only have me long enough to fix a single thing, what would it be?"

Quin leapt up from her seat and grabbed the edge of her desk with both hands. “You’re going to leave me after only fixing a single issue?"

I pointed to my laptop. “Depending on what I see when I open this thing up, I might leave without fixing anything."

Quin gulped. “W-well, if you could ONLY fix one thing, although I believe you could do more," She spoke the latter half with puppy dog eyes as she attempted to appeal to me. “Then I’d be forced to ask for help with the experience system."

“Experience system, like fighting monsters and then leveling up?"

“Y-yes.. It’s eating up a lot of my time, so I’d like to get it fixed so I might finally get some sleep." She coiled her loose strands of hair around the tips of her fingers as she spoke. “Ah, speaking of which." Quin looked as though she had just seen a ghost. Wait, am I a ghost? I touch my body with my own hands once more still uncertain about what my existence in this room truly was.

As I was preoccupied with my own body, Quin got stepped away from her desk and walked towards the corner which she had first appeared in. Upon a closer look, there was in fact a door nearby which she opened up and walked inside. I got up from my seat and followed her in there, wondering what she was up to.

What was inside of that room was unbelievable. I thought that my personal setup when I was still alive was impressive - two monitors in addition to my laptop screen. But this was something else. The walls themselves seemed to be made up of a never-ending amount of monitors. Each display turned on, showing a moving image. Videos of goblins sleeping, a river flowing, a fistfight between two drunken patrons at an inn, each screen seemed to tell a different story. “What is this place?" I asked aloud, engrossed in all of the scenes taking place before me.

“This is Proda’s Lighthouse. When I first started working on this world, one of the other gods helped set all of this up for me. It provides me with the ability to see what is going on in the world." Quin stood in front of a single monitor, a notepad and pen in her hand as she carefully watched the screen.

I walked up beside her and observed what she was looking at. It looked like a party of six adventurers fighting a pack of goblins, totaling ten. It was clear watching the fight what role each person in the party occupied. A man equipped with a sword and shield stood at the front, occupying the attention of four goblins. He did his best to block and defend the attacks as they came to him. A woman with a spear seemed to be accompanying him, taking on three goblins as she weaved in between their attacks and striking back at both her attackers as well as her partner’s. 

The rest of the party took on the remaining three goblins. A woman holding a magical staff shot out a fireball, incinerating one of the goblins before another reached her. The man which had been standing furthest in the back wearing holy garments rushed forward and helped fend off the goblin in the ensuing melee. The last two members, a woman wielding two daggers and a man holding a staff worked on the other goblin. At first, the woman seemed to focus on dodging each attack and made no effort to attack. But after her support seemed to cast some sort of spell, a light briefly surrounded her. After the next goblin’s attack, she dodged it and immediately stepped in and stabbed him, finishing it off in a single hit. It was not obvious with the first goblin since it had been incinerated, but after the goblin died it’s corpse began to break apart, as if threatening to disappear. While this happened, she then dashed towards the goblin assaulting the mage and knifed it in the back.

Soon the group of goblin’s began to collapse. Once the adventurers in the backline were freed up, they were able to assist the two holding off the remainder of the group and eliminated the remaining goblins one by one. Finally, all ten goblins lay dead on the ground. The spear-lady ran over to her partner, who barely supports himself on one knee as he lay crouched over the grass. She holds him with both her hands before turning to the holy man. Somehow I only realized now that there was no noise accompanying these scenes, but I could tell that she was yelling something.

The holy man seemed to focus for a moment before a light envelops the man with the shield. There is a brief moment where there is no reaction, before he hugs the woman while gently patting her back. Tears roll down her eyes as she tightly hugs him back.

Throughout this whole scene, Quin had been silent. Written on her notepad was a simple math expression, (100*10)/6 = 166 ⅔. Her gaze was a mixture of exhaustion and disinterest. The adventurers on the screen after recuperating themselves put a bit of distance between each of them and then all sat down and entered some pose. The goblins had all vanished from sight by then. It looked very...peaceful I suppose? Almost like they were meditating or perhaps waiting for something to happen.

It was then that Quin began to take action. Her finger poked the screen where each figure sat. After tapping each spot, a small window popped up which showed a large number. She meticulously went through and wrote down the number associated with all six adventurers. After, she pulled out her laptop and opened some application. It dawned on me what she might have been about to do.

I watched as she opened up a database editor. The sound of keys clicking as she types fill the otherwise silent room. Quin carefully sends six update queries to the database. Each one using one of the ids which she wrote down and updating their xp totals by 167. Once she was finished, she hit submit and watched the numbers change.

On the monitor, I watched for any change in the adventurers. At first they remained seated, but then all six seemed to simultaneously break their pose and get up at the same time. What had they been doing?

“Meditating." Quin speaks up as if reading my thoughts. “In Proda, they believe that growth and progress can only occur through reflection after battle. What they did right, what they did wrong, etcetera. If you are unable to comprehend correctly the flow of the battle, you do not gain any experience. An adventurer should know whether they grasped the contents of the fight correctly or not after roughly ten minutes."

"...And the truth is-"

“That I have been manually updating experience for adventurers in this world. I can’t watch every single monitor at the same time, nor do they track every single thing in the world. If they are moving around it makes it difficult to obtain their id’s. Thus, after every battle, they sit still and wait for a while. Not because I told them to do so, but because that’s the most consistent way they found to gain experience. But of course, if I do not notice, or I am not available, then they still gain no experience. Their rationale? If you did not understand the fight, of course you will not gain experience from it."

“How did you learn all this? Just by watching them?"

Quin shook her head. “That exit door you seem fond of, it leads to Proda. I occasionally visit to get a closer look at the world, and so when working as an adventurer you pick up nuggets of information such as that."

"...Are you sure you didn’t tell them to sit still?"

“W-w-what are you saying? I would never do such a thing! Even if I am an amateur programmer, I would never stoop to such a thing!" Quin pouted while crossing arms. “Jeez.."

Sigh.. Well I REALLY don’t want to program anymore…" I faced away from Quin, though the corner of my eye still barely observes her reaction- an easy to read expression of nervousness. "..But I guess I can at least help you with this." I shook my head while placing my palm over my face.

“Yay!" She exclaimed with excitement. 

We both left the room full of monitors and returned to where she had originally greeted me. After sitting down at my, ugh, cube, I finally opened up the laptop she had handed to me. It was not lost on me that this was a near replica of the computer which I had been provided with at work, which likely fueled my resistance towards helping her. The screen lights up and I’m greeted with a login screen. A single eyebrow raises before typing in my old work password, “Isekai97!".

Now you might think that the 97 was my birth year, but in fact I was born in 92. To understand what the number signified only required to know that the company I had worked at required us to change our password every month. And thus the 97 was instead a marker of my time at this job, reminding me daily how long I had suffered, I mean been working there.

After logging in, the home screen looked similar as well, minus the wall of screenshots and logos that normally clogged it. “So, where is the code?"

“Ah, if you upon up your editor, the project should pop up."

I opened my favorite editor, and a window popped up showing the entirety of the codebase. A quick glance at the folder structure on the left side confirmed my suspicions, there was a LOT of code here. It looked like the libraries and dependencies were already installed, so at the very least this was all that there would be, but still.

What a crazy amount.

It could take me years to figure out where everything in this codebase is. As I quickly clicked through random files I took brief glances at some of her handiwork. It… was not pretty. There were certainly glaring issues and questionable decisions made in design and other areas. But considering her background, the fact that she was able to slap together something this large was a feat in and of itself.

A folder pertaining to the code regarding item drops caught my eye, and I began to look through. An idea started to formulate in my head. I lean back in my chair and stare at the white ceiling above, before closing my eyes.

A low murmur left my lips as I continued to think. This went on for a few minutes before Quin spoke up.

“Soooo, what are you thinking?"

I opened my eyes and looked back towards her. “I think, if we were to implement this in a clean way, it might take a long time before I even begin to understand how most of these pieces fit together."

Quin narrowed her eyes. “Are you saying we’re going to do this a messy way?"

I shrugged. “All code gets messy at some point. And the sooner we come up with a solution to this experience problem, the sooner you get to stop, uh, doing whatever it was you just had to do."

She still seemed hesitant, but slowly nodded her head. “Okay…"

“Great. Now, let me ask you this, where do you have a list of all the items in the world?"

“There’s a database table with all types of items inside it."

“Perfect. I need you to add a row to the table. We’re going to be adding ‘XP’ as an item."

“XP as an item?" She asked, confused.

“Yes. The quickest fix to any problem is typically abusing whatever systems already in place. When people kill monsters, they get items right?"

“Correct."

“And are there consumables in this world? Like potions?"

“Potions.. Even food is technically a consumable."

“Then all we need to do is create an item that monsters drop that when consumed, gives experience."

Quin clapped her fist in understandment. “And people will start using it and not need to wait on me anymore!"

“Exactly."

“Alright, so all I need to do is create an XP item?"

“Yes, and then update the monsters droppable items to also drop XP. We’ll have to figure out some way to make the quantity of XP dropped be based on the monster’s level, but your main priority is creating that XP item. If you need help writing the queries just let me know."

I looked through the editor once more and got to work. I wrote some code which implemented the logic underneath the xp consumable. When used, it would simply increase the user’s experience value based on the amount consumed. Logic like removing it from the inventory and how a consumable works in general were already implemented, so overall that portion did not take too much effort.

Next, I checked on the work that Quin was doing. It looked like she had been able to create an ‘XP’ item. I changed my code to work specifically with the ID of the XP item now in the database table. She seemed to be stuck on adding the item to monsters’ pools?

“What’s up?" I asked, wanting to hear her thoughts.

“I don’t know how to add it to all the monster tables while scaling off their level. Monsters of the same type can have different levels, but they all have the same drop tables. The level difference between the highest and lowest level can be large too, so it doesn’t make sense for the both of them to give the same amount of XP…"

I scratched my head. “Hmm, yeah, that’s a tricky one." I thought for a bit longer, before coming to the conclusion that once this issue goes away I might not have to deal with this codebase much longer. “I have an idea. Just add XP to all the monster drop tables with a quantity of 1. In the code I’ll write for a special condition which checks to see if the item being received is XP, and if so, gives an additional quantity based on a math expression."

Quin nodded her head in agreement, eager to hear of a solution. She showed me the query to update the drop table and it looked correct, so I gave her a thumbs up. I wrote the questionable logic to provide additional xp items in and hit save.

I spoke aloud my thoughts, going over what we had done. “We created an XP item in the database. We added it to everything’s loot tables. We created the code which handles how the XP item works and adds XP to the user when they use it. The equation was created which should give XP based on level, scaling up higher at higher levels due to the non-linear increases in difficulty. Is there anything we’ve overlooked?"

Quin tilted her head, thinking deeply. “I...I think that should be it?" Her voice revealed her uncertainty. Well, we can always go over it.

“Alright, l’m going to create a request to merge my changes into the master branch." After a few commands, I had committed and pushed my code with the associated message “experience system implementation” to a feature branch. I opened a request to merge it in and added Quin as an approver.

“Since this is your world, you get the final say in what goes in and what doesn’t."

I watched as her eyes slowly searched up and down her screen. A foggy expression is plastered all over her face. “Yeah.. it looks good! If it helps me out I’ll approve anything." A single click is all it takes to cement her approval. I merge the change in and it completes without any issues.

“Great. Now, let's test the code out and make sure it works. How do you normally make sure that your features work before releasing them to Proda?"

Quin’s eyebrows narrowed as she stared back at me, confused. “What do you mean?"

“Is there a world called Testa or something where you try out what you wrote first?"

“No… going and just creating a second world, do you hear what you’re saying?" Quin chuckled.”And besides, we’d have to find people and monsters for that world too, why double the amount of work we have to do?"

“Soo… how can we test it properly before releasing?"

“It’s already been released though?" Quin said, quizzically. 

“Ah."

It’s already been released.

I smiled.

Oh fuck-

12