Project Vague - A Sandbox MMO Adventure

Show a beta or the final version of your latest SmartFoxServer-based project.

Moderators: Lapo, Bax

User avatar
Lapo
Site Admin
Posts: 20578
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Project Vague - A Sandbox MMO Adventure

Postby Lapo » 07 Dec 2018, 15:41

Hi,
I've sent an email regarding the interview I mentioned in a previous post. If you're still up to it let us know.

Cheers
Lapo
--
gotoAndPlay()
...addicted to flash games
FireSmartFox
Posts: 23
Joined: 28 Sep 2018, 19:47

Re: Project Vague - A Sandbox MMO Adventure

Postby FireSmartFox » 07 Dec 2018, 18:36

How can I login? After typing some random data it just says ""logging in"
User avatar
idlepeon
Posts: 10
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 24 Feb 2019, 23:33

First, my sincerest apologies to anyone who has contacted me and not received a response. I've been hard at work on this project and am finally ready to show some progress. I am crossing my fingers that once you get to try the tech demo in the coming months that you will understand why I have been down the programming rabbit-hole since early December.

This is about my fourth draft of this post and each previous version I ended up going on and on for paragraphs and paragraphs about things that can wait until a future post. Suffice it to say that this works; I have tried to break it, I have tried to prove the math that I did back in December (when the idea first hit) would never pan out, and so far this works and works well. In fact, it works better than I had expected it to and on a scale that I still need to recalcuate in order to come to terms with how big (as in scale of the game world, not necessarily popularity) it could potentially be.

Image

Gone is the flat Unity terrain, replaced with a procedurally generated planet (this one with a radius of roughly 2.5km). There is a lot of optimization and other work to do on the client and it could definitely use some sprucing up in the aesthetics department, but my focus has been almost entirely on the server as of late. Last night I took a detour and finished work on maintaining floating-point precision client-side, so that all of the space around this planet can be traveled to without issue, regardless of how far the player has traveled since spawning. All spawned remote players and MMOItems take this dynamic origin into account when spawning/moving and so far there have been zero issues; there is nothing to notice when the origin gets moved at all, and if not for my UI helper at the top of the screen, I'd never know it moved. I am able to fly an arc at a distance of 20km, requiring several origin shifts (threshold currently set at 5km for testing purposes), and when I return to where I was, the remote player that was at my starting point is still right where they should be even though the origin has likely moved ~1km from it's original position and moved multiple times getting there; point being, the scene remains happy and well-fed with floats that are well below the 10km accuracy limitations and the player is none-the-wiser - basically a ton of work so that nobody notices I did the work.

MMOItems, particularly how to handle so many, were the tough part. I am still working out just how many I can have per square kilometer of planet surface, and so far what is depicted in the screen below is close to the lowest end of the threshold; I would not at all be surprised to see this number double or triple in size in the coming weeks. A lot of my load-testing to this point has been on the extreme side, in that the server and client are exchanging a lot more data than they need to for what is being represented, so as the world becomes more complex, those extremes that I put in place for load-testing will be optimized, and if things continue the way they have thus far, things will not only even out but they will produce better results than what I am expecting.

Image

I still have some lingering questions to answer with load-tests, but they are not potential framework-breaking questions like the ones I have already answered for myself. No longer am I asking whether or not the server can handle the traffic, but I'm now calculating just how large I can make the universe and how to find a balance between the size of that universe and the number of players that server can handle. Memory limitations will be key here, and I am approaching this exactly the same way as I did the issue with thousands of MMOItems on a single planet, the latter of which took 4 failed ideas to land on. I'll never claim that this universe will be as big as others, but that's not my goal. It's not easy to work out just how large it will be since the larger I make the universe the more spread out the players are likely to be, which then relieves stress on the server since fewer players need to exchange data with one another... and you can probably see why my head has been spinning for some time now since I am the sole developer for this project and this all rests on my shoulders.

Image

Almost everything that existed in the original MMO demo still exists, it's just been modified. I can still equip an item, but that item is now a starship pilot's helmet rather than a knight's helm. There is still a class system in place (although it may be abandoned eventually), I've just narrowed things down to a single class for testing. Things I plan to add are harvesting the MMOItem resource deposits that spawn on planets and then crafting things with them, including building a base on a planet and/or modules for your ship. Think of a) that popular space-themed MMO that runs a single universe for all players and combine it with b) that other space-themed game with a massive (non MMO) universe that allows you to land on the surface of planets and you'll probably have a pretty good idea of where I am going to try and take this. I'm sure it sounds a bit nuts but I find I do my best work when traveling at Mach III with my hair on fire skirting the line between what I know works and what looks like it will never work, and this project definitely fits that bill. It has been life-draining, often repetitive to a soul-crushing extent and there were a lot of days where the seeming-futility of it all almost got the best of me, but today I am finally ready to say publicly that it is working, it has been load-tested time and time again, and I can't argue with the numbers anymore - and the numbers say it works better than I had ever hoped, and my experience with both Unity and SmartFox tells me that there are still several areas in which I could optimize code to get the best bang for my buck.

Image

My next big milestone is to get a tech demo ready and in the hands of some players. This is going to be trickier than it would have been before due to the fact that this project is no longer WebGL compatible - a trade-off I am happily making since WebGL builds are a pain in the backside and often need to optimized so heavily that they no longer represent the final product anyway. Don't expect post-processing, don't expect a flawless framerate (although my dev machine can handle 4 clients without much trouble so I don't think it'll be much of an issue for anyone), and don't expect a lot of depth to what gets put in the first demo, but there will be resource harvesting, warping, crafting, and what-not... just very basic examples of each in order to get some more realistic data as well as some feedback. I promise I'll go into the numbers when we get closer to releasing the tech demo, but for now I've got a lot of work to do on this and it needs to be scheduled around a full-time+ job, so updates may be few and far between for now. I'll go into more detail about everything when I find time and will do my best to put together a gameplay video soon.

PS. Again, my apologies to you Lapo, as well as any forum members who I have unintentionally ignored during the process of reworking this MMO. Let's just say that sometime around the holidays I came to the realization that if I was going to go big, I was going to go all-in. This is my life's work rolled into a ball and it has spawned some of the most rewarding work I have ever done, and watching a remote client streak across my screen like a comet for the first time may have been the highlight of game development career.

Image

Return to “The Gallery”

Who is online

Users browsing this forum: No registered users and 1 guest