Well, things haven't been going quite as planned to get alpha started, turns out we had to fix a bug in the handshake process to allow for more than two people to be logged in. I feel that has now been corrected but another bug came up with re-adding a player to the scene after they had logged out, so once we get this bit fixed we can proceed finally, I hope!
Well that ended up being a convoluted mess.. 4 days trying to fix it while being sick and missing work, fun times!
I got the client/server stack to communicate once again, I'm not sure exactly what I did to break it so I had to redo it from scratch, it was not fun, but the code looks better now than it did, so bonus there.
Now begins the work to send and parse movement and rotation data from the players as they move about the environment, once that is working decently we can get Alpha testers going and some actual recordings of us messing about trying to break stuff!
So at some point I broke server/client communication stack (OOPS >.>), but I got it mostly repaired today, going to be a couple days until I can get the alpha phase started. I guess it is better to find these things now rather than later not to mention if server/client stack don't work right no one would be able to connect so kinda had to fix that one right away!
At least once that is fully functional we're just about ready otherwise, just need to get the player positions to transmit and work on the other viewers once they receive the data, that is basically done just pending the server/client stack to be running nicely in order to test to make sure it works as expected.
I figured it was about time to explain in more detail some inner workings of TE!
Terranova Engine doesn't simulate environments on expensive servers it's all done on the viewer side.
This may come as a surprise as what about security?
Well, permissions is still stored and controlled using a central cloud service, because lets face it, some things just have to be done on a centralized secure environment, there is no escaping that, at least not yet, if there ever becomes a way to safely do so, we'll do it, but in the mean time, centralized it is.
As far as physics is concerned, there will be automatic protection systems in place to prevent a viewer becoming unresponsive in addition to built in physics throttling and there will also be a watchdog going for GPU performance, if anything goes wrong it will stop rendering instantly and prompt for the users input on how to proceed not to mention a list of most recent objects that are likely cause of the issue, oh and the viewer will be hard coded to respond to F11 for disabling physics and F12 for disabling rendering (pause) which also will disable all incoming communications to the viewer until unpaused (excluding presence updates so you stay logged in).
This is 2019 and we're making a virtual universe the expands as people develop it, so it's time to get creative and take advantage of new technologies to make it all possible and at a fraction of the cost, which means a more affordable virtual world where just about anyone and their uncle can own virtual land, heck, our virtual land is purchased at a once off price or rent to own, not tier based, because of the way we designed everything!
We also want the viewer to not be bogged down with all sorts of non-sense configuration options yet still give you as much control as possible, I mean, look at the UI, slick and uncluttered, sure there will be some more buttons soon but it won't be chuck full of stuff no one uses granted we may add a UI configuration tool to add more stuff in IF people decide they need more stuff in their screen, we plan to leave most of the space for HUD's which people can attach to use for certain things as well as products they have purchased.
The Main Goals We Have:
From an inventory that just slides open from the side (because it will be one of the most used things) to a minimap that does the same at bottom right to customizable buttons along the bottom, simple slide out chat which can also be popped out as a moveable window, stats along top left, address bar top center and FPS counter top right, it's all kept nice and tidy.
A note about the address bar, it will support named based teleportation as well as vector based, so you can enter 23,17,-46 and end up at that location or if someone paid a small fee to have a unique name for their location, you can simply type that name like say for instance Amy's Lagoon also as you type name based target in, a drop down box will show suggestions matching what you type as you type it! In addition, we plan to also support external loading of links from websites, so people can list in their online profile or market listing links which people can click to be teleported automatically (after on screen confirmation) to in-universe locations.
More on security features
We've developed our service to be the most secure it could possibly be, we got rid of account names and passwords! WAT?! Yeap, our service uses all sorts of data to identify you based on computer hardware and it detects ALL forms of virtual machines so perma bans are actually a legit thing, so if someone is causing trouble on TE, once they are banned there is no creating a new account short of building or using a completely new computer or device and that gets expensive even with used hardware, also don't worry about that unique id info being caught in transit to our server, it has all sorts of dynamic bits added to it before it is industrial scale encrypted. Also the entire viewer is monitored, if any file is changed the service will automatically ban the machine it runs on not to mention everything is compiled to binary. Is it possible to get in and do stuff, of course but it would take so much effort that it really isn't worth messing about, not to mention communications with the server require certain unaltered information sent along with data transitions, if something has been done, the central systems know! No amount of brute forcing usernames and passwords will get a would be attacker into your account, because technically, there isn't really an account to break into, just some info stored that is associated with your device.
So how do you add another device to share your characters with? Simple, using the Add Device system you will be given a code to use to add another device which will be linked thus you can "login" to your characters from many devices. Note that these also are banned if the main ID is banned as bans are done on the main ID as provided by your original sign in to the universe.
So what about my creations? Are they secure?
Of course this question would be asked at some point, what about theft of 3D object you made to sell or use exclusively for your self? The answer is, there is no way provided to export these objects period, even if you created something and uploaded it, there really is no reason to need to download it or back it up due to the fact that creations for TE are done completely in other 3D applications, so you should already have your creations saved, however, creations that began on TE can be downloaded as binary GLTF format (.glb) and imported into other 3D authoring programs. TE WILL have a full blown 3D modeling system at some point, it's already in the works on the side, at some point in the future you will be able to design, add materials, direct paint, export and import UV maps and just about anything you can do in Blender right inside of TE including animation and bone creation, not just creating things using primitives!
What is Terranova Engine for?
We plan to release a virtual universe called Werescape in the coming months using TE, it's the primary reason TE was created but TE also will be used for other games as well and possibly expanded into a system other people can purchase and use for their own games, that's right we said purchase, not lease or rent or requiring a renewable license or pay per title. Nope, we mean purchase, as in ownership is yours for unlimited use for a one time not so dramatic fee, IF we decide to release it for public use, that is still not certain if we will release it or not.
I'm on track for getting alpha stage going early this week! Avatar now animates as you walk about and idle animation plays as standing still. Now that the hard parts out of the way, I can finish the local and IM chat systems!
Alpha phase is set to begin second week of Jan!
All that remains to do is finish setting up the animations for the test character that everyone will be using (for now just on character), the position and rotation updating of other players as they move about the world is nearly completed and some code refactoring, then we can compile it for Windows and Linux and begin testing.
What comes next?
Once we determine that things are stable and anything needing fixed is fixed up, we will add the behind the scenes automatic updating system, this will make updating the viewer a snap as most things can be updated even while you are using the viewer with little to no disruption or any required action on the part of the user.
We will then develop the asset storage and fetching system for the core server, this is going to be done in a cloud friendly way featuring the latest load balancing and redundancy systems. Once the base asset system is functional we'll begin work on the inventory system.
Once Asset and Inventory systems are tested and working we will begin to add in building tools so people can begin to build in world to test the asset loading and removal processes of the engine.
Once asset loading and removal testing has proven to function properly we will get to avatar customization and upload features, at this point we will start talking about BETA!