Tom Weiland
Tom Weiland
  • 57
  • 2 446 694
How I Fixed the Ocean in My Pirate Game
Pirates spend a lot of time on the ocean, so the ocean better look good! It's time to give my pirate game's water an overhaul and make it look much better.
Previous devlog: ua-cam.com/video/eQt7TwCr6ao/v-deo.html
Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi--TxJaOFYIN7Q4.html
⎯⎯⎯⎯⎯⎯
Discord server: tomweiland.net/discord
Support me on GitHub Sponsors: github.com/sponsors/tom-weiland
Support me on Ko-fi: tomweiland.net/kofi
GitHub: tomweiland.net/github
Project's Trello board: trello.com/b/vJwk0iwS/pirate-game
Website: tomweiland.net/
⎯⎯⎯⎯⎯⎯
Gear & Software I Use
Developing
⮞ Engine - Unity: store.unity.com/#plans-individual
⮞ Code Editor - Visual Studio: visualstudio.microsoft.com/vs/
⮞ 3D Modeling - Blender: www.blender.org/download/
Recording & Streaming
⮞ Screen Recorder - OBS Studio: obsproject.com/
⮞ Camera - Panasonic G85: amzn.to/39P77GK
⮞ Microphone - Maono AU-PM422: amzn.to/2LsTIuG
Computer Parts & Peripherals
⮞ Mouse - Logitech G604: amzn.to/3mqUSoy
⮞ CPU - AMD Ryzen 7 2700X: amzn.to/3pU06K9
⮞ GPU - GeForce GTX 1050 Ti: www.newegg.ca/p/N82E16814125915
⮞ Motherboard - ASUS Prime X470-Pro: amzn.to/3p20h5f
⮞ SSD - Gigabyte 240GB: amzn.to/39UPWDQ
⮞ HDD - WD Blue 1TB: amzn.to/2O37EMI
⮞ RAM - 8GB x2
⮞ Case - Fractal Design Meshify C: amzn.to/3q6FgHy
⮞ Power Supply - EVGA 750 GQ: amzn.to/2N3T3A0
Other
⮞ YT Channel Management Tool - TubeBuddy: www.tubebuddy.com/tomweiland
⮞ Webhosting - Bluehost: www.bluehost.com/track/tomweiland/
I personally use all of the above products and services, so they are genuine recommendations. Some of these links are affiliate links, which means I get paid a small commission (at no extra cost to you) if you sign up or buy through them. Thanks for supporting the channel!
⎯⎯⎯⎯⎯⎯
#Multiplayer #Devlog #PirateGame #GameDev #IndieDev #IndieGame #Unity
It's been nearly a year since the last devlog, and I figured that improving the pirate game's water graphics would be a good way to ease myself back into working on the project, so I do exactly that in this video. I added a masking system to the underwater fog so that it works properly even when half of your screen is submerged and the other half isn't, and I added reflections and refraction, which have _significantly_ improved how good the water surface looks.
⎯⎯⎯⎯⎯⎯
The music and sound effects used in this video are sourced from the UA-cam Audio Library, StreamBeats, and GameAudioGDC.
⮞ ua-cam.com/users/audiolibrary
⮞ www.streambeats.com/
⮞ sonniss.com/gameaudiogdc
Переглядів: 80 392

Відео

