Nin Online 2021 Recap


Ueda

Recommended Posts

Dear Ninja,

It's been another year... time flies! In 2021, I daresay we made the most progress on the game in a single year since its inception. Although a lot of the time was still spent on developing the game engine and making the core experience more enjoyable, we're quickly reaching a point where story content, more missions etc. is the biggest concern.

As mentioned in the recap from 2020, we aimed to get @TheWolf on the team full-time as our Lead Programmer, and the plan went through, which led to a year of great development progress afterwards. Here's a short overview of some of our development over just this past year!


Further Server Improvements

In 2020, we remade the game's server (previously in Visual Basic 6) to C#. In 2021, we went one step further and upgraded it to perform better & more consistently over time, rewriting a lot of the core code and replacing dated technology like .NET Framework with .NET 5, turning it into a console application as well as other ways of making it more lightweight like moving some of it's functionality to our cloud database.

We also rewrote a lot of logic, cleaned up the code further and are building new functionality like the new tournament system modularly.


New C# Client with 64-bit processing!

Yes, that was this year.

unknown.png

We gave the game client the same treatment as the server, moving to C# and modern technologies within a span of a couple of months. An interesting story is that we reached out to companies that specialized in converting dated software to modern technology, asking for a quotation on doing it for our client. But before they could get back to us (in a couple of days), we were already close to finishing a working prototype of the new client. I'll let the emails speak for itself.

image.png

I'm sharing this as a testament of sorts of how stupidly efficient and talented (mainly Wolf) our team is and how proud I am of it. A team of professionals who've made their careers around modernizing code bases brought up concerns, recommended other options and told us we might not be able to reach the same performance of the game client in C#. Yet we did all of that and improved performance marginally in a matter of days before they could make that response.

In comparison, there's games currently like Habbo Hotel, MapleStory with multi-million dollar budgets and teams of dozens of people working on similar projects and barely scrapping through or failing at. Habbo Hotel re-launching it's old client after a failed attempt at deprecating it and replacing it with a Unity client and MapleStory losing 32-bit support completely, taking years despite simply being an upgrade to support 64-bit processors - not even a full rewrite. After learning from what we did with the visual basic 6server conversion project, the client was for the most part a breeze for us!

I'd also like to thank our Gold Ninja & Silver Ninja on Discord who started testing the New Client with us since January, in preparation for the deprecation of the old client in April. Our Gold Ninja program has always been a way for players to show support to Nin Online through donating a one-time fee, the same price as an indie game title and It's completely optional! While other games monetize through subscription models or by selling Pay-To-Win items for real world currency, Nin Online continues to believe that ethical Free-To-Play is the way to go.

This is what the New C# Client looked like at launch in April!

ezgif.com-gif-maker.gif

Once we had both the client and server modernized, development significantly sped up. We were no longer held back by dated development tools and the lack of proper debugging tools. Here's just some of the awesome stuff we worked on this year.


Automated Tournaments (& Events) System

As our latest major feature, we've replaced the need for GMs to host tournament events with our very own automated system that can (currently) handle hosting 1v1 tournaments better and faster than a human could and with less error. We're still expanding on this, but we plan to make it as stable and all-encompassing as possible and then schedule automated tournaments throughout the week so that players can depend on it always happening on time and efficiently!

GIF 12-24-2021 1-24-31 PM.gif
Click on the image to view the full video!

image.png

While 1v1 Tournaments are not the main focus when it comes to Nin Online gameplay, we recognize that this is a fan favorite event (the best things are usually the simplest). We'll soon make it support team tournaments and much more as well. The eventual goal is for this system to be able to host a Chunin Exam by itself.


Hair Color Rework

Something I've been talking about doing for a long while (since we first launched the new client in the start of 2020), making it so hair colors only require one color artwork (white) and a graphical shader recolors it based on the user's preference was something we finally got to add.

47921376_GIF11-18-202110-22-06PM.gif.773955002580f3afa242f257d10006b0.gif

This update served more purposes than it first seems, solving multiple problems...

The first issue with the old way we did hairstyles (27 colors and 27 artwork files required for each hair) was optimization, if multiple players were on the same map with different colors of the same hairstyle, it would still require a separate texture to load. Textures loading can cause stutters on older PCs and take up a lot of memory. We reduced the amount of hair texture files 27 fold, meaning we went from 2214 texture files to just 82.

