Programming - Adam - dmIV
Having a bit of calm after the storm that was the push to get EVRIMA into your hands I went on a break to make up for the extra hours that were put in. This makes the month's update shorter than normal and even that is just going to be me talking about bug fixes. One of our more pressing matters was people figuring out how to play as unreleased dinosaurs. You can trust me when I say that I want to get the Pteranodon out there as soon as possible (because I want to work on it), but other tasks take precedence. Like preventing people from playing as unreleased dinosaurs.
My primary addition for the month is safe logging. When it went out to the QA team it caused a bit of an uproar because it was only working for a few people and not at all for others. Turns out I forgot to mention that resting is a requirement now. Sorry, lesson learned. At the time of writing there is still an issue that prevented it from going live. It's something I was not able to reproduce in the editor because sometimes Unreal is just like that. I am fairly confident that I fixed it, but we'll need to wait for the next QA build to test it.
As many of you know a major issue was the jitter when turning, especially at high speed. It's once again something we couldn’t test in-editor so it gave us a lot of headache. Multiple attempts were made, but it appears I finally found the solution. Basically Unreal tries to predict where other players will move based on their velocity and until the client receives an update from the server it will assume that others are moving in a straight line. Naturally that is not always the case and when the server sends an update with significantly different information, then that dino ends up being teleported to the accurate location on the player’s screen. When you have more players around you the server decreases the rate at which updates are sent, resulting in jitteriness for the players. All we had to do was increase the minimum update rate to a value that gives better results. The current setting looked right on our QA server, but we will be tweaking it depending on the performance of public servers.
To experience a bit of success while trying to fix the jittering I looked at various other bug fixes on the side or code improvements like streamlining the way we handle damage. The Gameplay Ability System we use supports various complex functionality and thus even the more straightforward things have to be done in a not so straightforward way. I worked on making it simple to do what we use it for. Free look (you're just going to call it alt look, aren't you) works better now if you activate it while not moving forward as well.
I also worked on setting up one of the next dinosaurs you will be seeing around The Isle, the Dryosaurus. A lot of effort went into making it easy to add a new dinosaur on the programming side, even if it is still a bit time consuming. Every creature is different so there are some refinements I still want to look at, but adding something that falls between existing dinos is something we can do very efficiently.
Programming - Filipe - FTessaro
Now that I’m back from vacation I have been primarily working on performance improvements and bug fixes. We’ve noticed that some processes were consuming a small percentage of CPU causing a bottleneck in performance, so if you have a good GPU, but a weak CPU, your fps will be locked, since the GPU needs to “wait” for the CPU. After a little tinkering we gained some performance boosts and increased stability. Besides this, servers are having problems with a memory leak, which has also improved, tests are still running so that additional improvements can be made.
Bug fixes are a constant process, especially after adding more features, like mud on the body after wallowing, collisions, etc. But it doesn't mean we can´t work on new things as we fix bugs. Dryosaurus is in development now and we had some problems bringing it’s old animations to EVRIMA, but now it’s fixed, we should have Dryos running around the map very soon.
Swallowing is an ability that isn´t working as intended visually, the swallowed creature has a ragdoll during the process, but it is spamming and shaking, so I will return to it and rework the system in order to have a good visual mechanic. It is important to look good especially when we introduce big animals like the T-REX.
Another big change we did was to replace our steam solution plugin, bugs related to steam were fixed with that, but being a new system it will take some time until we master it completely, new features are planned like friend invites.
Chief Evangelist Officer - Allen- amar0k
Whew it’s been a fun few weeks and AI is pretty close to its initial release. Hopefully within the next few weeks everyone will be in a world of pain trying to survive as the AI does not take prisoners. I am still in the process of tuning the relationship algorithm that goes into AI behaviour so it may very well be misbehaving and you might find yourself under attack by juvie Dryos.
Some of the key points that I will be focusing on;
Collision: If you have seen the streams lately you would have noticed my elegant solution for AI collision /s. It works and for the time being until collision is implemented, will do.
Targeting: AI will switch targets based on its perception and behavioural algorithm. This might do some funny things if there are lots of players picking on a single AI. I look forward to seeing how this plays out.
Behaviour: So currently the AI behaviour is pretty basic. It will roam/wander the map by itself or in a herd. It will defend itself but also actively hunt targets. They have Stamina (Use this to your advantage).They do rest & will look for and eat sources of food.
Performance: AI is mostly run server-side, It has to be extremely performant in all aspects otherwise the entire server will be affected. I have been running performance profiles and verified some areas we can improve. It’s looking alot better now and hopefully we can start to increase the amount of AI on the map. Currently I’m going to allow 60-100 MAX on Spiro and see where we go from there.
I want everyone to understand that it will not be perfect. The development time for AI has been around a month and 2 weeks. This includes me being on-boarded and learning how the project is set up. This is a very short amount of time in the software world. In saying that, I still feel like it is ready to be brought out into the community and I look forward to the criticism that is surely coming my way.
Archmagos of Business , Former Vizier of Public Interactions - ParadymShift
I’ve been a little quieter around here as I do a bunch of business organization things on the back end, making sure we are investing our finances and investing in our team and getting them the tools and people they need to actualize Don’s vision for this game and it’s future.
Much of what I have been doing is Dondi herding in getting him ready to take his lore and design sabbatical so he can focus on getting everything into a cohesive state that provides us a bit of a safety blanket should something terrible happen and he isn’t around to tell me what heinous stuff AE has planned or done to the inhabitants of the islands.
As you can imagine I’m hip deep in contracts, invoices, paperwork and licensing negotiations for tools, properties (like firearms/vests/rigs) while also writing my take on what’s important for the “Merc” side of gameplay and getting that broken down so that Kissen can get all the bits that make that part of our game work assigned to the right people on our team.
We’ve been super busy growing our team and getting the right people into the right jobs on our team which has resulted in some shuffling and some welcome additions to our management team.
To give you guys a brief rundown of what our management team looks like now. Hypno has been promoted and is now a full member of our management team and his role not only focuses around managing our QA team but also providing valuable gameplay design feedback and input. No one knows the ins and outs of the play side of our game like Jack so we felt it was important to give him a full seat at the table to help us make the right decisions.
Filipe, master of the keyboard camera angle has been promoted and is now managing our programming team full time while also providing input and acting as a sounding board for the management and decision making that happens internally. His diligent and at times ruthless approach to getting things fixed even when we have to remind the man to sleep sometimes has been very valuable to us and his attention to detail is second to none.
This means that our management team looks as follows. Don continues to serve as our director, Kissen is our Executive Producer and creative cat herder (Love you Art Team), Filipe is our Lead Programmer, Punch is our lead Community Director, Hypno is QA Leader and brutalizer of our design decision, with myself acting as our CFO/Business guy who still loves talking to you guys in the community so I back Punch up.
KissenKitten - Producer Paragon
We now return you to another episode of KissenKitten's Chronicles…
Well, after giving the team a much needed week off from production, we’re finally getting back into the swing of things. I didn’t realize just how much I needed a break until I was in the middle of taking one. This team has been going hard in the paint on this game for so very long and I just wanted everyone to take some much needed time to live a normal life, reconnect with their loved ones and just relax for a little while. Especially considering how hectic and uncertain life has been for all of us across the globe. It makes a world of difference just stepping outside and letting the sun hit your face for a little bit, taking a deep breath and reflecting on the good stuff in your life. Instead of being consumed by the bad.
Also, for all of you would be producers, production managers and team leads out there, remember to put your team first. If you want to make something great, surround yourself with great people and then, treat them as such. They’ll repay you in badass performance and an amazing work atmosphere. I have fun working with these people each and every day. I’m excited to go to work! Imagine that! Without a happy, productive team, no project will succeed, remember that. Thankfully, the time off has done some good and the team has returned to work recharged, reinvigorated and down to clown (in the best way).
Production wise, I'm gearing everyone up to focus on pumping more creatures (and their mechanics) into the game as we squash more bugs. But we've also got new concepts, new models, new rigs, new animations, new human assets and more, all cooking in the oven. Mmmm! I’m also looking to grow our team. Yet again. lol So if you’re a tech programmer, tech animator or environment artist, get your portfolio all the way together Boo. No half-stepping if you want to join our team.
On the animation front, I've completed the Dryosaurus for implementation into EVRIMA. I'm sure you've gotten a glimpse of it during Amarok's AI streams. And yes, I’ll port over the burrow building stuff for it. GEEZ! I’ve also done some new anims for the Utahraptor and Tenontosaurus. Lets see if you’re awake enough to spot them when you see them.
The EVRIMA set of anims consists of about 25 additional animations that bring the old legacy dinos in line with what we're doing with our dinosaur mechanics. Wallowing, sliding, turning in place and special attacks to name a few. Bryan worked hard in the rigging department to ensure we could streamline the conversion from old to new, relatively painlessly. He’s my hero for that! In the past, we pretty much had to completely reanimate each dino that got a new model. Between Bryan and myself we’ve definitely reanimated some dinos at least 3 times. I think the Utahraptor is a shining example of that. He did the original set, then I did the next set, then he did the next one and now I’m doing some more again. All because we either changed the character’s model or expanded it’s set of abilities or how those abilities look or function visually etc. So not having to continue like that is such a boon for us. Now that being said, we'll still have to do that for some of the super old stuff. But in truth, they need reanimating anyway. There’s a lot of stuff I wanted to do and wanted done with those older rigs that just wasn’t possible. But stepping out of the dark ages of “we can’t do that because x” is allowing Bryan and myself to get really creative.
Anywho, right now I'm working on the Stegosaurus and the Tyrannosaurus Rex now that I've completed the Dryo. So I'll try to get some of the new animations in front of you guys as I complete them for those dinos. All dinos I work on really. I admittedly shadow completed the Dryo and shared next to none of it. It just went by so fast it slipped my mind! Whoops! Probably because I did some of it over the break. I dunno. But I’ll give you some tastes of the rest from now on, I promise. After I get these two OG dinos out of the way, then I’ll move full-tilt into more of the new kids on the block and get you guys something fresh to wreak havoc with. I’m leaning towards Troodon.
On that note, we've finally made it to over 100 animations total! Yay! That doesn't mean that each creature has 100 animations but it does mean that there are 100 different animations in total on the master list of anims. So for instance, the Utahraptor pounce is on the list of 100. But it's not an animation the Triceratops will have. It's just a master list of all the animations that are “possible” in the game. Some dinosaurs will have almost all of them, others not. It all depends on the complexity of the character. We're likely to have some dinos that are pretty straightforward with their unique gameplay expressed in other ways outside of a unique animation. But they'll all have a different feel regardless, which is the goal. I’m glad I finally get to do all the stuff I wanted to do. WHOOP!
That’s it for this month’s DevBlog, it may be a tad shorter than our prior blogs given that much of our staff have recently come back from vacation, now that we’ve overcome our first major hurdle in the release of EVRIMA we’re all refreshed and ready to continue the pursuit of what we’ve all been dreaming of.
A big thank you to everyone for all the support and feedback we’ve received, your input goes a long way in helping us achieve the end goal. Isle see you all in the next DevBlog! - Punchpacket