Smoothing Movement with Interpolation | How to Make a Multiplayer Game - Part 3
Переглядів 36 тис.2 роки тому
In this third part of my Unity multiplayer tutorial series, we implement interpolation to smooth out player movement. Riptide tutorials playlist: ua-cam.com/play/PLXkn83W0Qkfn3qF7NU4OEtVwOD6U2wphJ.html ⎯⎯⎯⎯⎯⎯ Source code: github.com/tom-weiland/RiptideSampleFPS/tree/part3 Changes since part 2: github.com/tom-weiland/RiptideSampleFPS/compare/c3f7fde..8f3bfd6 RiptideNetworking repo: github.com/to...
Adding Player Movement | How to Make a Multiplayer Game - Part 2
Переглядів 38 тис.2 роки тому
In this second part of my Unity multiplayer tutorial series, we implement server-authoritative player movement. Part 3: ua-cam.com/video/fVotjwJQ5zM/v-deo.html Riptide tutorials playlist: ua-cam.com/play/PLXkn83W0Qkfn3qF7NU4OEtVwOD6U2wphJ.html ⎯⎯⎯⎯⎯⎯ Source code: github.com/tom-weiland/RiptideSampleFPS/tree/part2 RiptideNetworking repo: github.com/tom-weiland/RiptideNetworking Pirate game devlo...
How to Make a Multiplayer Game in Unity | Connecting Clients to a Server - Part 1
Переглядів 148 тис.2 роки тому
In this first part of my Unity multiplayer tutorial series, we set up a connection between a server and a client using RiptideNetworking. Part 2: ua-cam.com/video/tYTswQf3Wkw/v-deo.html Riptide tutorials playlist: ua-cam.com/play/PLXkn83W0Qkfn3qF7NU4OEtVwOD6U2wphJ.html ⎯⎯⎯⎯⎯⎯ Source code: github.com/tom-weiland/RiptideSampleFPS/tree/part1 RiptideNetworking repo: github.com/tom-weiland/RiptideNe...
Why Making Multiplayer Games SUCKS
Переглядів 406 тис.2 роки тому
I finally decided to tackle some of the more complex issues I was having with multiplayer, and this is how it went... Next devlog: ua-cam.com/video/cYLnVp1ngwA/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ More about client prediction & reconciliation: www.gabrielgambetta.com/client-side-prediction-server-reconciliation.html Discord server: tomwe...
I Made NEW COMBAT for my PIRATE GAME | Multiplayer Devlog
Переглядів 30 тис.3 роки тому
In this devlog I made a completely new combat system for my pirate game! Next devlog: ua-cam.com/video/eQt7TwCr6ao/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Thanks to Oscar (@amykyst) for helping me test. Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponsors/tom-weiland Support me on Ko-fi: tomweiland.net/k...
I Made a New Pirate Ship for My Game | Multiplayer Devlog #45
Переглядів 35 тис.3 роки тому
In this devlog I made a new pirate ship for the game and reworked the wave simulation! Next devlog: ua-cam.com/video/KuQsX7DP2JE/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponsors/tom-weiland Support me on Ko-fi: tomweiland.net/kofi GitHub: tomweiland.net/github ...
2 Years of Game Dev - Making a Multiplayer Pirate Game in Unity
Переглядів 75 тис.3 роки тому
In this video we take a look back at the last 2 years of game dev, which I spent making a multiplayer pirate game. Next devlog: ua-cam.com/video/RmmLmc34O-U/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Early devlogs: tomweiland.net/tag/making-a-game-in-unity/ BepuPhysics: github.com/bepu/bepuphysics2 Catlike Coding's series on rendering: catlike...
I Played My Pirate Game With Friends | Devlog #44 (Plus Gameplay!)
Переглядів 25 тис.3 роки тому
In this devlog I tested and played my pirate game with my friends, and I made it possible to bail water as your ship sinks. Next devlog: ua-cam.com/video/RmmLmc34O-U/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Thanks to Oscar (@amykyst) for helping me test. Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponsor...
New Unity Multiplayer Netcode for My Pirate Game | Devlog #43
Переглядів 18 тис.3 роки тому
In this devlog I switched the project to use my new and improved Unity multiplayer netcode. Next devlog: ua-cam.com/video/Mh3QD_2X4GI/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponsors/tom-weiland Support me on Ko-fi: tomweiland.net/kofi GitHub: tomweiland.net/gi...
Adding an Inventory to My Multiplayer Pirate Game | Indie Devlog #42
Переглядів 8 тис.3 роки тому
In this indie devlog I added an inventory system to my multiplayer pirate game. Next devlog: ua-cam.com/video/zjTcfM6fNkg/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponsors/tom-weiland Support me on Ko-fi: tomweiland.net/kofi GitHub: tomweiland.net/github Project...
Picking Up Resources, Tool Models & Cleanup | Indie Game Devlog #41
Переглядів 6 тис.3 роки тому
In this indie game devlog I added the ability to pick up the resource objects that are dropped when harvesting a resource node, and I did a bunch of cleanup. Next devlog: ua-cam.com/video/5ghbzGmyJ1E/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Intro to Object Oriented Programming: ua-cam.com/video/SiBw7os-_zI/v-deo.html Discord server: tomweila...
Blocking, Resource Harvesting & Planning the Gameplay Loop | Indie Game Devlog #40
Переглядів 6 тис.3 роки тому
In this indie game devlog I added blocking and resource harvesting, and I finally did some proper planning for the gameplay loop. Next devlog: ua-cam.com/video/-lS3DgiEOjQ/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponsors/tom-weiland Support me on Ko-fi: tomweil...
Sword Fighting - Adding Melee Combat to my Indie Game | Devlog #39
Переглядів 7 тис.3 роки тому
In this indie game devlog I began adding the basics of melee combat and I modeled a Xiphos, which is a type of ancient Greek sword. Next devlog: ua-cam.com/video/xUCqR2hcXVo/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponsors/tom-weiland Support me on Ko-fi: tomwe...
Grappling Hook Model, UI Improvements, & Bug Fixes | Indie Game Devlog #38
Переглядів 6 тис.3 роки тому
In this indie game devlog I modeled a grappling hook, made some UI improvements, and fixed a few bugs. Next devlog: ua-cam.com/video/Gf1143oqrDU/v-deo.html Pirate game playlist: ua-cam.com/play/PLXkn83W0QkfmQI9lUzi TxJaOFYIN7Q4.html ⎯⎯⎯⎯⎯⎯ The blur effect I'm using: github.com/ArneBezuijen/urp_kawase_UI_blur Discord server: tomweiland.net/discord Support me on GitHub Sponsors: github.com/sponso...
Adding Grappling Hooks and Making Ship Damage Visible | Indie Game Devlog #37
Переглядів 7 тис.3 роки тому
Adding Grappling Hooks and Making Ship Damage Visible | Indie Game Devlog #37
Making a Low Poly Player Model That Needs to be Burned | Unity Multiplayer Game Devlog #36
Переглядів 4,1 тис.3 роки тому
Making a Low Poly Player Model That Needs to be Burned | Unity Multiplayer Game Devlog #36
Participating in My First Game Jam | Making of Out of the Blew - Collab Jam #1
Переглядів 3,1 тис.3 роки тому
Participating in My First Game Jam | Making of Out of the Blew - Collab Jam #1
Rocks, Swimming, and Scrapping Client Prediction? | Unity Multiplayer Game Devlog #35
Переглядів 7 тис.3 роки тому
Rocks, Swimming, and Scrapping Client Prediction? | Unity Multiplayer Game Devlog #35
How Much Money Small Channels Make on YouTube From Ads | Small Game Dev YouTuber Income Revealed
Переглядів 8 тис.3 роки тому
How Much Money Small Channels Make on UA-cam From Ads | Small Game Dev UA-camr Income Revealed
Palm Trees, Procedural Tree Generation & Infinite Ocean | Unity Multiplayer Game Devlog #34
Переглядів 12 тис.3 роки тому
Palm Trees, Procedural Tree Generation & Infinite Ocean | Unity Multiplayer Game Devlog #34
You Can Now See Underwater: Adding Water Fade & Fog Effects | Unity Multiplayer Game Devlog #33
Переглядів 13 тис.4 роки тому
You Can Now See Underwater: Adding Water Fade & Fog Effects | Unity Multiplayer Game Devlog #33
Celebrating Your Accomplishments as a Game Developer | We Hit 5000 Subscribers & Face Reveal!
Переглядів 2 тис.4 роки тому
Celebrating Your Accomplishments as a Game Developer | We Hit 5000 Subscribers & Face Reveal!
New Flintlock Pistol, Ranged Combat & Fixing Reconciliation | Unity Multiplayer Game Devlog #32
Переглядів 11 тис.4 роки тому
New Flintlock Pistol, Ranged Combat & Fixing Reconciliation | Unity Multiplayer Game Devlog #32
How to Make a Game Launcher and an Auto Updater With WPF | C# Game Launcher Tutorial
Переглядів 107 тис.4 роки тому
How to Make a Game Launcher and an Auto Updater With WPF | C# Game Launcher Tutorial
Implementing Client Prediction & New Server Rollback System | Unity Multiplayer Game Devlog #31
Переглядів 13 тис.4 роки тому
Implementing Client Prediction & New Server Rollback System | Unity Multiplayer Game Devlog #31
How to Set Up Dynamic Water Physics and Boat Movement in Unity | Ship Buoyancy Tutorial
Переглядів 170 тис.4 роки тому
How to Set Up Dynamic Water Physics and Boat Movement in Unity | Ship Buoyancy Tutorial
Revamping Procedural Island Generation & New Player Controller | Unity Multiplayer Game Devlog #30
Переглядів 13 тис.4 роки тому
Revamping Procedural Island Generation & New Player Controller | Unity Multiplayer Game Devlog #30
Implementing Server-Side AI Enemies in Unity | C# Networking Tutorial - Part 11
Переглядів 35 тис.4 роки тому
Implementing Server-Side AI Enemies in Unity | C# Networking Tutorial - Part 11
Moving the Server into Unity & Testing the Launcher | Unity Multiplayer Game Devlog #29
Переглядів 9 тис.4 роки тому
Moving the Server into Unity & Testing the Launcher | Unity Multiplayer Game Devlog #29

