1. Here you will find official announcements and updates. These announcements are also linked in the Official SotA Discord server.
    We encourage comments from the community! To keep the announcements official, we ask that comment threads be created in the General forums for player input.

                                                 Thanks!

Release 5 Post Mortem

Discussion in 'Announcements' started by Chris, May 1, 2014.

Thread Status:
Not open for further replies.
  1. Chris

    Chris Tech Lord Moderator Ambassador SOTA Developer

    Messages:
    2,470
    Likes Received:
    27,551
    Trophy Points:
    190
    Gender:
    Male
    I’m normally long winded in my release wrap ups but I’m going to try and keep this one short for a change. So my overall rating for release 5 would probably be around a B- in terms of what got done BUT I think the things that went well did not have much outward visibility to the players. Unfortunately that B- is really an average of a D+ for player facing elements and an A- for all the behind the scenes stuff that got done that wasn’t very visible to players just yet.

    Because of the timing many of the most visible elements the players were in a very unpolished state for this release. In fact, even just two days before we went live the game was in a completely unplayable state. Combat didn’t work at all, AI’s weren’t working, switching maps would crash 100% of the time, other players couldn’t see objects placed on lots, all the scenes were either too bright or so dark you couldn’t see anything, and conversations weren’t working at all. So while the release was really rough for this release, I have to admit that internally we were high fiving each other that it was not MUCH worse.

    I’ll briefly cover a few player facing items and then talk about some of the behind the scenes elements that were only barely visible to the players but are super exciting and were very needed additions.

    So, first the bad stuff. On Thursday and Friday until the afternoon, the frame rate was atrocious. Several bad things snuck in at the last minute due to our rush to fix things. The worst was that almost all character models, lost their visibility distance data. This means that when you entered Owlshead and looked North, towards the volcano end of town, you were rendering about 70-80 skinned, animated models even though you could only see about 3. UGH… Frame rate tests have been added to our “Smoke” and “Sanity” tests so hopefully in the future this won’t sneak by us. Also, due to another really good performance change in how we update changes to shared spaces, we had a large number of memory allocs and frees going on that resulted in some really nasty hitching. The fix for this was simply to pre-allocate space for it and not free it but we didn’t catch it until after we were live.

    So, on the positive side of player facing stuff, a LOT of good changes were made to help us improve the visuals going forward. The largest was switching from gamma to linear lighting model. For a longer post on what this means, you can go here:
    https://docs.unity3d.com/Documentation/Manual/LinearLighting.html

    This is the model we should have been using all along but had put off switching because it was too much work. Well, this was milestone we decided to bite the bullet and make the switch. The pain in switching comes in the form of hundreds of little stings caused by everything working a bit differently and the light values in the whole game needing to be adjusted. Additionally, a few hundred materials and shaders needed adjustment as well.

    So, what do we get for all that effort? We are now able to much better handle the crazy dynamic lighting situations of our very sandbox style game where a scene might need to be super dark and have a single torch light things appropriately OR the same scene might need to be daylight and have 5+ dynamic lights all effecting light colored objects and still hold up. What we were finding before was that no matter how hard artists tried, we just weren’t able to get good results without everything blowing out to pure white in the extremes or be overly dark. We didn’t get all the scenes adjusted in time for release but Owlshead, Braemar, Kingsport, the Sewer, and the Clink all received a lighting pass and it made a huge difference.

    So, I seem to be failing on my promise to keep it short so I’ll skip ahead to one of the most exciting things that went in that probably no one noticed, the addition of a scene server. So previously, we only had the concept of a “room” that was shared by those in a single instance of a scene. So if we had 3 instances of Owlshead, there were 3 room instances. This worked great BUT meant that nothing really was shared between the scenes without a lot of work and that every instance of Owlshead essentially became an island.

    The new scene server gives us a place to share data common to all instances of the map. So what’s the big whoop about that? Well, the obvious thing is that now, a player in one instance of a map will immediately see when a new house goes up in another scene. They will also see decorations immediately appear once placed. In future releases it can mean that if you pay the town cryer to shout something for you, it will immediately start showing up in the other scenes. Also, vendor lists will immediately update with items sold or bought without more work.

    Now for the less obvious stuff that is even more exciting! We can flag specific players to store data to the scene server instead of the instance server so they will exist in all instances of the same scene. This means if Lord British and DarkStarr want to make an appearance in Braemar and 5000 people want to see them live, they will appear in all instances of Braemar! This also means we can do things like track player deaths in a dungeon in the Scene server. Then we have a spell that senses danger that shows you where people have been dying in this dungeon and put up small ghostly tombstones at the spot where players have died. With only a bit more work, we could make boss mobs that exist across multiple instances as well. So instead of having creatures that 40 or 50 people fight at once, it could require 400 or 500 people across 5 or 10 instances!

    Another very large change that was likely invisible to end users dealt with how bags and chests work. For Release 5 we made changes to how things work so containers don’t transmit what is in them until they are opened. So containers are things like bags, chests, or corpses. This was a very large change that had huge implications in multiple areas.

    First, if you walk through a town and can see 40 houses and each of those houses has 5 chests and each of those chests can hold 30 items, that works out to 6000 items! Previously, we would have to send you all 6000 items. Now multiply that by 50 players in the scene and we’re now sending 300k items. Ugh… So part of this was to reduce how much we have to send players in towns but this was also needed for other, hack related reasons.

    First, if we send all those items to every client then someone who had hacked their client could essentially get a list of all your most private items. Also, if a player figured out how to hack their clients, they would be able to walk into any dungeon and see what was in the chests anywhere in the dungeon without having to open the chests first. This lets us put a server side lock on things so we can limit what stuff the bad guys see.

    So much for not being too wordy! Ok, on to R6 stuff. We have been considering a polish milestone for a while and I think with how rough R5 was, I think it is clear we need it. In addition to the visible polish we’ll be doing, we will also be going back and trying to improve some internal processes.

    I usually sneak in a favorite development saying to my posts and this time I saved it for the end… This month’s appropriate developer saying is: “Sometimes you have to go slow to go fast.” We’ve been doing a bit too focusing only on visible results each release. Spending a month to “Sharpen the saw” is much overdue and going slow for a month to improve processes, work on fixing nagging bugs, and improving visuals now so less has to be redone later really will help us go fast in the long run.

    Looking forward to R6 and seeing you guys in chat and in the forums till then!
     
    Woengus, Ravenclaw, rowan50k and 72 others like this.
  2. tekkamansoul

    tekkamansoul Avatar

    Messages:
    958
    Likes Received:
    1,401
    Trophy Points:
    105
    Gender:
    Male
    Location:
    SF
    Chris's are the best. Be longwinded! We like it!
     
    Daveron, Umbrae, Phredicon and 3 others like this.
  3. Belrindor

    Belrindor Avatar

    Messages:
    153
    Likes Received:
    277
    Trophy Points:
    18
    Great post Chris, many thanks! :)

    Also, fwiw, people with short attention spans won't play this game anyway. People appreciate in-depth info, much more than 'short'. So be as windy as you like. :)
     
    foobard, Phredicon and Lord Andernut like this.
  4. Carlin the Druid Archer

    Carlin the Druid Archer Avatar

    Messages:
    833
    Likes Received:
    2,847
    Trophy Points:
    93
    Gender:
    Male
    Location:
    New Britannia
    Thanks Chris, always enjoy your posts. .. Very informative for an aspiring game developer such as myself.
     
  5. Bow Vale

    Bow Vale Avatar

    Messages:
    1,729
    Likes Received:
    4,699
    Trophy Points:
    113
    Location:
    Pericaliya
    Great to hear what goes on behind the scenes with Chris's posts.
    Im sure 99% of us like this kind of detail...Not less...even more :)
     
  6. Gubbles

    Gubbles Avatar

    Messages:
    856
    Likes Received:
    2,199
    Trophy Points:
    105
    Gender:
    Male
    Location:
    Corvus Peak

    Cool. I was wondering how you guys were going to handle situations like this. It sounds like this same mechanism could potentially even be extended for regular players during special events like plays, shows, and concerts. :)
     
  7. enderandrew

    enderandrew Legend of the Hearth

    Messages:
    7,359
    Likes Received:
    15,646
    Trophy Points:
    165
    Gender:
    Male
    Location:
    Omaha, NE
    When I play these pre-alpha releases I was getting really worried they had a long way to go and I was worried we might get a poor launch. Dark Starr's comments that they're willing to delay launch, and Chris' comments on where they're looking to improve next fill me with hope.
     
  8. Koldar

    Koldar Avatar

    Messages:
    1,952
    Likes Received:
    4,886
    Trophy Points:
    125
    Location:
    Novia
    Awesome news about the scene server and limiting the exposure of items until containers are opened. And I agree with "sharpening the saw". Thanks for the post, Chris!
     
  9. TEK

    TEK Legend of the Hearth

    Messages:
    689
    Likes Received:
    1,428
    Trophy Points:
    93
    "With only a bit more work, we could make boss mobs that exist across multiple instances as well. So instead of having creatures that 40 or 50 people fight at once, it could require 400 or 500 people across 5 or 10 instances!"

    Awesome! Sounds like you could get very creative with that ability. Make it so!
     
    TheMadHermit and Belrindor like this.
  10. Culann

    Culann Avatar

    Messages:
    289
    Likes Received:
    311
    Trophy Points:
    28
    Gender:
    Male
    Location:
    London, Ontario
    Thanks Chris. This is all very exciting and welcomed info. I agree with Khloec...'Not less, even more!'
     
    Khloec likes this.
  11. Drocis the Devious

    Drocis the Devious Avatar

    Messages:
    18,188
    Likes Received:
    35,440
    Trophy Points:
    153
    Gender:
    Male
    Chris, I really appreciate reading your RX summaries. I always finish impressed with your technical expertise and your ability to break down "why it's important" to people like myself that would otherwise go "huh?". I'm also thankful for these posts because without them I wouldn't be able to appreciate the complexity of the game half as well as I would like to think that I have after I finished reading. I know I probably still don't really understand, but at least it makes me more self-aware that I don't understand. ;)

    Lastly, I've been thinking about the instancing involving selective multiplayer. I know this type of question has come up many times before, but R5 really made me more concerned and conscious about it. My question is this...say I have a casual friend that I want to meet up with in the game to trade or talk briefly to or whatever. Now say that I tell my casual friend, "I'm at Fire Lotus's Tavern" and my casual friend says "Yeah met too, but I'm looking around and I don't see you."

    That's when we both realize that we're playing on different instances. So like, what's the practical fix for that? How do I sync up with this casual friend in a way that doesn't seem completely lame and unimmersive or that's technically challenging (like trying to log out and then hope that this time I'm in the same instance as the guy I just want to sell a table to)?

    Because during R5, it seemed like there were some moments where I was probably in an instance where there were not a whole lot of people. So I can see how especially during prime playing times this type scenario might happen a lot more in the future.
     
  12. rild

    rild Avatar

    Messages:
    1,220
    Likes Received:
    2,485
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Portland, OR
    Great insight into the behind-the-scenes stuff and the technological aspects of this project, Chris! I know lots of people have been wondering about how instancing will work for scenes and across the game - for lay folk like myself I find this illuminating and fascinating. It really helps to illustrate for how much work goes into some parts of the game that might be taken for granted. This post also sheds further light on the decision to focus on refining features for R6. I can only imagine how awesome things will be after these improvements, given my glee so far.

    Thanks for all your hard work & knowledge-bombs!
     
    Mishri, TheMadHermit and mike11 like this.
  13. Dame Lori

    Dame Lori Avatar

    Messages:
    831
    Likes Received:
    3,227
    Trophy Points:
    105
    Gender:
    Female
    Location:
    Bloomington IN
    Wonderful post... please continue to be as wordy as you want :cool: Thanks, Chris! :D
     
  14. mike11

    mike11 Avatar

    Messages:
    1,588
    Likes Received:
    1,562
    Trophy Points:
    113
    Gender:
    Male
    Ya, I will echo the others who enjoy reading some nice long-winded post/rants from the DEVS.

    We know there is lots going on behind the scenes and I think most of us appreciate that fact and we are depending on you guys to do that behind the scene stuff well.
     
  15. Fireangel

    Fireangel Avatar

    Messages:
    1,062
    Likes Received:
    3,291
    Trophy Points:
    125
    Gender:
    Female
    Location:
    Oklahoma (earthly realm)
    Town Criers will spam whatever we say? Is that wise?
     
    Mercyful Fate, Mingo, NRaas and 5 others like this.
  16. Karrolanth

    Karrolanth Avatar

    Messages:
    482
    Likes Received:
    1,616
    Trophy Points:
    43
    Gender:
    Female
    Location:
    The True North
    I hope that perhaps something like the system Neverwinter has might be available in the future. Their instances are numbered, and you can select a different instance to go to if you want. So if you're trying to meet someone, they just have to check which instance they are in and you can move to that same one. (DDO had the same sort of thing.) You can even see exactly where people on your friends list are, and choose to move directly to their instance.

    I know it's not particularly immersive, but I'm not sure how it could be done otherwise in SotA unless you joined the friend's party before moving to their hex... which to me doesn't really seem any less immersive than clicking a button to switch instances.

    It's essential (IMO) to have a way to easily find each other when trying to meet a group of others for RP, because sometimes you have too large a group for one party and can't automatically zone in to the same instance. There is a limit to the number of people an instance can hold in Neverwinter, but if you party up with someone already there you can usually still force your way in (up to a certain number over the limit) if you need to.

    I'd love to see something similar in SotA, because I think this will be a great game for roleplayers and we do tend to like gathering in groups to do stuff. :)
     
    Mercyful Fate and Noctiflora like this.
  17. Karrolanth

    Karrolanth Avatar

    Messages:
    482
    Likes Received:
    1,616
    Trophy Points:
    43
    Gender:
    Female
    Location:
    The True North
    Hopefully not anything they are asked to shout... because we all know where that will lead...! :eek:
     
    Fireangel likes this.
  18. enderandrew

    enderandrew Legend of the Hearth

    Messages:
    7,359
    Likes Received:
    15,646
    Trophy Points:
    165
    Gender:
    Male
    Location:
    Omaha, NE
    They'll be reporting about what "Not Chris" is doing down at the docks in a dress.
     
    Dame Lori likes this.
  19. Drocis the Devious

    Drocis the Devious Avatar

    Messages:
    18,188
    Likes Received:
    35,440
    Trophy Points:
    153
    Gender:
    Male

    I could see this requiring a progressive cost. So the first time you have a crier say something it costs X, but the next time (during that hour) it might cost X * 2, then X*3, etc. So eventually you have to stop because you're all out of X. :)
     
  20. Drocis the Devious

    Drocis the Devious Avatar

    Messages:
    18,188
    Likes Received:
    35,440
    Trophy Points:
    153
    Gender:
    Male

    You may also be able to link this system to those that might be ignoring the message. So if 50% of the people are ignoring the town crier now because of the stupid stuff people are having it shout, then maybe it now costs 50% more for the sender to create a new message. This could become exponential and be difficult to change in a short period of time. So the system would be self-correcting based on live player feedback.
     
Thread Status:
Not open for further replies.