Ugly Briefs Update #1
The ugly underwear updates
Alright everyone, per demand on Discord I shall be attempting to provide briefs on the current development including all the setbacks and backend related code/technical works. Personally I don’t believe these to be worth while updates as my inclination is that many would feel turned off by the lack of pretty pictures or noteworthy appreciable differences in the project. Also I’d prefer to put on more of a professional and positive face when it comes to the development updates, but since there is demand for even the techno-babble and frustrations (and potentially rants on my end) with some of the reworks I’ve been going through, then I shall oblige and we’ll see where this goes. I’ll try to keep these “brief” as much as possible since there is much I can talk about these topics, but I would be more than happy to expand on these if you leave a comment in the Discord
Torque Rotation and the rework of SpaceshipPawn movement
Since Unreal 4.20 there was a massive hiccup in the way that Unreal changed the way they compiled blueprints. This change was related to how blueprints were cached and compiled with dependencies. This issue back in 2018 has caused massive issues with our main pawn called “SpaceshipPawn” since it had a ton of linked dependencies since the Demo (Turrets, Camera Boom, Movement, Rotation, Weapons, HUD, etc. etc.) and caused the eventual slow down of compiling to be between 20-40 seconds!! That turn around was just ridiculous for checking against small bug fixes and quick hop-in/hop-out tests to see if things worked (bug fixes or new features). So, in order to fix this, a massive rework was needed to build the Components of the SpaceshipPawn rather than have everything piled into one code class and Blueprint.
Starting with the move over to Torque rather than Frame Updated rotation (forced rotation on the pawn), this allowed me to use “Angular Velocity” that I can grab directly from the physics thread rather than math out the forced direction of the Pawn every frame (which is very bad for the CPU FPS when too many entities are active). This global accessible variable works MUCH better also in Multiplayer since the actual Angular Velocity (and resistances like air or what ever) is already pre-calculated for all the clients and updates much faster than passing replicated events or values through the network and also is just over all faster on the CPU.
Even though, things like Gimbal Lock on rotation of the Spaceships was addressed by the Local Rotation code per frame that I did (rather than complicated Quaternions which annoys the shit out of me lol), I also discovered that using Angular Velocity allowed me to better handle the updates back and forth between the SpaceshipPawn and the Camera Boom. This means I can better handle rotations like the weird wobble when doing a role in a larger vessel. Since in the previous method I was inverse translating your rotation speeds depending which direction you’re turning in order to provide the experience of “lag” rotation on the Camera, this new method just takes your current angular velocity into account for acceleration/deceleration while rotating. Also with this, I was able to split the Camera Boom off into it’s own C++ component so it can be compiled and ran independently of the SpaceshipPawn and only references what ever parent it’s bound to, so it’s not reliant on any specific class (which is what I’m trying to achieve with all dependent classes (Turrets, Weapons, etc)).
As far as the old SpaceshipPawn, it wasn’t really openly discussed in groups about slower blueprint compile times (except for a few bug reports that went unanswered), but I discovered that it was an eventual change over to at least VS 2018 and the new framework handled by Windows 10 that handled these different BP compiling instructions. Since I am a stubborn developer, it took the change over to Unreal 4.25 that required Window 10 (who trusts even versions of Windows to begin with? Haha!) to continue development. Since the move over to Windows 10, I’ve since now seen a drop back down from the old SpaceshipPawn compile times to 1-3 seconds…. (Grumble grumble). I’m annoyed this compile time has dropped so much since I’ve basically been recreating the SpaceshipPawn with the new component setup and half way through all the core components. I’m still not happy with the old SpaceshipPawn setup since there were a lot of short cuts done to get the Demo out to everyone which did bite me in the ass when it came to optimization and bug fixes needed, so I’m still going to keep on trucking with the overhaul on the SpaceshipPawn’s components since it definitely is a more optimized approach than reverting back to using the old Pawn going forward.
Summary
Perhaps I could split the difference when it comes to MP and the Alpha release to setup the SpaceshipPawn with the new movement (Force based rather than vector) and the new Rotation (Torque to apply Angular Velocity) and keep all the old setup that currently works (even though not optimized) for Alpha release to get it out sooner?…
Either way, I hate writing about these failures, so in the next brief I’ll talk about the successes in developing a global Anim Graph/Blueprints for all Turrets to allow them to rotate. Teaser: Beforehand in 4.23 and earlier, you had to make an Anim graph for each skeleton and cache their poses for each direction update (and doing so on the root with a child actor in 4.24 and later caused level load crashes! aarrgg!).
I hope you all enjoyed this “Brief” and look behind the clothing to see the development warts and all. Now I’m going to put some clothes back on and get back to work. I’ve set an alert now to post these everyone Monday/Wednesday/Friday, so feel free to bug me over on Discord on those days to keep you guys updated.
God speed Warden,
-Kami
Subscribe to the Solar Warden Newsletter
Solar Warden on Social Media
Join Live Chat on Discord
Solar Warden on IndieDB
- Utility spacecraft
June 14, 2018A tugboat like craft (maybe variant(s)s of the H.U.R.K. transport?) built for dedicated reclaiming of resources, destroyed Warden craft and Silicoid husks, pilots and API boxes that successfully eject from destroyed Warden craft, and moving satellites ... - Artificial Pilot Intelligences
June 14, 2018APP or API - artificial pilot personality or artificial pilot intelligenceFielded after research into artificial intelligence nets the necessary breakthroughs, artificial pilot computer systems could be installed into Warden craft to function as human... - Shell company space-missions
June 14, 2018The idea: using shell companies for deploying civilian cargo into space to make money on the side. Such missions could also use transport craft to get other, more important resources into space. Thus with limited transporters the commander would have ... - Asteroid-based resources
June 14, 2018The idea is that resources could be reclaimed from asteroids that Silicoid arrive in, are sent to distract fire in a Silicoid rush/damage Earth's surface, or end up on a course to just pass by.H.U.R.K. transports could be deployed to carry a mining la... - Re: Capital ships humans-aliens
February 17, 2018OMG you just make me happy to hear that ty agent for the replay beautiful i can't wait to play your game - Re: Weapons rarity alien containers and Bosses
February 17, 2018ty for the replay is sounds good can't wait to see what the game hase to offer once it is realised - Re: Capital ships humans-aliens
February 16, 2018Thanks for the support!To answer your first question. We do have ships that are larger than the fighters which are the "Corvettes". They are much slower in handling, but pack quite a punch with their multiple turret mounts as well as larger weapons yo... - Re: Weapons rarity alien containers and Bosses
February 16, 2018No worries, your English is fine .We don't believe in an RNG loot drop system as we feel that it pulls Players out from the immersion factor and reinforces a more "gambling style" reward, rather than a hard work pay off. However there is still RNG, ... - Weapons rarity alien containers and Bosses
February 13, 2018Hello all me again any plans for Weapons rarity and alien contaners for the game for as example alien contaners where you need to hack the container to get a RNG alien Weapon rarity ore armor parts from tier 1-5 Killing a alien boss to get the weapo... - Capital ships humans-aliens
February 13, 2018Hello all first i will like to apologize for my bad english i help my self with google second amazing game 110% i will buy it now for the mane topic will the game have capital ships like cruisers battlecruisers battleships carriers dreadnoughts and log...