NokiMo
shibagani48
shibagani48

patreon


Weekly report Aug 4/5, 2024

Hello everyone! Thank you as always for your support. Let's take a look at this week's progress!

After a long and extended development process, Bahell Ground is finally almost complete! To be honest, I had somewhat given up, so I’m very relieved. I’ll hurry up with the manga... Although it’s still a limited release,

if you’re interested, you can play it here.

The password is "yRdWTqeMq6Zt5FD"

*Bahell ground*

That said, it ended up taking the entire week. I was despairing because I couldn’t get the exit process to work no matter what I did, and even asking experts didn’t help. After investigating various causes, I discovered that it was due to some code I had written earlier. As I struggled further, I also began to understand the proper procedure for terminating the simulation. In Quantum, you use events and signals to operate entities, but the receiver sometimes executes the process twice for one callback, or all entities receive the signal, causing the process to be applied to unintended entities. I can’t say I’ve mastered it yet.

The waiting room was just as challenging as the exit process. Every time a player joined, the latest information was supposed to be updated, but synchronization didn’t work well. The number of players and their status is common information for all clients, so I initially tried to construct the screen using entities. However, entities couldn’t be integrated into the UI rendering, and there was a delay in updating the latest information, making them unusable. I was about to give up, but I found out that room information, which gathers players before starting the simulation, can be smoothly collected. So, I switched from using entities to using room information for screen construction. After that, the information updated so smoothly that it felt like all my previous struggles were a lie! I was ecstatic.

But the challenges didn’t end there. The input information when pressing a button wasn’t reflected properly. I later found out that Quantum’s simulation has a very strong quirk in reading button inputs. The determination of a button press is divided into three stages: when pressed, while holding, and when released, but this wasn’t transmitted accurately. Originally, I planned to implement a touch console that could be operated even on smartphones, but I abandoned this plan because the input couldn’t be transmitted properly. Input via keyboard works somewhat accurately. If we officially adopt Quantum, we’ll need to overcome this issue.

From the point where I resolved the above issues, things began to proceed rapidly and smoothly. I also discovered that the information received from the callback differs between entering the lobby and being in the lobby. There’s a lot, so I’ll list them:

- Randomization of seed values

- Obtaining identified entity information

- Setting character parameters

- Setting sound

- Implementation of offline gameplay

- Implementation of NPC AI: I tried to separate player characters and scripts using a filter function, but the class inheritance was not flexible, so I gave up and implemented it with a common script.

There are also some features that were planned but couldn’t be implemented:

- Smartphone support

- Displaying results

- Setting the number of players in a room

- Filling in missing players with CPUs

- Adding a timer to the waiting room

These would be nice to have, but they’re not necessary, and more importantly, I’ve spent more than enough time testing the implementation of online functionality, so I omitted them. I might add a result screen later.

Although some bugs remain, it’s essentially complete. In my excitement, I quickly conducted a test play on Discord. As you know, people gathered from all over the world, so there were concerns about the connection, but we were able to play surprisingly smoothly. This result was enough to make me appreciate the brilliance of Quantum. By the way, the server is fixed in the United States.

There are still some noticeable bugs, so after a little more tweaking, I’ll release it to the public. Then, I plan to call for a large-scale battle event on Twitter. If things go as I expect, this game can accommodate 100 players simultaneously. The winner will get to play the Hellversus demo. If a Patreon member wins, the prize will remain the same.

Quantum also adopts ECS. In short, it operates smoothly even with a massive number of objects. I tried experimenting by increasing the number of characters to 1,000. The processing speed is incredibly smooth! In the Unity-only version, even 100 characters caused slowdown, so I was amazed. Well, fighting games don’t have many objects, so it doesn’t really matter. Someday, I’d like to create a simulation game with lots of soldiers.

*Future plans*

So, after overcoming many hardships, I’ve reached a temporary conclusion in the online test, but should I officially adopt Quantum? I still can’t make a decision. Here’s why:

- Quantum is certainly convenient, but it’s a profit-driven service provided by a company, so sufficient support costs quite a bit of money. As I’ve said many times, this project can’t expect large profits.

- There is an astonishing lack of references, and they are unclear and unfriendly. I’m concerned about whether I’ll be able to solve major issues on my own in the future.

The first financial reason is particularly troublesome. In the long run, if we can’t continue to pay or if the Quantum company goes out of business, we won’t be able to have online battles anymore. The appeal of GGPO, which can be played permanently once implemented, is immeasurable. I might take a break, but I also plan to check out GGPO.

That said, the test wasn’t without its merits. First, I was able to learn the entire flow of online connection, which had been vague until now, in one go. And I was able to show everyone that online functionality can really be implemented. Most importantly, being able to implement something I thought was difficult gave me confidence.

*Plans for next week*

- Manga creation

- Revival post of past manga

- Tweaking Bahell

- Bahellground YouTube stream

Since I couldn’t work on Hellversus at all this month, there won’t be a demo update. If I have time, I’d like to add a frame display. Also, I’ll be on vacation during the first week of September, so I’ll be taking a break from weekly reports.

---

That's all for this week. Thanks to everyone's support, we can continue development! Much appreciation.
Have a great weekend!

Weekly report Aug 4/5, 2024

Related Creators