LypyL’s Daggerfall Tools for Unity Multiplayer Test

If you’ve been around the DFTFU Subreddit, you may have noticed that community memberย LypyL has been working on a set of multiplayer extensions for the Daggerfall tools. He has now progressed to the point where he’s ready to show off some progress.

I played a bit of this withย LypyL a few hours ago and had great fun exchanging blows and flying (literally flying) around the map taking swipes at each other. He’s done an amazing job so far, and I’m excited to host his achievement here on Daggerfall Workshop.

MultiplayerTest

Daggerfall Tools for Unity – Streaming World Multiplayer Test by LypyL

www.dfworkshop.net/web_demos_other/dftfu_multiplayer/dftfu_multiplayer.html

Note: Requires the Unity Web Player.

Controls

  • Click to capture mouse (webplayer).
  • ESC to uncapture mouse (webplayer).
  • Mouse move to look.
  • W, S, A, D to move.
  • SHIFT (hold) to run.
  • SPACE to jump.
  • LEFT-CLICK mouse to open doors, operate switches, etc.
  • Q no clip/fly.
  • E climb mode.
  • Z toggle weapon.
  • Right-click and drag mouse to swing weapon.

Author Notes

  1. On running, players will try and connect to active games on server if there are any, and if not will start a new one.
  2. Games are capped at 4 players (and currently max concurrent user limit of 20 – so up to full games)
  3. On joining/starting game, player has to set their name (either accept the random name or put in a new one in the input box).
  4. They will spawn outside of Daggerfall. I pretty much left all of the streaming world settings at default.
  5. Added scaled down location markers to make other players easier to find. Player names will also be displayed above their skins w/ 3d text meshes.
  6. Players get randomly chosen skins on joining (which aren’t synced among clients – they’re different for everyone). Attacking & moving is animated (the hurt animations should be working, but I can never get them to play for some reason).
  7. Basically nothing else is synced up – audio, doors etc. are not implemented yet.
  8. I switched to one of the standard asset skyboxes due to the sky rig breaking in the web build for some reason.
  9. There is basic combat implemented for messing around. On being hit, a player will lose health until they reach 0 or less, then their position will be set randomly (to somewhere nearby to where they are), and if they are inside, they will transition outside.
Posted in Community Spotlight, Daggerfall Tools for Unity, Releases.

13 Comments

  1. What madness is this??? TAKE MY MONEY!

    I’m so amazed by you guys this is awesome. I test it with Lypyl and 3 other player for a good half an hour. It was very fun and everything ran smooth as butter.

    Will you guys continue to working on this or will you take a step back and work more on the Daggerfall world? Either way I’m happy ๐Ÿ˜€ Lypyl told me that he started working on enemies :O

    I test the web build yesterday of the streaming world. Was great! I found my ship lol. But you were right for the optimization, the web build eat my whole memory (4Go) in about half an hour (Strange because in unity my memory stay neutral). The MP build seem to take less though (I think)
    The billboard didn’t occur me this time, so I’m happy about that.

    Again, great work guys! I don’t how many time I’ve tell you this but I won’t stop!

    I should really stop by at the subreddit and share a bit of artistic work of mine

  2. entered with 4 other people and we had a brief meridian59 moment there, thanks lypyl ๐Ÿ™‚

  3. Glad you guys had as much fun with it as I did. ๐Ÿ™‚

    @Solid-Head
    I’ll keep working on the world and integrating Daggerfall systems into Unity. Lypyl’s multiplayer extensions are his baby so I can’t speak for him, but I seriously hope he keeps working on it.

    @Nystul
    It’s in the Author Notes. Lypyl had some issues getting the Daggerfall sky working in his build, so he used one of the stock Unity skyboxes instead. It’s not a game-breaker as the demo was mainly about the multiplayer features. I think the sky looks pretty good (apart from being completely static). Would be awesome to have a proper dynamic sky system one day.

  4. I have a quick question

    Is there a way to extract a full sprite sheet in one file from Daggerfall with with your tools…This is the files I want to edit:

    http://tinypic.com/r/2ymf1fq/8

    I’m asking this because I want to create new animated character for futures references.

    I’ve already use dagger Imaging, but the animated sprite are extracted separately which make the process work harder. If I could edit the process the whole sprite sheet, I could do things like palette swap very easily :

    http://tinypic.com/r/6poufl/8 (A Sentinel bandit! )

    And of course Upgrade the resolution aswell

    http://tinypic.com/r/2r24uxh/8 (Thief 5-1 400% res)

    The static sprites are no problem though…Dagger Imaging work perfectly ๐Ÿ™‚

  5. The tools create an atlas texture internally for enemy sprites and other billboards. These could be saved out using Texture2D.EncodeToPNG. If this is something you think would be handy, I’m more than happy to put in a “save texture” button somewhere in the tool chain.

    I’m going to revisit the whole texture/material setup in version 1.3, as this is where most of the optimisations are needed. So a save/export would be a good fit for that review I think.

    If you’d like something ASAP let me know and I’ll manually export out what you need. ๐Ÿ™‚

  6. Cool concept! I’m on board, and will add the ability to export assets moving forwards.

    In the meantime, I’ll pop out a couple manual atlases for the male and female thief sprites for you. This will have to be after I get home from work this evening, though. Will edit this post with links when ready.

  7. Here’s a link to thief female and male texture atlases as generated by the tools. Internally this just uses Texture2D.PackTextures, which doesn’t necessarily follow a human-centric layout.

    http://www.dfworkshop.net/static_files/ThiefAtlases.zip

    There is one small difference between this and the internal atlas. Normally fringe colour pixels are dilated outwards into the surrounding alpha pixels. This dilation prevents the sprites from having black borders when drawn using a transparent alpha shader. I turned off the dilation so you could have a clean copy of the texture atlas to work with.

    If we’re going to look at texture replacement down the road, I would recommend just replacing individual textures and let the tools compile them into an atlas. That way everyone is working with the same native data and don’t need to worry about how the engine actually works, and what sort of post-processes (such as dilation), packing methods, and metadata that may be required.

    Once you start pre-compiling atlases externally, then I have to worry about implementing and maintaining different packing types and metadata for every imaginable sprite packer out there. That isn’t something I want to do. ๐Ÿ™‚

    Keep in mind that Daggerfall itself doesn’t use atlases for anything – it is a construct I’ve added for render efficiency.

    Edit: BTW, I’m not sure if you’re aware that Daggerfall Imaging 2 can bulk export any number of texture files. You can use this to get out all the images you need, and everything is nicely indexed in the filename by archive, record, and frame.

  8. Thank your for getting me these ๐Ÿ™‚ I’m going to have fun with these

    Yes I’m aware you wouldn’t want to process through all that stuff just to get some custom sprite working (I seriously don’t want to slow you down on anything :P). Thanks still for getting me these, I knew there was a way to get them…

    There are other things way more important than this right now. Maybe 3D models will popup at some point!

    PS: Yes I was aware that you can bulk export…Its such a sweet tool ! (like all of yours). But I want the way the they were assemble in unity.

  9. That’s really awesome! Can’t wait for the time we all meet in fully completed Daggerfall Online. ๐Ÿ™‚

Comments are closed.