The second issue was that preparing artwork for new hairstyles took a lot of unnecessary work, with each hair artwork needing to be manually recolored to 27 different color palettes. This reduced work time for each hairstyle and made adding them more accessible for us and for players to contribute artwork.

The last issue was that we wanted players to pick from any color in the spectrum, and for individual parts of the hair (eg. Accessories and dip dye designs). We came up with a very advanced solution that only requires the use of a single texture file for each hairstyle, while still containing all the information needed for the graphical shader to know what to color for each color channel.


New Day/Night System, Advanced Lighting, Dynamic Shadows & More!

Arguably the prettiest thing added to Nin Online since 2013, the new Day/Night overlays, God rays, Lighting system and Dynamic shadows have come together to make Nin Online so much prettier than it was before. Some of this was inspired by the player @Adarya whom submitted great fabricated screenshots for the Screenshot Competition we held in June. This really goes to show that a picture can speak a thousand words.

Screenshot8.png

Nin Online has always had beautiful pixel art thanks to dozens of contributors over the years and myself. But until now, these graphics have not been used to it's full potential. I mean, how could we have had lamp posts that never lighted up at night for 7 years until now? That's pretty hard to fathom in hindsight. The only reason we couldn't do it was that it would've never been performant/optimized enough for players on our old Visual Basic 6 client. I'm just so glad we're past that now.

Advanced Lighting

ezgif.com-gif-maker (25).gif

GIF_10-22-2021_9-48-13_PM.gif

image.png

The lighting system is also probably one of the most optimized 2D Lighting systems ever made, generating quadtree meshes so the client knows only what is needed to be rendered at the time.

unknown.png

Dynamic Shadows

Another cool visual feature is that characters now cast shadows in real-time, based on their positions relative to the light source. This gives a very pretty effect that is clear from this image!

GIF_10-26-2021_1-54-42_AM.gif

By the way, all the lighting is updated instantly for all players, editable within the game itself by our developers. Nin Online's development toolset is contained within it's game client, which while is very complex to make, makes it possible for us to add content and many of our updates instantly without the users required to patch their clients.


New UI System

Maybe one of the less obvious advancements we made this year was the creation of a custom new immediate mode user interface (UI) system that has allowed us to rapidly create new UI. As such we've been able to add all of these UI very quickly. A lot of development of new features was previously held back by not being able to easily add UI.

image.png

Here are some of the new user interfaces introduced or remade this year: Cash Shop/Specials Items Stash, House Panel, Corps Panel, Title Management, Report Player, Confirmation Prompts, Blessing Message Input, Mailbox, Options Panel, Notifications

And these are just the user interfaces accessible to players, we also use this on our developer tools!

One thing players probably don't know is that we actually developed two new UI systems this year and are in the midst of deprecating the first new UI system in favor of the New New UI System (the immediate mode one). The first UI system was alright, it was used for the Options Menu and the Mail System, but it was tedious to add new UI so kind of defeated the purpose of it. It also had rather poor performance due to re-cursivity in the design.


Mail System

image.png

A feature that seems almost like an afterthought, but is actually very useful for us, is the new mail system. With this, we're able to easily handle things like giving our items to players whom are offline without manually accessing the database to edit player accounts. We're also able to distribute prizes, quest items, send furniture back to players when Kage clear them from shared spaces etc. Basically any time we need to give someone an item while they are offline or their inventory is full, we can use the mailbox now. So the mail system is actually a lot more important than it seems.

We also will soon make the mail system usable by players to send items and messages to one another!


Instanced Maps, Housing & Furniture System

image.png

Another huge feature added in 2021 is the new instanced maps feature. This allows us to have maps that are not loaded into the server's memory all the time, so they don't have any strain on the server, unless players need the map. That limitation would've prevented us from sustainably introducing player housing, because every player would've meant an additional map that needed to be loaded on the server start up, and taking up the server's memory.

Adding player housing on top of the instance feature was then easy, and to make players able to customize their spaces, we added the furniture system which players are already using creatively to create shared arenas in the village, bars and other roleplaying spaces.

Mist Village Public Arena

image.png

@Northwind's Bar in Asoki Port Village

image.png

We can't wait to introduce more furniture in the future and let players get creative with it.

