Hey LightNiters! Welcome to our monthly Dev Blog where you will read about some of the progress we've made during September. Our ECS and Multiplayer systems are progressing consistently, and we've included some improvements in the store and landing page, and several backend enhancements to ease bug fixing and interaction with our users. Also, don't miss the new customised skins we've created with some of our collaborators' topics and aesthetics! Enjoy the read ?
Store
Some UX improvements have been carried out during September. We have made the web platform onboarding process more intuitive and compelling. No more friction when getting started with Light Nite ?
Registering
Once you purchase the early-access, we have made easier the account registering process. We have designed this new web component taking into consideration mobile-tablet responsiveness.
This onboarding process also comes with in-step validation, so in case the chosen username is already taken or you type an incorrect email address you are notified.
Landing Page
Now it's way easier to purchase the early-access directly from the first view of the landing page. We have allocated another buy-now button on top of the trailer video. We have also switched the video to the one we did with Blockstream, as we liked the footages more.
A cool effect of this button, is the stickman that appears when the mouse is around the button. Check it out below!
We have made some design & content improvements in our landing page to include more documentation about required & recommended system requirement to run Light Nite in your desktop system.
It was an important section to cover in details to ensure our users the system requirements prior the early-access purchase.
In addition to this, we have also added the icons from Windows, Linux & Mac OS. So users now have more clue about the operative systems in which Light Nite is available.
Customization Assets
We added a few new assets to the store. See below 6 unique new skins and packs customized for some of our collaborators and clients. We hope you like them!
Crocodile Spy Character
With a crocodile head and limbs, bring terror to the battlefield. The character comes equipped with a spy hat and a hoodie.
Bitcoin Runner Character
The character is wearing a bitcoin RUNNERS T-shirt and sun glasses. Inspired in a real athletics team supporting Bitcoin, the character looks best fit to play the long run in the arena!
Strike Collection
The collection includes two characters (Striker and Strikegirl), a sword, a backpack, and a hoverboard. The whole set with Zap's Strike lightning payment brand
Giandalf Collection
This iconic character wears a wizard robe, hat, and shoes. The melee weapon is a wizard staff with a bitcoin on top. Our guest at Light Nite events program Giacomo Zucco was part of the inspiration and the first user to play with it!
Trezor Collection
The Trezor assets (Trezor Detective, Trezor Agent, Trezor Blaster, Trezor Backpack, and Trezor Hoverboard) are not new, but they weren't properly integrated into the game. Thanks to everyone who reported this, they are now integrated.
Binance -SAFU- Shield
Another old asset that was recently integrated. We still don't have the game mechanics to handle shields, so for now, the shield can be equipped like a backpack.
Map Expansion
The island is growing, and a new level will emerge from the sea!
We are designing a new area, with a different theme. In the game right now there is an island with a little portion of a military base, which we plan to expand gradually. But before that, we wanted to go forward and try a place, and a time, very different from what we have.
Something that gives us the opportunity to test brand new environments. But, oh, did I said to go forward? Maybe I meant backwards... Anyway, we are just still in the blockmesh phase so that will have to wait.
More translations available
New language translations have been added, with the game now available in Czech, German, English, French, Polish, Portuguese, Spanish, Turkish and even Esperanto!
Thanks to our community translators for all the effort they've put into the translations.
If you want to become a part of the translation team, either to work on a new language translation, or complement an existing one, drop us a note on Discord.
Automated error reporting
We've integrated a tool to provide automated error reporting, so we can get more information about bugs and other problems that occur in the game, without the user having to explicitly capture the log and send us a report.
This only captures error exceptions that are actually thrown by the system, so logic problems are still an issue, but it's been a great help in comprehending some of the problems that are difficult to replicate in our own machines.
No sensitive data is being sent, only log data, stack traces and general system info.
DOTS technology
We've now started implementing the Data Oriented Technology Stack tech, which will power some of our systems, in order to provide best in class performance while enabling us to support worlds with millions of objects, dynamic loading and persistent modifications.
This technology relies heavily in the Entity Component Systems paradigm, a very optimized way of handling game logic, as well as multithreading, so that non-essential calculations (such as path-finding, dynamic loading, etc) don't affect the game's frame rate.
The state of the art Burst compiler allows crazy performance gains on CPU bound algorithms, which will be especially relevant for mobile and VR versions (coming in the far future).
Multiplayer
Multiplayer development has begun, and while it is still in its infancy, we expect to have a (barely) working demo soon.
The current effort is implementing network replication of the game world's entities, so we're still taking baby steps here, but we'll get there eventually, one step at a time... ;)
This first version will be based on a peer to peer network architecture, but we'll eventually migrate to an authoritative server solution, although P2P might still be used in certain situations (e.g. local multiplayer).
Our MVC-based programming model allows us to abstract the network layer entirely, so that we can easily switch between different network architectures, providers, etc, without any impact on the business logic part of the code.