КОМЕНТАРІ

  • @surplusking2425
    @surplusking2425 День тому

    One simple way to tell this. Unity sucks

  • @Itsuchi2
    @Itsuchi2 День тому

    I’m a dev too making a multiplayer game. Local multiplayer works phenomenally. But I’m deathly scared of when I have to add the online functionality

  • @GrimmDotExe
    @GrimmDotExe 4 дні тому

    ikr ! whoever made latency is dumb :PPP

  • @Aquarica
    @Aquarica 7 днів тому

    rip

  • @Uhfgood
    @Uhfgood 8 днів тому

    I'm going to be doing the same thing here soon, but I'm not sure if I'm going to bother with youtube ads -- I might just go the patreon route (maybe merch) -- assuming I get anything popular enough for people to want to support.

    • @tomweiland
      @tomweiland 4 дні тому

      Yeah UA-cam ads don't pay much...unless you're getting millions of views per month it probably won't be more than some extra pocket change :P

  • @ronaldwoofer5024
    @ronaldwoofer5024 8 днів тому

    use a real engine then... its straight forward

    • @tomweiland
      @tomweiland 3 дні тому

      The problem described in this video is not solved by any of the major (which I'm assuming is what you mean by "real") engines though. Moving platforms in multiplayer games are not even a fully solvable problem as long as there's significant latency-at least not in a generic, one-size-fits-all approach since every "solution" requires various tradeoffs that are acceptable (or not) depending on each individual game.

    • @ronaldwoofer5024
      @ronaldwoofer5024 3 дні тому

      @@tomweiland ...its solved in unreal all of the problems described in the video... literally spend 5 minutes in the engine that soooo many ppl tell you to avoid and see just how easy it is.

    • @tomweiland
      @tomweiland 3 дні тому

      🤣

    • @ronaldwoofer5024
      @ronaldwoofer5024 3 дні тому

      @@tomweiland i rest my case.

  • @Thurtwings
    @Thurtwings 8 днів тому

    it seems that i can't unzip the zip file :/

    • @tomweiland
      @tomweiland 3 дні тому

      Uh oh :/

    • @Thurtwings
      @Thurtwings 3 дні тому

      @@tomweiland I should have been more specific, I can't unzip because the file is not fully downloaded, and doesn't seems to ever be. Direct download link doesn't seems to work anymore, I can't figure this out. Any idea?

    • @tomweiland
      @tomweiland 3 дні тому

      Have you taken a look at the pinned comment? That basically has all my suggestions for what you can try if the zip file doesn't extract.

  • @newbert9287
    @newbert9287 8 днів тому

    Hell yeah

  • @KHADKA_OP
    @KHADKA_OP 11 днів тому

    Bro is this for android or where to download

    • @tomweiland
      @tomweiland 3 дні тому

      It's not playable, and I haven't worked on the project in months due to life getting busy. Even if I one day get it to a point where it's playable, releasing on mobile is unfortunately not high on my priority list.

  • @BusinessWolf1
    @BusinessWolf1 12 днів тому

    I can see from the comments that you're now a servitor to the machine god, 8 hours a day. That's okay man, never think it's 'been too long' to continue your project. You will get used to it, you will upskill in certain areas, and your work, whatever it is, will help you with the game in one way or another. You've got this man! And if your priority is now a career rather than making the game, I wish you good luck on that too. But I really don't think it is. I think you and me are a lot alike, I didn't go to university for the same reasons as you. Well anyway, I've been fucking off on work hours for 15 mins now, so I'll get back to that but just know, you are not alone. There's a lot of people like you, full of passion, working 8 hours a day and MAYBE getting in half an hour every 2 days on their project. It's the consistency that counts. See you at the top.

    • @tomweiland
      @tomweiland 12 днів тому

      Thank you for the kind words! These are the kind of comments which make me want to come back to this project, but I'm still trying to figure out where and in what capacity it fits into my life now that I work full time 😅

  • @BusinessWolf1
    @BusinessWolf1 12 днів тому

    The whole selling point of indie games is that they have heart. Procedural generation is an amazing tool that often becomes a trap. People don't wanna play an algorithm, because whatever they do in it feels pointless. Doing the exact same stuff in a hand made world, however, feels much better.

    • @tomweiland
      @tomweiland 12 днів тому

      Agreed, I think what I may do (whenever I get back to working on this) is use proc gen to generate the shape as a starting point and then modify it by hand to fit exactly how I want it to look.

  • @BusinessWolf1
    @BusinessWolf1 12 днів тому

    Make the block effectiveness falloff diagetic. Meaning, make the character tilt the sword to show it.

    • @tomweiland
      @tomweiland 12 днів тому

      Yeah, something like that would be good 🤔

  • @admazzola3569
    @admazzola3569 13 днів тому

    you need to rethink your architecture if the boat is not working out properly. World of Warcraft did zeppelins. I am sure it wasnt easy but it is possible. 1) try doing everything in ticks 2) try doing everything in deltas with deterministic state machines

    • @tomweiland
      @tomweiland 12 днів тому

      It's not inherently an architecture problem-the issue of how to deal with moving platforms (which is what my boat effectively is) in multiplayer is widely-recognized as a very common problem with no real solutions that work for all scenarios. I've never played WoW so I'm not familiar with how the zeppelins work, but depending on the restrictions you place on players while on board the problem can be very easy to solve. For example, simply restricting the player's ability to get on and off the platform/zeppelin to the times where it is not moving would allow you to just sync the player's relative position with no issues (as long as it only rotates around the Y axis). Another approach is to have clients predict the position of the platform so that it exists in the same "time stream" as their local player objects, but this will then cause problems with how players see other players interacting with said platform unless you predict other players' movement as well (which is tricky business since you don't have their inputs in real time). I will probably try the platform/boat prediction method in the future, but the point is that every approach to solving this issue has downsides and tradeoffs. Which of those you're willing to make depends heavily on the game and specific use case. Simply "doing everything in ticks" (I already am) or "in deltas" doesn't solve the issues that come with objects from different "time streams" interacting.

  • @WilliamCutler-xh6pb
    @WilliamCutler-xh6pb 13 днів тому

    Hey thanks for this awesome tutorial. I've been working creating a multiplayer system for my game and this is the most clear and easy to use tutorial I've found. I have one problem: the MessageExtentionsUnity code seems to no longer exist on gitHub or anywhere else, and I don't know enough about coding in C# to write one by myself. Can someone help me? Edit: After hours of searching I found the code in the demo projects.

  • @memetech-
    @memetech- 14 днів тому

    0:46 Minecraft camera in water is the same way

    • @tomweiland
      @tomweiland 12 днів тому

      And I don't like it that way :P

  • @Jonas-Seiler
    @Jonas-Seiler 16 днів тому

    idk seems like a skill issue

  • @Thomason1005
    @Thomason1005 16 днів тому

    interesting idea with syncing the player position relative to the boat, but you could skip the floating boat, just synch a parent id + relative position over the network!

    • @tomweiland
      @tomweiland 12 днів тому

      The problem with that is that it doesn't account for the discrepancies/delay in the boat's rotation, which would still lead to jittering/mispredictions an various situations. That's part of the reason why I went to the trouble of adding a "proxy" boat-it doesn't need to rotate so it just avoids that issue entirely.

  • @blue_birb
    @blue_birb 16 днів тому

    You can fix the jump when going on and off boats with a sigmoid function to interpolate between the positions

    • @tomweiland
      @tomweiland 12 днів тому

      Yes, interpolation would be able to hide most of the jitter in most circumstances.

  • @bannanafruitsalad
    @bannanafruitsalad 16 днів тому

    Man, I got into more complex programming by watching your multiplayer server series. I hope life is treating you well and that whatever you're working on nowadays is running smoothly

    • @tomweiland
      @tomweiland 12 днів тому

      That's great to hear! Things are going well, but unfortunately I haven't really figure out where and in what capacity this project fits into my life now that I work full time 😅

  • @lazicotechlinenesk
    @lazicotechlinenesk 16 днів тому

    Plzzzzzzzzzzzzzzzzzzzzzzz can u make this game for mobile 🥹🫶

    • @tomweiland
      @tomweiland 12 днів тому

      If I ever managed to release it (I'm currently not even actively working on the project), that would honestly be one of my last priorities. I also don't think it'd play super well with touch controls-you certainly wouldn't be able to compete with someone on mouse and keyboard.

  • @jeffreygordon7194
    @jeffreygordon7194 17 днів тому

    One complication you missed is the possibility of having a separate design team with no understanding of these issues. I learned first hand that's a silo that can kill game development.

    • @tomweiland
      @tomweiland 12 днів тому

      One of the perks of working alone :P

    • @jeffreygordon7194
      @jeffreygordon7194 12 днів тому

      @@tomweiland This video was a bit of relived trauma for me. I took a contract to develop a multiplayer game from scratch during COVID after working solo for several years. It proved to me once and for all I'm best suited to working alone - no boss and no employees. I think you really captured the problem and if this video had been around I would have asked the team to watch it for a second opinion. They were often skeptical of my explanations of the difficulty of achieving their requests.

    • @tomweiland
      @tomweiland 12 днів тому

      I'm sorry to hear they didn't listen to you, that sucks!

  • @AsherKadmiel
    @AsherKadmiel 17 днів тому

    if you weren't planning on making the game too big then you could have just used roblox though i know for the most part that it is hated among quite a few devs but that might have fixed some of your problems

    • @tomweiland
      @tomweiland 12 днів тому

      I am someone who has a strong dislike for Roblox 😅 I think they're a company that frequently exploits children and their passion for making games, and I have zero interest in being locked into their development ecosystem or in dealing with their predatory payout/payment withdrawal system (it's basically a scam last I checked). Plus, I highly doubt that their multiplayer system would address the issues I was working through in this video.

  • @realmarsastro
    @realmarsastro 17 днів тому

    The older you get, and the longer you program, the more you realize most programmer memes are made by people who are new to programming. Most of the frustrations of programming come from inexperience, and kind of just go away over time.

    • @tomweiland
      @tomweiland 12 днів тому

      That's true to an extent, but I've seen and talked to plenty of experienced devs who don't necessarily disagree with the programmer memes, still find them funny, and who will reference/repost them too :P

    • @realmarsastro
      @realmarsastro День тому

      @@tomweiland Oh yeah, I mean, I still like them and they're still funny. I remember how it was, lol. I just don't really experience those problems as much myself anymore.

  • @user-jy2zn3gz9h
    @user-jy2zn3gz9h 19 днів тому

    Half the time is spent writing code The other half is spent finding that ONE sneaky mistake

    • @tomweiland
      @tomweiland 12 днів тому

      Maybe even 20%, 80% 😂

  • @ilikegeorgiabutiveonlybeen6705
    @ilikegeorgiabutiveonlybeen6705 19 днів тому

    idk being a game dev and hating cheaters is like you are a developer and you deliberately choose to work developer near QA office

    • @tomweiland
      @tomweiland 12 днів тому

      I don't really see the connection 🤔

    • @ilikegeorgiabutiveonlybeen6705
      @ilikegeorgiabutiveonlybeen6705 12 днів тому

      @@tomweiland like they test whatever vulnerabilities you have in your game and if you fix them it will make your game better. maybe they will point out how games approach to its architecture is totally wrong. e.g. king of thieves game (where you build levels to defend your gold and complete others levels to rob them). devs approach a player verifying if their level is possible to pass by making a player to pass it themselves. and the way they handle it is they let the player complete a level offline (so no lag) and record the completion. so theres a huge insentive to cheat. and as it turns out you can record whatever completion, pass it as a legit one and its very difficult to check on the server side whether whatever arbitrary completion is legit. but can you really say that only cheaters are to blame that this exists and its not the consequence of devs design choices? so if you look at this that way you can interpret cheating as kinda like qa/pentesting/whatever process

    • @tomweiland
      @tomweiland 12 днів тому

      Sure, having cheaters reveals exploitable vulnerabilities, but fixing said vulnerabilities is only necessary in the first place because people exist who will exploit them (aka the cheaters). Also, even if you consider something like aimbot to be exploiting a vulnerability (server trusts the client's rotation is legit), it's not really like there's much you can do about that. There's no way to verify or enforce that a client's mouse input-and by extension, player rotation-must come from a human controlling a mouse and not some third party software. Also, QA testers are trying to find issues which degrade the user experience so that you can fix them, while cheaters _actively degrade_ the user experience, so I really don't think the comparison makes sense. Even just as a player, I don't like cheaters. 99% of the time they don't have some noble intentions and either just don't care that they're ruining the experience for others, or they actually find joy in that fact. At the end of the day, the fact that people cheat slows down development (teams have to invest more resources into making things server authoritative) and is the reason many games require you to install invasive anti-cheat software. I'm not sure what's controversial about saying I don't like cheaters 😅

    • @ilikegeorgiabutiveonlybeen6705
      @ilikegeorgiabutiveonlybeen6705 11 днів тому

      @@tomweiland yeah fair

  • @ilikegeorgiabutiveonlybeen6705
    @ilikegeorgiabutiveonlybeen6705 19 днів тому

    2 days? more like two weeks

  • @WwZa7
    @WwZa7 21 день тому

    This is actually a great explanation why standing on a vehicle in any multiplayer game like Battlefield series was always normally fine, but when it was moving, things would go spasmatic and probably end in phasing through the vehicle or dying for no reason.

    • @tomweiland
      @tomweiland 12 днів тому

      Makes sense-as long as it's not moving, you don't experience the effects of objects from different "time streams" interacting. Once it moves though, 💩 hits the fan :P

  • @7keyz
    @7keyz 21 день тому

    не терпится поиграть (если конечно игру когда-то доделают)

    • @tomweiland
      @tomweiland 12 днів тому

      Hopefully one day, but at the moment the project is kind of on hold and I'm not quite sure when I'll get back to it :/

  • @merccc1
    @merccc1 26 днів тому

    Yea... They should really have network prediction features more thoroughly fleshed out in the modern engines... Such a common thing... I mean, even ue5's own visual scripting doesn't have the nodes needed for it. You have to go some roundabout 3rd party that does it for you.... That or hardcore learn C++ and do that... Have some mental issues that make visual scripting the genuine best way and C++ a nightmare...

    • @tomweiland
      @tomweiland 12 днів тому

      I haven't really paid much attention to Unity's Netcode for GameObjects development, but I'm assuming they have some kind of prediction/reconciliation functionality in there by now... But yeah, third parties are probably the way to go (unless you have the time and desire to write your own), but they don't usually have visual scripting support.

  • @creativemind42069
    @creativemind42069 27 днів тому

    I miss you... We all do. I am glad you switched to godot tho and that you are porting this to it. Looking forward to the first devlog in godot.

    • @tomweiland
      @tomweiland 12 днів тому

      I'm assuming this is a joke lol, but just in case: I have not switched to Godot 😅 I'd like to come back to this project eventually, but I haven't really figured out where it fits in with work and other life stuff.

    • @creativemind42069
      @creativemind42069 12 днів тому

      @@tomweiland Ya I was joking haha😅 Anyways looking forward to whatever comes next, I hope I can speak for a large part of the community if I say that you inspired a lot of us to strive for great projects. We will not forget your greatness. Good luck with anything you do🤞

  • @hoveringgoat8061
    @hoveringgoat8061 28 днів тому

    My niave solution is to move the client position x% closer to the server position. It'll be smooth and generally not noticeable unless there's a significant difference. And since it averages the two systems (client and server) should get back in sync. This is mostly theory at this point tho.

    • @tomweiland
      @tomweiland 12 днів тому

      The problem is that the client is simulating ahead of the server, so if you don't correct fully then your starting point for future tick is still incorrect and will lead to larger divergences more quickly. What you _can_ do is fully correct the player's collider/state, but add a bit of delay to the visual so you can smoothly interpolate to the new position.

  • @thedude4039
    @thedude4039 Місяць тому

    Is the game playable now? Will it ever be playable?

    • @tomweiland
      @tomweiland 12 днів тому

      Nope, I started working full time last year and haven't really touched this project in a while. I'd like to come back to it eventually, just not sure exactly when...

  • @matheolefloch3200
    @matheolefloch3200 Місяць тому

    thx

  • @MikeMcRoberts
    @MikeMcRoberts Місяць тому

    I wonder why this guy stopped doing videos a year ago?

    • @tomweiland
      @tomweiland 12 днів тому

      I spent several months working on rebuilding the whole project and then started working full time. I'd like to come back to this eventually, just not sure exactly when...

  • @b3lowtoonatural524
    @b3lowtoonatural524 Місяць тому

    Bro why you yapping??

    • @tomweiland
      @tomweiland 12 днів тому

      Lmao did you click on my video expecting me to not say anything??

  • @Gromash26
    @Gromash26 Місяць тому

    but true and sadly fun

    • @tomweiland
      @tomweiland 12 днів тому

      Well if it got a laugh out of you, that's a win :P

  • @Gromash26
    @Gromash26 Місяць тому

    damn, that wasn't very motivational

  • @vaguephoenix3512
    @vaguephoenix3512 Місяць тому

    Your intro is cool

    • @tomweiland
      @tomweiland 12 днів тому

      You mean the scene with the water? That's from the game I was working on at the time 😅

  • @therealgator4856
    @therealgator4856 Місяць тому

    Im thinking about doing programming moving forward, what hell awaits me?

    • @tomweiland
      @tomweiland 12 днів тому

      Do it, just don't touch multiplayer for a while, _at least_ until you have a really solid grasp on the language, engine, and other tools you're using :P

  • @williamcourchane3135
    @williamcourchane3135 Місяць тому

    It doesn’t say materials under my assets. How am I suppose to follow help me lmao

    • @tomweiland
      @tomweiland 12 днів тому

      Then just create a folder and name it "Materials"...? My project already had it because I started from the URP template project, but none of those assets are necessary for you to follow along (for example, which skybox you use is irrelevant). If you created your project using the built in render pipeline, you wouldn't have any of the template assets.

  • @SoloGameDeveloper
    @SoloGameDeveloper 2 місяці тому

    My game just like chess game multiplplayer

    • @tomweiland
      @tomweiland 12 днів тому

      Ah that's much simpler :P

  • @cristalGamer5100
    @cristalGamer5100 2 місяці тому

    Hi, I thought it would be a bad idea to run the server on unity because it could affect performance, I thought I should use console applications for my server, but maybe it doesn't make sense because I will have to write my own structure of cordinates and components?

    • @tomweiland
      @tomweiland 12 днів тому

      This heavily depends on what kind of game you're making. For something like a card game that doesn't need physics and can be easily represented by a few classes in your code, a console server would make more sense. However, if you need physics/collision detection, transforms, animations, etc. then running a Unity server is probably the better choice-otherwise you have to implement those things yourself, and if you don't know what you're doing you may very well end up with _worse_ performance. Another consideration is whether or not you care about preventing cheating, because if you don't you can just trust clients to calculate things on their end, and the server can be a console app which just relays data to the other clients. Or you can get rid of the dedicated server entirely and just have one of the clients also act as the server.

    • @cristalGamer5100
      @cristalGamer5100 11 днів тому

      @@tomweiland I came to the same conclusion when I thought about it. But still, thank you for the answer!

  • @sxsignal
    @sxsignal 2 місяці тому

    interested in how you did they island shading as I like how you have green/dark patches on some aspects that turn flat

    • @tomweiland
      @tomweiland 12 днів тому

      I just take the grass and stone colors and blend them based on the angle of triangle. The steeper the slope, the more stone colored the triangle will be.

  • @simonbarton3295
    @simonbarton3295 2 місяці тому

    Idea for the underwater effect: close the water body mesh (add sea floor and walls). After the main pass, render this mesh with reversed face-culling and without depth testing. Add fog manually in fragment shader, based on G buffer depth. This also works for other bodies of water, including waterfalls and floating blobs of liquid.

    • @tomweiland
      @tomweiland 12 днів тому

      Walls would be sufficient to make it work, and it's something I considered but didn't implement yet because currently the water mesh is generated at runtime (and giving it walls would make that more complicated).

  • @bjarnenilsson80
    @bjarnenilsson80 2 місяці тому

    Well if delay was constant It wouldn't by such a pain, but since the internet has multiple opatvhs between 2 points an there are no quarantines that a packet always travels the same path, you get variations in delay (jitter), and since that can't be acutely modeled this is what create headaches for developers and rage quits for players

    • @tomweiland
      @tomweiland 12 днів тому

      Yes, jitter needs to be accounted for and can cause further problems, but imo the main pain point/problem causer is just that latency exists at all. If I could pick between removing all jitter and removing latency so everyone's connection jitters between 0ms and 20ms or something, I'd choose the latter in a heartbeat :P

  • @cloudchen0831
    @cloudchen0831 2 місяці тому

    You are a hero.

  • @ojtap
    @ojtap 2 місяці тому

    i have error at ZipFile 7:00

    • @tomweiland
      @tomweiland 12 днів тому

      I'm not really sure what you expect me to do about it, considering you've provided zero information about the problem other than that it exists lol 🤔

  • @boltthejolteon4927
    @boltthejolteon4927 2 місяці тому

    I am currently trying to make a multiplayer game on gm2 (matchmaking system) aaand The best way I can describe this so far is I knew what I was getting into but I didn't KNOW what I was getting into.

  • @jumpod9853
    @jumpod9853 2 місяці тому

    The biggest pitfall for indie devs is getting stuck in an 'editor loop' repeatedly playing the game in development mode until they lose interest. Focus on core mechanics and a playable prototype first, then refine the environment and polish later!

    • @tomweiland
      @tomweiland 12 днів тому

      I more-so fell into the "UA-cam trap" where making interesting videos somewhat requires things to look at least half-decent, even during development :P