For the past few weeks I've continued work on combat focusing on archery and projectiles, and work on the Animation Editor continues with the addition of inverse kinematics.
First, I just want to re-affirm the current development roadmap so that it doesn't get lost among my current sub-tasks.
Adding combat to Antilia remains my top development priority. I will continue to work the project's "animation woes" with the Animation Editor and importers/converters on the side unless I need a specific animation to continue work on combat.
Once the main combat modes (melee and ranged weapons) are working I'd like to get our collection of "temporary decorative weapons" all in working order, so that finding those items is a bit more fun and there is more to play with in combat than just a single working sword and bow. To compliment the weapon variety I'd like to get a small number of enemies in the game that offer a bit of diversity as far as behavior and attacks go as well (you've seen most of these already - iichii, racha, serpents, slimes, etc.)
Once combat is in good working order I plan to spend a few months debugging and optimizing a bit, and then I think we'll be in a good place to start some community testing and getting feedback. Antilia is a huge project with a lot of things in "first pass" state still, so there's still a lot of development work to do even after testing resumes (second passes, new crafting systems, magic systems, the Sakii and Reisuii...).
Archery and Projectiles
My work on combat recently has been focused on adding ranged weapon modes to the game, something that was sorely lacking in the MMO.
Here I am working on the aiming mechanic, trying to get the bow's trajectory, character animation state, and camera to align well.
Firing arrows is becoming more functional, and they even stick into walls and hillsides when struck! (But not to characters yet.)
A system I spent a few days working on this past week is communicating the direction a player is aiming their bow to the server and the client/server part of archery and projectiles. I won't dive into the more complicated technical details, but suffice to say a lot of network communication is involved in aiming, shooting projectiles, and detecting hits for multiplayer.
Another item I worked on this past week is a "game over" or KO screen. This work also includes getting creatures and characters to go into a "KO" mode and adding new logic to AI behaviors so that creatures don't continue to attack targets which have already been defeated.
The current KO screen. (It's been pointed out that the font chosen for the character quote is a bit difficult to read.)
Animation Editor - IK
On the editor side I've been slowly adding a system to provide Inverse Kinematics (IK) when working in the Animation Editor. Our current Animation/Pose Editor only supports what is called "Forward Kinematics". With Forward Kinematics you position a character by rotating individual joints. So for a character to say, reach out and grab a cup you must rotate the character's shoulder joint, then their elbow, then their hand, etc. With Inverse Kinematics you move a 'target' point and the angles of individual joints (shoulder, elbow, hand) are calculated automatically.
While both modes are useful at times, the lack of IK in the editor makes some tasks more difficult than they need to be. Technical: I've implemented IK based on the simple "FABRIK" algorithm.
An early mathematical test of my IK implementation. The bones try to orient automatically to reach out and touch the red spherical target.
Testing the same algorithm again but with a longer chain.
I'm now starting to build an IK solution in the Animation Editor using the IK chain math developed above.
In the past week I started integrating the new IK algorithm into the editor, but first I had to refactor the way object selection and visualization was implemented. Previously only bones could be selected. If IK targets can also be selected it introduces an additional layer of complexity with multiple types of "Visualization Entities".
World Building and Lore
And finally here are a few lore articles I've been working on lately. These are all a work-in-progress as I continue building up a repository of information to write stories from.
That's all for this week, thanks for reading!
Read Comments for “Latest News Posts”
More Recent News Posts
For the past few weeks I've been trying to find a way to "retarget" motion capture animations onto the 3D skeleton the Taipii characters use. Unfortunately both approaches I tried hit a roadblock, and in my frustration I turned to solving my animation woes the only other way I know.
For the past couple weeks I've been working on the Mesh Importer and making improvements to ToiEngine's Skeletal Animation System.
This week I implemented a targeting system for combat but then encountered a bit of a roadblock trying to make headway with Antilia's old combat animations. I have since been doing a bit of lore writing while pondering my path forward.
Over the past few weeks I've been working on the Skills, Client Special Effects, and Projectile systems - and those systems are finally starting to work well in concert together.
Work on creature AI and the Behavior Editor continues to march along. Hostile creatures are attacking the player now, but I have some decision to make as to what style of player control is the best fit for Antilia and its server.
This week I finished up work on the creature nests with eggs now incubating, and hatching. Jidou and iichii now hatch, grow, and then die. I also spent a little time on the side working on clothing and equipment.
Last week my attention shifted from the AI Behavior Editor to the creatures themselves. While my intent was to start building a nice behavior tree for the jidou and iichii, I first needed to get them spawning and de-spawning from the world in a well-tracked manner.
For the past few weeks I've been working on the AI behavior editor, and this week I am happy to report that it is now functional!
This week I started work on an editor for AI Behaviors, with as many questions rising from the work as solutions. I also spent some time working on the user interfaces and restored the switch characters function.
Last week I started planning and working on Antilia's combat system, including enemy detection, an AI behavior to follow/chase another creature, and made some server improvements.
With the video update having stalled, here are a few things I've been working on in the meantime and an update on what I'll be working on next.
In this week's update I'd like to present my plans for 2023 and what's next for Antilia.
This week I continued work on the NPC conversation system, stylized text rendering, and fixed some bugs that were in the way of the next test build.
Last week I resumed working on Antilia, adding in some new fishing poles and starting on the NPC conversation system.
Last week I solved a variety of bugs and glitches when running Antilia on an AMD Radeon card, but now need to place Antilia development on a temporary pause.
This week I took a little break from bug fixes and optimizations while waiting for a new GPU for testing to arrive. Instead I worked on improving the terrain engine when used to create caves so I can complete a rough pass across the entirety of the Isle of Kasau.
Last week I focused primarily on reducing FPS drops when crossing terrain page boundaries and making a few optimizations. I also started on some improvements to the terrain system that'll finally allow for collisions with the cave walls and ceiling, and placing clutter on it.
This week I focused on issues that came out of last weeks test, a settings window, and a system for NPC conversations.
Last week I wrapped up the remaining tasks and set up our initial test server!
My focus this week was to resolve the remaining issues that would prevent us from testing, and then I also added a system to buy things from merchants and worked on the Isle of Kasau some.
My priority continues to be preparing Antilia for initial multiplayer testing, but along the way I took the time to add merchants you can sell excess items to.
This week I've been debugging and preparing Antilia for initial testing, reworked the item selection code, and added decorative crossbows and blunderbusses!
This week's update includes some details about our first upcoming test phase, development work on character respawning, improvements to the scene object editor, and some new polearm weapons!
This week I worked on the Mushroom Forest area (Moivalau Forest), the caves under Gajoi's Claw, and added decorative Hammers, Maces, and Staves
Last week I was inspired to do quite a lot of world design, with a new design for Maulei Beach and new regions for the western side of the Isle of Kasau.
More work on the network code with a focus on the login system, and I've added some temporary decorative weapons to the game.
This week I continued my work refactoring the network code, debugged tine character creation process, and spent some time working on the Taipii Guilds.
This week I (mostly) finished up Wei Garden, started some needed optimizations to the networking code, and fixed some user interface issues. I focused primarily on refactoring and UI fixes this week, so this update will be brief.
This week I tried to wrap up work on the Chat Window, made improvements to the games teleport/respawn points, and started on a list of everything that needs to be done to get back into alpha testing.
This week I continued working on that chat system and added a new set of ruins to the Burning Sands
This week I started work on the chat system, and continued general preparations for multiplayer testing.
This week I started work on Antilia v0.12, with a focus on multiplayer and preparations for alpha.
This was the second week of my c++ programming break, and as a change of pace I continued work on the lexicon and website!
This week I made improvements to the website, and roughed in more pages to the lexicon!
I just posted a new update video with a look at Antilia's new pathfinding and AI behavior systems. Characters and creatures are moving around on the Isle of Kasau now, and the Taipii are starting to work together as a simulated community!
Last week I focused on testing and fixing bugs in preparation for the upcoming video, and managed to implement a few small improvements I've been wanting.
As the mid-year point closes in I spent time this week trying to wrap up the foundational NPC behaviors and get a few new behaviors in place. As I transition to working on a video update over the next few weeks these updates will likely look a little different - with tasks related more to debugging and video production and less world building.
This week I worked on a new "Task" system to compliment AI Behaviors, gave the southern side of the Isle of Kasau some preliminary layout passes, and improved the sea rendering.
This week I added two new regions to the game and improved a third, added treasure chests to make exploration more fun, and experimented with a new topographic style map.
This week I implemented a new AI Behavior for felling trees, improved the area around the logging camp, and added a new "Bamboo Ponds" area nearby.
The new Antilia website is now (mostly) live!