February Newsletter 2024-02-27T00:00:00.000Z

Greetings Rubi-Ka Citizens!

@Portaler here with an update for February 29498 AD (2024). It has been a very busy month (+) since our last update. The team has been hard at work on several fronts. First we'd like to share a summary of some of items we've been working on.

Highlights

We have a goal to be able to make initial zones like Abandoned Subway and Temple of Three Winds more polished in preparation for a community raid night. One of the key problems that makes indoor zones like Subway and ToTW more challenging is the density of mobs and how we handle things like aggro between rooms. In past iterations of PRK, mobs would engage as soon as they were within a certain range from the player, regardless of any doors or room boundaries.

Improved Aggro Logic

We've improved the logic by which mobs will aggro players. Now they will only aggro players within the same room. This will improve scenarios where mobs from several rooms over would aggro through doors. One area for improvement remains however, our aggro logic still does not account for three dimensional physics. So things like aggro around corners within the same room will still tend to happen. It is technically possible for us to add a lightweight physics engine to the server to account for serverside line of sight calculations, but we're going to hold off on this until we've complete some other more important features like missions, and other priorities.

Leashing

We're happy to share that we've implemented our first round of "leashing" logic. Mobs that are engaged will continue to engage and fight players as long as players remain within range of their initial "home position". Once they leave that home position they will enter a "Leashing" state where in they will run back to their home position with an emptied hate list, returning to their normal "post combat" routine. This should improve 'trains' in zones like ToTW and Subway. Currently this leashing logic also applies to outdoor zones. We will revist this logic with likely adjustments to be made to how it will work in the great out doors.

Client Database Version

We've recently made a shift to a more recent version of the client's database, 18.4. Previously we operated on version 15.5.5, as this version was the last SL patch before AI. The client database in the 15.x era contains items and nanos that have specific flags. Over the years the original developers made patches that introduced new flags as well as changed the way many nanos mechanically functioned. PRK however uses the most recent set of binaries from the live client. This inconsistency between client database and client binaries created a variety of problems. That being said we made the decision to move to 18.4 as this will provide a higher fidelity of item and nano support.

Bug Fixes

#643 - Cannot place items in a bag
#642 - Enemies do not appear on the minimap
#640 - 'Empty' bodies persist in the world.
#639 - The Brawl Attack action seems to be missing its stun component.
#637 - Tab Targetting currently doesn't work on most NPCs
#636 - Looted Credits are duplicated visually on the client.
#635 - Looting items isn't reflected in the player inventory.
#632 - Feared mobs teleport around instead of run
#631 - Crat robot pets cannot be spawned
#629 - The Keeper Righteous/Unhallowed Fury Item has no cooldown.
#628 - Keeper Fury item does not work after zoning
#627 - Targeting self with a hostile weapon proc running interrupts auto attack
#626 - Evangelical Reaper procs heal for too little
#619 - Attack Pet attack routine currently broken.
#617 - Shade offensive proc nanos don't
#616 - Failed perk actions have non-descriptive errors
#615 - Perk dependencies don't cast on fighting targets
#613 - Summoning the MP mezz pets cause a server crash.
#612 - Self-damage components can be passively resisted.
#611 - Self-damage nano components also cause you to take damage from damage shields.
#610 - Self-only buffs are cast on the target instead of the caster.
#609 - Mongo's Ultra Behemoth can be cast on targets other than self.
#606 - Title Levels are incorrect for Levels 1 - 4
#605 - Non attack on sight mobs attacking on sight
#604 - Joining team is currently non-functioning.
#603 - Doors to the Subway don't allow players through
#601 - The Fixer Grid item 'Data Receptacle' last indefinitely.
#597 - "MA for combined attack" does not execute fist attacks
#596 - Unequippable weapons do not indicate they cannot be equipped
#592 - Profession Implants shop terminal clickable areas change shape with camera a...
#591 - Mobs warp when rooted
#590 - Charm nanos allow overwrite
#589 - Mind Control/Charm nanos don't work
#586 - Outdoor mobs cannot be fought
#585 - Outdoor mobs are all level 1
#584 - Over-equipped (OE) is currently not implemented.
#582 - The 'Trader Debuff AC Nanos' debuff line does not apply the higher debuff.
#581 - The 'Debuff NanoAC Heavy' line (Trader) cannot be used.
#578 - Guards have 25 health
#576 - Stacked items can be split in bag
#570 - Steps of Madness mobs all have 35 total health
#568 - Steps of Madness is virtually empty
#563 - Random teleporting to Greater Omni Forest whilst in the Omni Forest
#517 - Distill Life 6 & 9 Perks do not function.
#508 - Can't Equip Candy Cord due to Title Level
#496 - The majority of the shops are empty
#494 - Instanced mobs don't leash back and wipe hate list
#472 - Swapping items with the same stat modifiers exponentially increases the stat...
#456 - Vendors sell weapons with only 1 ammo in the clip
#447 - Light of Reclaim terminal antenna in incorrect location (in front of terminal)
#427 - NPC / Mob stats (e.g. health, damage) may not match their level
#424 - Killed mobs respawn unnaturally quickly
#396 - Monsters in Steps of Madness missing idle mesh
#393 - Monster does not die and continues to fight with zero HP
#390 - right click to autoequip NCU chip or belt, don't work
#370 - Every player in a team gets the same amount of XP
#365 - Level 25 players can not enter the Subway
#363 - Mob instances always have the same level, even if it's meant to be variable
#347 - Pets do not follow correctly
#329 - Buying multiples of the same item from a vendor costs the same as one
#310 - NPC Vendors are spawning with a physical terminal at their location
#207 - "Fear" not implemented

