MMWA Diaries #2- Expanding our world and Murphy's visit


Hello friends! ๐Ÿ˜„

Yknow I really should write more frequent devlog updates because....
ITS BEEN A REALLY LONG THREE MONTHS.
 AND I HAVE SO MUCH TO TELL YOU ALL. MOSTLY BAD LOL

The interdimensional bug
So like
Remember in the last devlog, I spoke of this server-destroying bug?
we managed to fix that.
But shortly after that fix, we noticed another strange phenomenonenon...

We called in the "interdimensional bug" that happens in the horde mode game.

If you havent tried our game, the horde mode game is pretty much like a prototype game mode made to be similar to Vampire Survivors. Players join a room and fight waves of monsters till they die.
But after some testing, we realized that when more than one game is happening at the same time, players in room 1 can interact with objects and players in room 2!!!! (and every other room)
I mean, they cant see each other, but they can bump into each other. Whats worse, players in room 2 can be hit by stray projectiles fired by monsters in room 1 and vice versa O: SEEMINGLY ACROSS SPACE AND TIME. Which is why we called it the interdimensional bug hahahaha

We found out that this was due to our game rooms being directly superimposed on top of each other, Occupying the same space. By right, Unity and Fishnet(the networking library that we use) are able to handle this without a hitch, but as it turns out, the AI pathfinding library that we used was unable to handle stacked scene physics.

TBH this was a pretty.... annoying... discovery.
We absolutely loved the speed and performance that our AI pathfinding library provided, and we really really did not want to sacrifice any of it.
It was also the only AI pathfinding library that we ever had experience using.

Suarvae and I came up with two potential solutions.
1. Keep using our existing AI pathfinding library, but instead of superimposing multiple rooms to occupy the same space, we write extra logic to offset the rooms from each other such that they no longer overlap.
Kinda like creating a "rubicks cube" game server, except each individual cube represents a game room, and instead of a 3x3 array, it can be as big as our server's specs allows. 
2. Change our AI library from our existing one to..... *Queue horror suspense sound* THE UNITY BUILT IN AI PATHFINDER SOLUTION 

After some debating and back and forth, we felt that even though option 1 seemed like the better solution in the long term, option 2 looked quite abit simpler to implement. And since it was already November and we were rushing to have something nice and presentable for two conventions in December, we really had no room for any more time-eating bugs.

The overly optimistic idiots
"No time for best. we need whats fast, at least for now. Tech debt aside, whats our best move?" I asked Suarvae, worried about the true time cost of both options.

"Option 2. Two days tops." declared Suarvae, beating on his chest (he didnt actually beat his chest. probably not. I wouldnt know, we were chatting over discord voice).
.
..
...
....
.....


.....
....
...
..
.
THE PORT TOOK FREAKIN THREE WEEKS TO TWEAK AND FIX AND GET FUNCTIONING PROPERLY O:
Expectedly unexpectedly, the port was more involved than we had initially assumed, and required minor but easily overlooked changes to forgettable bits of our code.
Oh mah lawd we were both sweating from the anxiety

TBH I'm pretty sure both of us knew that it would probably take a lil more than two days. But we wanted so badly to believe that we could get it done in that time because... it was all we could afford; The plan was to wrap the game up by mid November, then not change anything till the conventions were over.
That little three week eternity just threw a spanner at that perfectly reasonable plan.
NEVERTHELESS...  three weeks later, about the third week of November, Suarvae had squashed the interdimensional bug and every baby bug that it spawned.

Gamedev without electricity
So now that all the bugs were squashed and we had something stable, Suarvae quickly pushed his changes to our repo in cloud. But during the short coupla seconds while the changes were being pushed, LOADSHEDDING KICKED IN AND THE POWER WENT OUT O':

For those who dont know, loadshedding is when there is a deliberate interruption of a city's electrical power supply to avoid excessive load on the city's power generators. Or somethin like that.

It usually lasts two hours and we usually know approximately what time it's scheduled, but on that day, it just so happened to kick in while data was being transferred, which resulted in Suarvae's local repo getting totally corrupted.
Not too bad tho. We had been religiously pushing our changes, so getting back to where we were took another annoying day of rebuilding.
Just when we had recovered everything we lost,  ANOTHER POWER OUTAGE HIT. But this time it wasn't deliberate. it also lasted for two days instead of two hours.

Yknow that feeling when you just defeated a Sekiro/Darksouls boss after dying like 255 times and then you celebrate over its corpse, only for it to come back to life after a brief misleading moment of security? THIS WAS IT. ON STEROIDS. 

THEN.

YES.

AND THEN.

We got news that the car that we would be using as transport to and fro the convention in Johannesburg broke down.

Sigh
I got no good way to end this post hahahaha
Its not been a good time, and every step of the way really felt like one step forward two steps back.
We can only hope that all these setbacks accumulated us a good chunk of karma chips that we can spend next year hahahaha


Daffodil Starlight

Get Meow Meow Wizard Arena

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.