Also let's not forget Wolf's side project that he worked on in his off time made it so you can watch YouTube videos in Nin Online through TV furniture, or display your favorite YouTube Videos in your house for visitors!


Cloud-based statistics & analytics logging

We moved all our server's analytics to our cloud database. Thanks to this, we're able to share some fancy statistics!

image.png

As of 13-Dec-2021, we are seeing 61 average players online across all time zones, and peaking at around 100-148 players online daily! (in Toad, English, North American Server)

image.png

We've had 39,240 Ninja in the English Server create their ninja in-game!

image.png

image.png

It's times like these I think back on the 2016 thread pointing out that "Nin Online is dying" and titled as such 😂

Corporation System replaces Official Organizations

Our old Organization system was unsustainable as it required a lot of admin intervention to keep running. Every time we introduced more organizations, it created a lot of administrative work. Hence, as one of the first targets of this year, we aimed to automate and put control directly into player's hands.

The old organization system was flawed because it was too hackily linked to the forum software and with a third party forum plugin that was deprecated. We did not have the source code for the plugin, so we were unable to make it do what we needed or upgrade it for the forum software's latest versions. As such, the old organization system was holding us back from upgrading the forum - and oAuth 2.0 was broken on the versions of the forum we were on. This created a dilemma for us that we had to solve all at once or not at all.

We have completed the first, most important, part of the systems that will fully replace the old organization systems aka. Corporations. At first, it was using Winforms for the UI, which was very hacky and unintuitive, but once we were done with the New UI system, we created a new UI for it with that.

image.png ezgif.com-gif-maker (3).png

The new corporation system includes functionality such as adding limits (max tenancy period) to how long a player can remain in the Akatsuki, ANBU etc. as well as how long they cannot return (time out). It also allows for setting of roles and rights of those roles directly in the game.

The next step in replacing the old organizations system is our plans for a Player Organization system that will just be called Organizations. Players will be able to create ie. Guilds that they can add more players into. Players will be able to contribute towards the organization to unlock new features for it's members. This will hopefully be done in 2022.
 


In total, we finished over 150 Programming Tasks

This is just another interesting statistic from our private workspaces. We moved from using Asana to Notion this year, and together eliminated 153 out of 214 tasks in our list (of things to that are required for Nin Online to be code complete). This list included tasks that dated back all the way to 2014 as well as newer tasks. We don't add tasks for things that can be done quickly and immediately, so these are all at least somewhat substantial and can range from anything from "Make player outlines render above everything" to "Auto-Tournaments" to "Lighting System".

GIF 12-24-2021 12-30-25 PM.gif

When I talked about some of the major development changes earlier on in this post, I had such a hard time picking a few out of the list of notable features to expand on because there were so many important changes, but here are some of the others that you might have forgotten has only been added this year...

Other Notable Features

  • Transformation Jutsu
  • Pushball Event
  • Red Light Green Light Event
  • Notification System
  • Blessing Messages
  • TV Functionality for displaying YouTube videos in Nin Online
  • Corp Chat
  • Zooming Camera & Target Tracking
  • Running Indicator
  • Player Reporting System
  • Smooth NPC & Projectile Movement
  • Smooth Knockbacks & Knockback Direction Rework
  • Huge optimizations to game installation size
  • Pardon/Exile cooldown
  • Raid System
  • Removed Authentication Server in favor of passive cloud-based solution
  • Server upgraded to .NET 5
  • Chat Swearword Filter
  • Cloud-based Player Saves
  • Replaced Zlib with LZMA for graphics & packet compression
  • oAuth Login System
  • New Map Renderer
  • New Player Renderer
  • Offset AoE Atatcks
  • New Graphics Encryption method
  • Moved Item & Jutsu Data to Cloud Database
  • Chain Missions
  • New animated login screen
  • Keybind Settings in the Options Panel (Previously they were done in notepad config.ini)

Quality of Life Changes

  • Items & NPC names display toggle function and keybind
  • New outline targeting shader & color options
  • Chat bubbles are hidden for players who are cloaked
  • Item drop animation
  • Chat bubble duration based on message length
  • Colored Chat Bubbles
  • Confirmation when Adding Stats
  • Revealing targets behind large objects/buildings/trees aka. Look behind feature
  • Camera moves to NPC you are talking to
  • Displaying Player Title over names
  • Emoticons positioned based on name and title visibility
  • Confirmation prompts for buying/selling items
  • /ignore is no longer case-sensitive
  • Clipboard paste to chat box
  • Option to skip Genin Test
  • Login status displayed on the login screen & new login background
  • Expand Chatbox Feature
  • Ninja Time Displayed at bottom left of the screen
  • Camera Speed Setting
  • Dynamic Game Window Resizing