That's alot of work! We want to make a special shout out to the new "Bug Hunters" team, @Raggy and @TinkeringIdiot.

For a list of any open issues feel free to check out Issue Tracker

Are we there yet?

Of course, as many have asked 'when will we be re-opening'? Well I'm happy to share that we have closed a great deal of critical bugs. We have a few more things to do to improve the quality of our navmesh and pathing for NPCs. After which we will be re-opening the doors to PRK and folks will be able to login, play around and explore.

As we jump headlong into 2024, we want to thank the community and encourage all to keep up the hard work on this project!

If you'd like to learn more about the project or just look around, drop in to our Discord and say hi!

Portaler

Welcome to January, 29498 AD | Project Rubi-Ka 2024-01-15T00:00:00.000Z

Greetings Rubi-Ka Citizens!

@Portaler here with an update for January 29498 AD (2024). It's been an action packed month since our last update. First and foremost, I'd like to express our collective appreciation to the Project Rubi-Ka tester community. You have been absolutely great over the years and in the past 3 months since we've expanded our tester pool we've seen a huge surge of not only activity, but quality bug reports!

The bureaucrat droid without textures will haunt my dreams...

We have some rough figures to share. The community has seen a huge increase in activity, with our Discord opening up and growing to over 110 members, 89 of which have joined in the past 2 months. We've had over a dozen different community members reporting over 72 bugs and defects. We've resolved over 60 of them, with a handful still needing final verification of resolution.

A special thanks to: @PlayboyFixer, @EnfoDoug, @Varzog, @S4ff0, @deathlef, @westtell4, @Random823, @Xannon21, @AOFlux, @praxis1988, @gigabite1123, @GlitchyGirl, and all others who have contributed this past month.

No leets were (permanently) harmed in the making of this news post.

The community testers have been hard at work, and it shows! As is tradition in developer circles, when we fix bugs we often make bugs. We do our best improve our unit testing systems to help prevent regressions. I will say that this is a challenge in a project that has grown organically as our reverse engineering discoveries often require us to rethink and rewrite entire systems. We've done this many times over the years. So as such, we have to work extra hard to make sure we move our agg/dev slider to the left and practice as much 'defensive programming' as possible.

For a full list of bugs closed check out Latest Changes page. For a list of any open issues feel free to check out Issue Tracker

A Deeper Dive - Collisions and Meshes

So, is there anything that can be shared about our deeper dives into the Anarchy Online? Absolutely, @Unknown and @3F1 have been hard at work on a number of engineering dives. One of the key discoveries of recent months has been the analysis and reverse engineering of the client's geospacial structures. They are stored in custom formats of which contain collision meshes in KDTree format. These structures determine the vertices and points that make up the polygons that form the structures of Rubi-Ka, shown below.

A peek at what the collision meshes look like under the covers.

So what value is there in parsing and understanding these structures? Well first and foremost we use these structures to build higher fidelity navigational meshes for NPC pathfinding. Additionally we have it in our backlog to use these structures to build in physics like ray tracing to determine things like Line of Sight on when firing a gun, casting a nano, being affected by an AoE vs standing behind a wall or obstacle.

By processing these structures we can bring higher fidelity physics to our server-side logic.

Do you recognize this playfield? Hop over to our Discord and tell us what you think it might be?

Join our community

As we jump headlong into 2024, we want to thank the community and encourage all to keep up the hard work on this project!

If you'd like to get involved with the project as a tester, drop in to our Discord and say hi!

Portaler

Dynamic Entry - randomly generated missions, bugfixes and more! | Project Rubi-Ka 2023-12-12T00:00:00.000Z

Hey everyone, I'm Drake, and I'm a newcomer to the Project Rubi-Ka team! I joined the team a few weeks ago as a developer and I've been mostly working on bug fixes, but I noticed that this website was sorely in need of a news update, and I thought what better way to introduce myself and breathe a bit of activity into this website at the same time?

If you haven't already, join our Discord server and get involved with the project. We'd love to reminisce about old times and talk about that time when Funcom accidentally added +15000 Stamina to a random perk action with you.

Remember when ICC looked like this? Me too, because this is how it looks on the Project Rubi-Ka server right now!

Dynamic mission system (ACG)

We've (well, it's mostly been @Unknown, to be honest!) been working on adding support for the automatic mission system and we've made good progress! We have a playable static mission which you can pull from a mission terminal, and it has the outrageously well-dressed Rubi-Ka citizens we all know and love.

