Devblog 1: February Blues

Discussion in 'Announcements & Information' started by corporal asshole, Feb 18, 2016.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Dismiss Notice
Thread Status:
Not open for further replies.
  1. corporal asshole

    corporal asshole Retired Developer

    Administrator # Beta Tester White Glove Society
    United Kingdom
    Aug 13, 2015
    Home Page:
    +1,556 / -34
    Hi guys. I'm gonna start doing these sort of blogs every few weeks to keep you guys updated with where the mod is at. I'm bad at schedules but every so often mid-development I'll do one of these to inform you where we're at.

    Public Tests - Vault-Tec calling
    The public tests are behind a few weeks whilst my university assignments get finished. I'm trying to balance the work here with my real life, so I have to prioritise my university work at the moment. Once I get the work out the way for this semester a lot of my time will be here. If you're wondering about keys, read the end of this post.

    NV:MP Client - How to eat 4GB of RAM in 20 minutes!

    There's been a lot of stability fixes with the client. A big problem identified in some of the private tests was that remote players were leaking memory after leaving a zone. This was because when a player spawned, the base form (actor information) was copied into a new form to give the user unique attributes. After deletion, the user's information wouldn't be de-allocated from RAM. This ate lots of memory.

    After the client terminates, a lot of resources weren't being free'd either. Because of the way NV:MP launches, the DLL injected kept running over the network code when the game closed. This caused a heck load of runtime errors when trying to exit the game. Solution? After the hooked WinMain procedure finishes, it now invokes an "end everything" routine that safely closes all network objects before the DLL gets unhooked.

    Networking - Slowly becoming a Numberphile, one bit at a time
    Over the past three weeks there's been a massive overhaul of the network library NV:MP uses. There's an open-source repository over on GitHub with the prototype system if you want to check it out. There has also been a lot of code interface changes with NV:MP, and the netcode has needed a huge makeover since the first implementation from August. It never really changed until now.

    A lot of NETTIK is unfinished and undocumented, but it's slowly being phased into the main NV:MP client as development progresses.

    I'm going to look into producing more network output too. Currently on the NV:MP main branch, the client outputs the rate of packet data per second; but this doesn't really give sufficient insight into whats going on underneath the network engine. Real time graphs and tables should really be produced, that way there's a nice understanding of where bandwidth is allocated and needed most.

    Reverse Engineering - Jump up, jump up and get.. down?
    I've been trying to reverse the Havok interface classes in Fallout to see if physics can be disabled on remote players. From the first video of our private testing, you can see that remote player actors start falling when they jump. This is a side effect of the clientside physics trying to pull the player down.

    I've looked into transferring velocity information over the network, but more RE needs to be done to see why the console command "SetVel" doesn't seem to work in NV and how to actually fix it.

    Server Code - Spaghetti Bolognese
    The codebase for the server currently needs reworking. The majority of classes and structures are written with standard JavaScript prototype classes. This is really messy and trawling through the Player.js class is really tedious. After things get cleared from the client "todo", I'm gonna look towards porting it all into ECMAScript 6.

    Forums - Kappa?
    Last week the web server locked up. I did some poking around and all the awesome posts you guys have been making filled up the database drive. You now have 2TB to use! (it was 10GB). I'll introduce some more Pipboy emojis for you guys next week!

    Keys - "I didn't receive a key?"
    I know a lot of you guys have questions about keys. No keys have been sent out to the public as of yet. We do have a key management system on the home page, but you won't find any working ones as of now.

    - All official invitation keys from NV:MP directly start with "NVMP-".
    Each official key holder can invite 1 friend to play with them. The key can be found through the key portal on the home page. If you have one of these official keys, it means you were selected from the applicant pool.

    - Friend invitation keys start with "FRIEND-".
    If your friend gets banned from the test server, you will be banned too. If you get banned, so will your friend. So give your invitation out wisely, and only take invitations from people you trust.

    - Giveaway keys start with "PLAY-".
    These are given out by content creators and third parties. People who have these keys cannot invite a friend to test and the content creators aren't subject to punishment if a key owner gets banned.

    I can't wait to show you guys what's been done, but I want your experience on NV:MP to be great. So tests are gonna start small and slowly expand to see what needs improving or fixing. There will be an announcement when the first applicants are called up.

    I'll be posting more on my Twitter about NV:MP and NETTIK too. So if you'd like to ask me any direct questions, I usually respond on there a lot faster than over PMs.

    I'd also like to thank you guys for the huge amount of support you've given. You guys rock and make my work feel appreciated, I really can't wait to show you the upcoming updates.
    • Like Like x 12
Thread Status:
Not open for further replies.

Share This Page