We resolved over 100 Issues

This year, we introduced the GitHub Issue Tracker, and then deprecated it, moving over to the new issue tracker right in our forum software. Throughout the year, players submitted issues they were facing. These were anything from crashes to minor bugs affecting them. With this system, we managed to resolve over 100 issues that were submitted by players.

Some of the major bug fixes this year include...

  • Fixed over 30 crash bugs
  • Fixed weapon timer desync causing every alternate attack on some weapons to not register
  • Fixed summons not being able to use or get DoT buffs
  • Fixed summons killing NPCs not counting towards XP and Kill counter for missions
  • Fixed player directions not updating visually on the client side when auto-attacking an enemy
  • Fixed Team Display Icons
  • Fixed trade requests failing sometimes
  • Fixed login screen using unnecessary CPU/GPU processing power
  • Fixed heals sometime doing 1 extra interval
  • Fixed bug where If you cast Substitution right after moving to another map, you get stuck

Content Additions

This year, we introduced the Level 50 Questline - Land of Iron Arc - as well as a bunch of World Bosses (Dark Monkey King, Dark Weasel, Chimeriko  etc.)

We added housing districts in each village, and over 100 furniture items.

Besides this, we released dozens of cosmetics, event prizes & NPC drops and more!

This year saw even more player contributions, with a large number of players stepping up to contribute hairstyles, clan items, event prize artwork (pixel art) to the game. This is awesome because Nin Online has always been a game made by fans for fans, and so seeing players contribute their time to make the game better in the areas they want is encouraging!

We also spent some time aiming to make the beginner experience a little friendlier with the Level Up! Quest Lines, free automatic stat reset at level 10 and more...

We also balanced quite a bit this year with...

Major balance changes

  • Reduced Critical Damage
  • Charging Chakra Rework
  • Sensory Jutsu rebalancing
  • Mystical Palm Jutsu rework
  • Will of Fire rework
  • Weapons Mastery Requirements
  • Free Stat Reset given at Level 10
  • Transformation Technique reworked
  • Rebalanced missions that were too hard
  • Added Level 30 Bubble Jutsu
  • Gentle Fist, Weapon Master, Medical Ninja and Taijutsu balancing

For a full list of changes, you can start on Patch Notes page 30 and work your way up to 34!


Deprecated Old Updater Software

We also abandoned our old Updater/Patcher software that was made and maintained in-house in favor of using PatchKit. This helped solved a regular issue of players who had problems updating their games because of their Anti-Virus software not trusting our C# application. PatchKit settled this for us by having their own certifications and took a burden off our shoulder.

Old In-house C# Updater application

68747470733a2f2f692e696d6775722e636f6d2f

New PatchKit Updater

image.png

The old updater software is now open-sourced and free for non-commercial usage.


New Forum & Website Designs

This year, I also found time to upgrade and revamp the forum software and website designs, after almost 3 years of the same designs (since beta launched). It's something that I've been wanting to do but has never been a priority. I grew up in the 2000s spending a lot of time as a web designer/developer, so a lot of small things about the old site and forum designs bothered me.

