SKYRIM
  • written by jonwd7   28 August 2012 0:15:45   20408 views   136 likes

    Updates: Performance, Upcoming Features, Parallax Mapping, Beta Testing & DLC



    Hi all,

    Before I get on with the updates, I just wanted to express my gratitude for the overwhelmingly positive response I've received this past week. I had maintained the top spot on the main page for the past 5 or 6 days and in that time I've received over 500 endorsements and 25,000 downloads. That's nearly 100 endorsements a day, and 3 downloads every minute. When I first saw how quickly the mod was gaining a following, I admit it was overwhelming. It certainly kept me on my toes, though, and I put out a point release nearly every 24 hours up until 0.4. Needless to say, it's been a caffeine-driven, sleepless 5 or 6 days. :) I appreciate all the positive comments I've received -- I've read every one. It has definitely kept me driven to get out releases as quickly as possible.

    Now on with the updates.



    Before getting into the release timeline, I wanted to share my performance testing for anybody who hasn't followed the comments or my videos. I've developed a benchmark of sorts, that I've used to test various mods' impact. It consists of running around Whiterun in a very specific loop, and takes about 82 seconds (very small city...). You can see my first results below using Footprints 0.4.

    (Click Image to Enlarge)



    You can see performance is the same across all of the runs, save for small variations in each run (human error). In fact, the average FPS of each test with Footprints enabled was actually a couple of frames higher than each of the Vanilla runs, despite loading, testing, quitting, and then alternating the run. There is no explanation for the FPS being higher on average, other than it's within the margin of error. You may ask "Why test Whiterun? There's no snow." Well, my mod is still cloaking all the actors within the cell with the effect to apply the footprints scripts, and actors are still playing the Impact Data Sets that I made. Currently they are empty except for snow, but the game still needs to check with each step what surface the actor is on, and if the Impact Data Set has Impact Data, then it will play that Impact Data. This is what will make it easy to add in dirt, sand, or mud.

    I also made a more artificial benchmark, which some may have seen already. I put over 30 NPCs and creatures in an area, all on snow. I did not run a benchmark suite on this because the video recording software was reducing the FPS already, and battles are too random to get decent data from. With that said, my performance remained surprisingly good.



    With all that said about performance, I will eventually be testing the mod's impact on a very heavy load order as well, and the upcoming releases will feature some optimizations that should help those who have an already overburdened scripting system. With that, on to the timeline.




    With most of the creatures out of the way, I have started working on broader plans and this means I will not have a point release every day or every other day like I have done with the past releases. Many people have said they are waiting for sand and mud prints before installing, and unfortunately I have no ETA. They are not technically high on my priorities, since Skyrim is a land of snow... :) I also am not sure I get the reasoning, as if you install now, as I add new dirt/sand/mud prints, they will simply show up in-game with no effort on your part. For that reason I may even wait until a 1.0 release to start working on the other print types. For example, 1.1 may include dirt textures, 1.2 mud, and 1.3 sand.

    I have many features already implemented for the next release, which I haven't decided yet what point release it will be. It may be simply 0.5, but given the time needed to work on these, I may spend a week and work on releasing 0.7, followed by 0.9.



    I discovered, while writing this article, that Skyrim supports Parallax Mapping on decals. I will be trying to get this out with the next release, but at the moment I'm trying to work out the kinks... The height sometimes appears to invert. I already have height maps for every print, I merely need to turn them into a DDS file and edit the TextureSets. Here is a quick test video, comparing PM with simple normal mapping:



    The player now leaves decals when jumping and landing. Before you could leave no trace by hopping around. Also, once I start attempting the inclusion of impact FX, they will likely kick up snow/dust/mud when doing so. This is definitely a post-1.0 feature, however. :)

    I have added code which allows for optional SKSE support. This means if you have SKSE you will get additional features, such as different prints depending on the boots you're wearing. Like the creature prints, as I get time to add support for additional armor types I will include them in subsequent releases. If you add SKSE in the middle of an install, it will detect this and start using the additional features.

    I have removed certain limitations from the install/upgrade process, like requiring you to be in human form when installing/upgrading. Again, this only matters when I deem it necessary for the release in question. If I am merely fixing a bug in a script, or adding a new texture, usually the upgrade process will not run.

    Also, for ease of upgrading, I will be working on implementing an "anti-cloak" which, when a version upgrade prior would require you to fast travel from the area and save to complete the upgrade process, this will instead remove the effects from everyone in a vast radius, before turning the cloaking effect back on again. Going forward this will hardly ever be required, but it will save me the trouble of dealing with those who haven't read the Readme. :)

    Like I said above, also look forward to some performance optimizations. Although I already don't notice any performance impact on my system, I have found that cloaking the NPCs every second is unnecessary, though if you are sprinting as a werewolf, you may sometimes reach an NPC before the cloak turns their footprints on.


    Also, I'm looking for feedback on whether, after these features all get implemented, if anyone is interested in an options menu.




    I am currently looking into if it's feasible to add optional Dawnguard support directly into the main file. There are several newer Papyrus functions that may let me do this. If so, I will include preliminary support in the next release or two. If not, I will wait until 0.9 or later to start including an optional Dawnguard plugin. This is merely to save time on repetitious patch building.



    There has been a great deal of interest in this part of my future plans, and I'm already working hard on implementing it. I have found that I will be able to build support into my plugin for other third-party hunter mods to make use of my "hunter's vision" resources. This would obviously require the end user to install both my mod and theirs, but it gives them the option of choosing between various Hunter's Vision. So, if desired, a modder can create in their plugin an optional spell which they give the player if my mod is installed in their load order. For example, if Gopher decided to include support for footprint tracking in his Predator's Vision mod, he could check if my mod is also installed, and if so, set some globals in my mod, which toggles the footprints for tracking. I won't get into too much more detail, but there may or may not also be support for different glow colors. :) This would come in handy if a modder has a different color theme for their "Vision" plugin.




    I'm looking for beta testers to help me get to 1.0 as quickly as possible. You will get access to the "beta" beta versions before I release them here and I will have all the debug information enabled. You just need to know how / be able to send me your Papyrus logs. And hopefully you don't mind trying to find ways to break things either. I hope at least you will play it on an existing save, as well as try out on a new save too.



Comments (0)