If looks could kill, she wouldn't need nano programs.

@Unknown has made good progress on generating the room layout and making those little tetrominoes fit together in just the right way so that it's playable and familiar to all of us. I don't know about the rest of you but I've blitzed probably thousands of missions at this point, so if something was off about the generation, it would probably be noticeable. That isn't to say that we can't make any changes or improvements, though, but at the moment we're mostly just aiming for accurately replicating the original game.

This is a visualization of how rooms will be placed for the dynamically generated dungeon - this is a surprisingly difficult task to accomplish, figuring out how doors should overlap, and so on, is a tricky problem to solve!

Items database

As some of you may have noticed, unfortunately, one of our favorite resources, AOItems, has been suffering from issues and isn't usable at the moment. We really love the debug feature of AOItems because it makes it so much easier to track down and diagnose issues and implement new features, so not being able to use it really is a pain.

So, to alleviate this issue, Portaler has been cooking up a Project Rubi-Ka items database. We used to have one of those online some time ago, but due to refactors and so on, it hasn't been available for some time. That has changed! The items database is now accessible through the player portal, but it's still very much a work in progress.

You should take every opportunity you can to share Anarchy Online's finest grenade weapon far and wide.

Of course, this database is using the resource database version which we currently have on the Notum server (15.5.2), so it's quite a bit different from the live servers, which is another reason that it's good to have our own version. Portaler is working on improving it as I write this so I'm sure it'll be an indispensable resource before too long!

Other changes in the last month

New Features

  • The tp command has been expanded. Type /tp help for more details.

Bug Fixes

  • Weapon shops no longer sell invalid weapons.
  • Character deletion has been fixed.
  • Fixed an issue which caused session drops when zoning.
  • Players who teleport or login to an invalid playfield are safely transported into the Grid instead of being lost forever in limbo.
  • Fixed a bug where leaving a playfield would leave behind “zombie” sessions.
  • Fixed a number of issues surrounding drop rates and loot tables.
  • Fixed damaging nano programs (such as NT nukes) to actually cause damage.
  • Fixed Grid terminals so they teleport you into the Grid.
  • The costs of nanos/effects which cost credits (such as engineer robot nanos) will now be visible when you cast them.
  • Nascence chimeras now have the correct skin texture
  • Various other bug fixes and improvements.
  • Head meshes have been fixed.

Join our community

That's all from us for now, and probably for all of 2023. The Project Rubi-Ka team wishes you all a fantastic New Year and we look forward to all of the exciting bugs that we'll accidentally introduce in 2024!

If you'd like to get involved with the project, join our Discord and say hi!

Drake

Plugins Coming to Project Rubi-Ka | Project Rubi-Ka 2021-01-21T00:00:00.000Z

This week we're proud to announce one of our latest initiatives, a culmination of weeks of labor by our team member codenamed, @Unknown, one of the most talented developer's I've had the privilege to work with. His dynamic and flexible skillset has yielded one of the coolest features for Project Rubi-ka yet, a full-fledged plugin system exclusive to the Project Rubi-Ka emulated server! Our system provides plugin developers with the opportunity to create in-game plugins and UIs that allow for a deeper customization of the Anarchy Online client.

Plugin developers will work with LUA, a scripting language common in the game development scene, for quick and easy plugin development. Developers will be provided with a simple PRK Api in LUA that will allow them to query the client for their character's stats, listen to certain events and tailor their UIs as they see fit.

With this system, the possiblities are truly endless! We've very excited to roll up our sleeves and develop a new wave of custom interfaces for Anarchy Online!

With that being said enjoy some glimpses at our latest work in this area.

Organization Management Plugin

The new Org Management plugin is a brand new user interface designed to make keeping on top of your org that much easier. You can:

Currently Implemented
  • List all org members in real-time getting live updates on their status and location
  • Search your org members by name
  • Kick org members that are online or offline
  • Promote org members that are online or offline (Live only allows for online promotion)
  • Demote org members that are online or offline (Live only allows for online demotion)
  • Create organizations
Ideas For Future Org Management Features
  • Edit Org taxes, description, objective and history
  • Edit Org Contracts
  • Org Bank audit logs
  • Items support for Org Bank
  • Org Recruitment

We are also preparing an in-game Damage Meter and more. Stay tuned for more updates!


Until then, Portaler out!

{% include signatures/portaler.md %}

Where's Your Head At? | Project Rubi-Ka 2020-10-29T00:00:00.000Z

Looking to get ahead in life?

This week we've been tinkering with character meshes! We've now got a firm grasp on the process needed to add new heads for character models!

Browsing through the existing textures we can easily add a few low-hanging fruits in the form of new, existing heads. Check out two new heads available to solitus female and male characters.

So those are existing textures already in game found on cyborgs around Rubi-Ka. But we also have the opportunity to dust off our digital paint brushes and paint new head textures.

But those will come with time, as none of our team are nearly as good at painting textures as we are at software engineering (forward and reverse).


Until then, Portaler out!

{% include signatures/portaler.md %}