Hello all! Today is Thursday! Which means it’s time for a technical post, about Three. If you don’t want to read all the juicy coding based stuff, scroll to the bottom to see a summary of what has been done.
If you’re just jumping on the bandwagon, Three is an open world RPG being developed by guys like you.
Down the line some of the planned features for our game are -Dynamic Weather(including rain, snow, etc); Dynamic AI(With minimal triggers) and full multiplayer support.We know this is a big commitment but we have proven to ourselves that we have the skills and patience to develop a full scale RPG, at an amazing level of quality. We are currently a team of 8 and growing, with a wide range of specialties and tastes. With our dedication anything is possible, right now the only thing we ask for is support, after a tough day of hobby coding nothing is better then sitting down and reading delicious feedback from users. Technical Thursdays will cover the coding side of game development, including all the new exciting features underway and recently finished, while the Monday Posts will focus on the art side.
The last couple weeks has really been an extremely amazing time. Development of our game has been a roller coaster so far, with some major advancements and a few downhill, but always for the better. After getting a few more members in addition to the team, production has really sped up, and we plan to keep it going like this.
Landon and James have made quite a progression in recent weeks on features of the game such as Voice Chat, AI, Inventory and Combat.
This week Landon researched a lot on voice chat and plans to implement a form of the LSF compression algorithm(Here!) in the following days then finally complete the chat system. This includes private messaging and groups, keyword highlighting, and a input parser for ease of messaging on the fly.
Landon is hard at work on the HUGE AI system, he will be working on this for the majority of the development cycle. So far, we have a basic Mood System, Action system, and fit pathfinding in there.We are using a modification of Aron Granbergs complete implication of the A* algorithm(Here!), Landon has edited around five scripts to make them work better for our specific case. Next up, is jumping!
We use the Photon Networking Engine(Here!) to replace the outdated and connection worry method built in by Unity. All aspects of the networking was completely redone to conserve both bandwidth and CPU usage.For movement we are shifting gear now to use the new Mecanim animation system, which includes many more features than the legacy system. Including graph editing, state machines, and IK rigs.(allows realistic feet and hand positioning)
The majority of the player combat base code has been written up by James, but as of right now due to the lack of animations it is most probably rusty and not to perfection. As soon as the animations and a proper rig are given to him, he will be able to tweak the code and build upon it, but for now, pesudo code will have to do.In the inventory department, which James has re-written about 5 times ( -_- ), it has improved drastically with new programming knowledge learnt by him.
After a long fight with Inheritance and Polymorphism, he finally was able to create a easy to use inventory system that can be applied to anything and changed with ease. However, inventories are a wild beast and may flail and fight back if we try to alter the layout of the inventory, and so we are sick of using placeholders for inventory screens and are waiting for our 2D artist to develop some fancy new ones. The inventory system as of today supports infinite chests and shops, but as of right now is not multiplayer compatible. But will be!
This week Landon worked on voice chat and is close to finishing it, Landon started on Dynamic AI and has since done a complete re-write.A* pathfinding was implemented into the game, which works very well at a low performance footprint. Networking was completely redone and optimized. A new movement system has also been started on and is coming together well.
James has been hard at work redoing old inventory code in a new and more accessible fashion. He has also been optimizing his own personal GUI Handler in order to make it easier to use. After a day of hardcore coding, James also the majority of the swinging based combat backbone down and is now just waiting for fixes to the animation and rig problems.
Thank you guys for reading and I hope you have enjoyed this post, if we have impressed you with our work please :
Cheers,James(Coder/Team Lead) and Landon(Lead Coder)