This became important because of the game becoming more integrated to the forum through the login system using oAuth 2.0. oAuth 2.0 is the standard for security in logins on the web. It is also partly what allowed us to deprecate our Authentication server (a separate C# server application that would liase with our forum's MySQL tables to verify logins) since all of the authentication is handled by the forum, along with the move to MongoDB for the game server registry.

The website is important because that's the first thing that anyone who visits our website sees!


Two Game Services

On top of all that we did, we also were managing two separate game services. North America aka. Global Nin Online and Nin Online Brazil. Shout out to @Kenock, for taking on the role of Ueda in Brazil. This meant while we were pushing updates to Nin Online, we were also regularly pushing updates for Brazil. We also went through a lot of trouble, switching between hosts in Brazil multiple times, I can count at least 5. Hosting in Brazil is not as convenient as in North America, as servers are both weaker and over priced, hosts are less professional etc.

In Nin Online Brazil's first year of operation, it already has

image.png

and peaks at around 70 Players online daily with a 31 player online average across all timezones.


Events

As time goes on, we hope to provide more and more events for players as a game service. As such, automating them is crucial to free up time from hosting repetitive events, to create creative events that players can enjoy each season.

This year we managed to host 3 seasonal events,

8th Anniversary aka. Level Up! Event
8thanniversary.png

Halloween 2021 Event
Halloween Event Outline Final 2.jpg

Christmas Hidden City of Joy Event

Letitsnow2021.png

In particular, the Halloween Event was something we tried spending more effort doing. This included searching for prize sponsorships and handling logistics for prizes. Once again, we're thankful to JumpButton Studios for sponsoring prizes for the event. Thanks to them, we were able to give 1000 USD worth of prizes including brand new Nintendo Switches and Razer Accessories.

We learnt that it is a lot of work to run an event on such a scale. As such, we'll probably not do that very often or at all anymore and instead focus on events that can be automated and scheduled by the system. Eg. A yearly halloween event that activates itself without our intervention.

This year, thanks to our GM Team, we managed to host 6 bi-monthly Chunin Exams, making it the first time we've successfully hosted it as planned!


Final Notes

There is a lot going on behind the scenes every day to make Nin Online possible. There's also a lot of decisions that may seem trivial or not make much sense from a player perspective in the short term. Like why it was important for us to move to oAuth 2.0, why we had to deprecate the old Organization system. But each decision was made with a lot of careful thought put into it, and unfortunately, with limited time comes unlimited responsibility, so I couldn't be spending time justifying each change we made. Instead, just as I've done for 8 years now, I let the results speak for itself and hopefully after 8 years people will start to trust that the game just gets better over time and that we know what we're doing.

8 years is crazy to me, I don't believe there's another game out there in such active development 8 years after it's inception, with our (lack of) budget. I feel it's always necessary to point out that Nin Online does not have the large scale funding that most MMORPG projects do. We're a team of 2 developers and lot's of volunteers. We don't monetize unethically, and we still work full-time on the game because you love it.

I'm super proud of what we've accomplished in 2021. I think it's hands down the most productive year in Nin Online's development. This coupled with what we have in store next year gets me excited to continue to be at the helm of Nin Online's development.

2022 is looking just as hopeful, now that the game's codebase is both modernized and stable, you can expect major improvements and feature changes at a good pace. We are also set to launch 2 major story quest lines! Once we're done with that, the sky is the limit for Nin Online.

There's never been a better time to play Nin Online, and to introduce friends to the game, so if you enjoy Nin Online, we hope you tell all your friends about it! (and we'll say the same thing next year when it's even better)

Oh, since you made it this far, here's a special discount coupon you can use in the cash shop (First 100 uses only!)
LETSEND2021GOOD for 21% off anything in the Cash Shop

Regards,
Ueda

 

If you liked this post, maybe you'd be interested in learning the History of Nin Online that I wrote about a couple of months ago

Nin Online Story

 

Past Year Recaps

 

 

  • Like 22
  • Thanks 2
Link to comment
Share on other sites

What a year, excellent growth and development, plus performance is the best it has ever been.📈

So many new additions, I don't know where to start! The auto tournament and event system was the icing on the cake to top the year off. 😍

Appreciate ya!

Thanks, fellow Ninjas & Staff for making this year enjoyable! 😀

Happy New Year 2022!

  • Thanks 1
Link to comment
Share on other sites

This year was an amazing boost to nin online developpment. The days where we would massively crash every 5 minutes or so is far behind us! The game runs so smooth is so fluid that we may not recognize it from the alpha and beta. 

The new in-game graphics are just marvelous. The new lightnings/shadow system are something I would never have expected in a 2D game. I dont know much about programing and all, but id have expected my FPS to drop with such graphical changes...turns out its even better now xD.

The in-game pvp balance was greatly improved and I can just thank you for it.

This game is my favorite game since 2015 (even tho I might not have looked like i appreciated it at some point.) and it keeps getting better and better. Its a major part of my life and all of this is possible because there is a team that works hard to make Nin Online possible.

Thank you guys!

With all my love, even tho it looks like hate sometimes,

Indra.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.