Tom WeilandIn 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.
In this indie game devlog I made resources drop from trees and rocks, and I made it possible for players to pick up those resource objects. I also modeled an axe and a pickaxe and tied off a few other loose ends.
I'll be doing some major—and much-needed—cleanup in my code over the next few days, as I recently watched a video about object oriented programming which really opened my eyes. Being self-taught, I had never really properly familiarized myself with the concepts of OOP, and so it was about time I did!
Picking Up Resources, Tool Models & Cleanup | Indie Game Devlog #41Tom Weiland2020-11-09 | 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.
In this indie game devlog I made resources drop from trees and rocks, and I made it possible for players to pick up those resource objects. I also modeled an axe and a pickaxe and tied off a few other loose ends.
I'll be doing some major—and much-needed—cleanup in my code over the next few days, as I recently watched a video about object oriented programming which really opened my eyes. Being self-taught, I had never really properly familiarized myself with the concepts of OOP, and so it was about time I did!
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DHow I Fixed the Ocean in My Pirate GameTom Weiland2022-08-28 | 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.
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!
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 YouTube Audio Library, StreamBeats, and GameAudioGDC. ⮞ youtube.com/audiolibrary ⮞ streambeats.com ⮞ sonniss.com/gameaudiogdcSmoothing Movement with Interpolation | How to Make a Multiplayer Game - Part 3Tom Weiland2022-04-11 | In this third part of my Unity multiplayer tutorial series, we implement interpolation to smooth out player movement.
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!
⎯⎯⎯⎯⎯⎯
0:00 Intro 0:09 Things that Changed 1:20 Creating a Tick System 4:26 Adding Interpolation 9:48 Things to Note 10:31 Outro
Over the last year I've been working on a C# networking library called RiptideNetworking, and in this tutorial series I show you how to use it to make a multiplayer game in Unity! Multiplayer game dev is difficult and time-consuming, and Riptide saves you the effort of writing the super low level stuff yourself—it takes care of establishing connections between a client and a server and makes sending data back and forth really easy, while still giving you plenty of control over what your code is doing.
Riptide can be used both in and out of Unity, and it supports a wide variety of game architectures. Whether you need an authoritative server for a competitive shooter you're building or you're just looking to make a multiplayer co-op game where players host their own lobbies (sometimes referred to as peer to peer), RiptideNetworking can help you do that.
At the end of the last video, players were essentially being teleported around every time a client receives a position update from the server, and instability in connections can cause messages to be lost or delayed, both of which make movement look choppy. The tick & interpolation systems we set up in this tutorial are built to account for those situations and smooth out player movement.Adding Player Movement | How to Make a Multiplayer Game - Part 2Tom Weiland2022-02-05 | In this second part of my Unity multiplayer tutorial series, we implement server-authoritative player movement.
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!
⎯⎯⎯⎯⎯⎯
0:00 Intro 0:18 Updating Riptide 1:06 Why Server-Authoritative Movement? 1:47 Sending Inputs to the Server 3:26 Calculating Player Movement 6:09 Handling Input Messages 6:33 Handling Position Updates 7:49 Unity Stuff... 9:01 Controlling the Camera 10:24 Why is the Movement Laggy? 10:54 Player Animations Setup 12:37 Making the Animations Work 13:58 Some Cleanup 14:30 Outro
Over the last year I've been working on a C# networking library called RiptideNetworking, and in this tutorial series I show you how to use it to make a multiplayer game in Unity! Multiplayer game dev is difficult and time-consuming, and Riptide saves you the effort of writing the super low level stuff yourself—it takes care of establishing connections between a client and a server and makes sending data back and forth really easy, while still giving you plenty of control over what your code is doing.
Riptide can be used both in and out of Unity, and it supports a wide variety of game architectures. Whether you need an authoritative server for a competitive shooter you're building or you're just looking to make a multiplayer co-op game where players host their own lobbies (sometimes referred to as peer to peer), RiptideNetworking can help you do that.
In this tutorial we implement server-authoritative player movement. While letting clients calculate their own positions simplifies a lot of things, it also makes it really easy for hackers to cheat. That may not matter much if cheat prevention isn't high on your list of priorities, but in this video we set up the player movement with the server being in control of as much as possible.How to Make a Multiplayer Game in Unity | Connecting Clients to a Server - Part 1Tom Weiland2022-01-04 | In this first part of my Unity multiplayer tutorial series, we set up a connection between a server and a client using RiptideNetworking.
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!
⎯⎯⎯⎯⎯⎯
0:00 Intro 0:29 FAQ 0:40 Does RiptideNetworking Cost Money to Use? 1:07 What Platforms Does Riptide Support? 1:35 How Many Players Can Riptide Handle? 1:55 Riptide vs Other Options Like Mirror 2:42 Riptide vs the Solution From the Old Tutorials 3:05 Installation & Project Setup 4:30 Starting the Server 6:10 Connecting the Client 8:03 Connecting via Button & Sending Username 11:56 Handling Username Message on Server 12:58 Spawning Players on the Server 15:09 Sending Spawn Message to Clients 17:13 Handling Spawn Message on the Client 19:40 Testing Time! 20:06 A Few Small Things... 20:37 Outro
Over the last year I've been working on a C# networking library called RiptideNetworking, and in this tutorial series I show you how to use it to make a multiplayer game in Unity! Multiplayer game dev is difficult and time-consuming, and Riptide saves you the effort of writing the super low level stuff yourself—it takes care of establishing connections between a client and a server and makes sending data back and forth really easy, while still giving you plenty of control over what your code is doing.
Riptide can be used both in and out of Unity, and it supports a wide variety of game architectures. Whether you need an authoritative server for a competitive shooter you're building or you're just looking to make a multiplayer co-op game where players host their own lobbies (sometimes referred to as peer to peer), RiptideNetworking can help you do that.
In this tutorial we set up a server and a client and then connect them, and we take care of spawning in players as well. In the next video we'll be dealing with player movement.Why Making Multiplayer Games SUCKSTom Weiland2021-09-08 | I finally decided to tackle some of the more complex issues I was having with multiplayer, and this is how it went...
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!
In this multiplayer devlog I finally decided to tackle some of the more complex problems I've been having with multiplayer. Latency is the enemy, and makes building multiplayer games 1000 times more painful and time consuming. While I've managed to get latency mitigation techniques like client prediction working on dry, non-moving land, it's a whole other story when you're standing on a moving boat, and this video is a summary of my experiences over the last 3 months.
⎯⎯⎯⎯⎯⎯
The music used in this video is sourced from the YouTube Audio Library and StreamBeats.I Made NEW COMBAT for my PIRATE GAME | Multiplayer DevlogTom Weiland2021-06-13 | In this devlog I made a completely new combat system for my pirate game!
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!
⎯⎯⎯⎯⎯⎯
0:00 Intro 0:36 No More Pistol Spam 1:09 Flintlock Reload & Animations 2:53 Discussion of Project State & Reviving the Trello Board 5:06 PROGRESS 5:19 Bugs are Funny 6:07 New Sword Mechanics 7:47 Dueling Oscar 9:05 Leave Your Ideas in the Comments! 9:31 Outro
In this multiplayer devlog we finally revamp the multiplayer PVP experience and upgrade it to what is pretty much an entirely new system. The ranged and melee combat mechanics were pretty bare-bones previously, so it was about time to add some more depth and complexity.
Instead of spam-clicking to win, you now have to actually think about reload times, ammunition count, blocks, stuns, and ripostes (counter attacks), and thanks to some new animations, you can actually tell when you're attacking, blocking, or reloading!
⎯⎯⎯⎯⎯⎯
The music used in this video is sourced from the YouTube Audio Library and StreamBeats.I Made a New Pirate Ship for My Game | Multiplayer Devlog #45Tom Weiland2021-04-25 | In this devlog I made a new pirate ship for the game and reworked the wave simulation!
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!
In this devlog we finally replaced the ship model in my multiplayer pirate game. The old one was a little small and looked very similar to the sloop in Sea of Thieves, so I wanted to give it an upgrade and hopefully start differentiating this game a bit.
I also finally fixed the boat's buoyancy system, so it's no longer as bouncy, and while I was at it, I gave the wave simulation an overhaul to make the water look less repetitive and more natural.
⎯⎯⎯⎯⎯⎯
The music used in this video is sourced from the YouTube Audio Library and StreamBeats.2 Years of Game Dev - Making a Multiplayer Pirate Game in UnityTom Weiland2021-03-15 | In this video we take a look back at the last 2 years of game dev, which I spent making a multiplayer pirate game.
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!
In this video we take a look back at the last 2 years of game dev, which I spent making a multiplayer pirate game. From the early beginnings of working with a console app-based server and BepuPhysics, to experimenting with shaders, water simulation, and island generation, to the more recent additions of grappling hooks, this video summarizes the entire journey so far and shows what 2 years of indie game progress (might) look like.
If you're new to the channel, this is a great way to get up to speed on development without having to watch ALL of my existing devlogs (although the last 2 are definitely worth checking out!). Working on this project has been a wild ride so far, with lots of mistakes and lessons that I learned along the way, and I can't wait to see what the next 2 years will be like!I Played My Pirate Game With Friends | Devlog #44 (Plus Gameplay!)Tom Weiland2021-02-01 | 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.
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!
In this indie devlog I focused on getting the project to the point where I could test it with friends. After quite a bit of bug fixing and cleaning up things that didn't work, I finally played my pirate game with some of my friends. That means that I was able to get some gameplay footage with multiple players, which is certainly much more interesting and entertaining.
I also made it possible to bail water out of your ship as it sinks, which means you're no longer left with a ship full of water just because you took one hole. It's been 2 years since I started this project, and I'm so excited to be entering the early playtesting phase!New Unity Multiplayer Netcode for My Pirate Game | Devlog #43Tom Weiland2021-01-03 | In this devlog I switched the project to use my new and improved Unity multiplayer netcode.
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!
In this indie devlog I converted the pirate game's netcode to the new and improved multiplayer solution that I've been working on for the past few months. It makes setting up a server and connecting clients to it much quicker and easier, plus it's more reusable! I still have a lot of work to do before this networking solution is completely ready, but once it is, I'll definitely be making a tutorial about it :)
Additionally, I flattened the waves around islands, which was long overdue, and I made it possible to repair your ship when it takes damage.Adding an Inventory to My Multiplayer Pirate Game | Indie Devlog #42Tom Weiland2020-12-01 | In this indie devlog I added an inventory system to my multiplayer pirate game.
In this indie devlog I added an inventory to my multiplayer game (built in Unity). After doing some major code refactoring and fixing a few issues that had been plaguing the project for a while, I finally added the second portion of the inventory system, which is a more traditional "item slots-based" system.
Although it's working, while recording footage for this video I discovered a few desync issues when multiple players are looking in the same barrel. There's also still a lot to clean up and polish off as far as UI input goes, not to mention that all the item icons are currently still placeholders, so there's a lot left to do.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DBlocking, Resource Harvesting & Planning the Gameplay Loop | Indie Game Devlog #40Tom Weiland2020-10-14 | In this indie game devlog I added blocking and resource harvesting, and I finally did some proper planning for the gameplay loop.
In this indie game devlog I started by adding a blocking mechanic, which I didn't get around to in the last video. Then I did a ton of brainstorming and really figured out a plan for the future of this project, which was LONG overdue to say the least!
I also began working towards getting the core gameplay loop in place by adding resource harvesting for the rocks and trees. In the future I'll be adding other resources like iron, precious metals, rope, and cloth for sails, but for now I should be able to build out the necessary mechanics with just wood and stone.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DSword Fighting - Adding Melee Combat to my Indie Game | Devlog #39Tom Weiland2020-09-13 | 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.
In this indie game devlog I implemented the basics of sword fighting and melee combat, and I modeled a Xiphos, which is a type of ancient Greek sword. I'm extraordinarily satisfied with how the sword model turned out, and I think it's easily my favorite model of all the ones I've made so far.
I also fixed a couple bugs, and made some improvements to my low poly shader so that I can set the smoothness (shininess) on a per-vertex basis.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DGrappling Hook Model, UI Improvements, & Bug Fixes | Indie Game Devlog #38Tom Weiland2020-08-24 | In this indie game devlog I modeled a grappling hook, made some UI improvements, and fixed a few bugs.
In this indie game devlog I used Blender to make a grappling hook model, I worked on some UI improvements, and I fixed a few bugs that have been around for way too long. The UI overhaul wasn't as interesting as I thought it might be since I ended up mostly reorganizing stuff on the backend, so I did my best to cram in some decent progress towards the end of the video. I spent quite a bit of time doing some freelance work recently, so that's another reason this devlog was a bit more mellow :P
The first bug I fixed made the player float into the air anytime he was interacting with something because gravity wasn't being applied, and the second one prevented the camera from positioning itself correctly when aiming cannons. Both of these issues have been around for a few months because I ignored them, and it felt really good to get them off my list off things to do.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DAdding Grappling Hooks and Making Ship Damage Visible | Indie Game Devlog #37Tom Weiland2020-08-09 | In this indie game devlog I added grappling hooks and I made ship damage visible.
In this indie game devlog I added grappling hooks and I finally decided to make ship damage visible. URP doesn't currently have built-in decal support, but luckily I found a shader that allows me to project a hole texture directly onto the ship's hull.
As for the grappling hooks, I had WAY too much fun playing around with those. It took a while to get it working properly, but swinging around the boat like Jack Sparrow feels pretty epic! Grappling hooks also open the door for all kinds of interesting boarding maneuvers, so I'm excited to see how people will use them once I get some sort of beta version out.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DMaking a Low Poly Player Model That Needs to be Burned | Unity Multiplayer Game Devlog #36Tom Weiland2020-07-26 | In this Unity multiplayer game devlog, I used Blender to created a low poly player model (more like a monstrosity) and I removed my client prediction & reconciliation systems.
In this devlog I modeled a low poly player model which needs to be burned at the stake (100% deserved). The face is an absolute abomination and will definitely need a major overhaul soon, but for now this project has turned into a horror game :P
I also removed my client prediction and reconciliation systems, which means you can once again walk on boats without experiencing extreme jittering. The controls are slightly unresponsive now, but I'm ready to move on to some actual gameplay. I'll reimplement some sort of solution to make it feel responsive at a later point in time.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DParticipating in My First Game Jam | Making of Out of the Blew - Collab Jam #1Tom Weiland2020-07-20 | I recently participated in my first game jam, and in this video I wanted to share my experience of making a game (Out of the Blew) in 48 hours.
Almost 3 weeks ago, I participated in the first Collab Jam, which was a game jam organized by Mickey. A bunch of other small game dev YouTubers participated, and it was a really great experience for my first game jam.
The theme was "The Unexpected" and in 48 hours I used Unity to make an endless runner game where you play as a fish and have to swim as far as possible through geyser-infested waters before getting blown out of the water. I called it Out of the Blew, which I thought was rather clever, although the wordplay may also have been a bit overkill 😅
Anyways, in this video I wanted to share my experience and the process of making Out of the Blew, and hopefully this inspires some of you to also finally participate in your first game jams. It's a great learning experience and can be a lot of fun, and participating in a smaller jam first will make larger ones like Ludum Dare seem much less daunting!
#GameJam #GameDev #IndieDev #Unity3D #CollabJamRocks, Swimming, and Scrapping Client Prediction? | Unity Multiplayer Game Devlog #35Tom Weiland2020-07-12 | In this Unity multiplayer game devlog, I added procedurally generated rocks, implemented swimming mechanics, and tried to fix client prediction on ships.
In this devlog I modeled a low poly rock and incorporated it into my procedural generation system. I also added swimming mechanics, and I attempted to fix client prediction & reconcilation when on board a ship.
Ever since I added prediction, standing and moving around on boats has resulted in extremely jittery player movement, which is due to the fact that clients see ships in the past compared to the server. I was hoping to fix that up, but I ran into some more issues, and I'm beginning to wonder if I should scrap prediction/reconciliation for now in favor of working on actual gameplay.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DHow Much Money Small Channels Make on YouTube From Ads | Small Game Dev YouTuber Income RevealedTom Weiland2020-07-05 | My YouTube channel has been monetized for about 2 months now, and in this video I share how much money my small game dev channel makes from YouTube ads.
It's been a while since I last made a video about my income, and at the time my YouTube channel wasn't monetized, so I wasn't able to cover that. I love learning how much money other YouTubers make—especially smaller channels to see what's possible, so I figured in this video I would share how much money my small channel makes on YouTube from ads.
There's tons of videos out there of YouTubers sharing their income, but since ad revenue can vary so wildly from niche to niche, it's not super "applicable" information unless your channel is in the same niche as the creator you're watching. The only other game dev YouTuber who shared his ad revenue seems to be Blackthornprod (that's based on titles in search—his video's was the only one mentioning YouTube revenue), so I figured I'll add to that.
I know a lot of people would love to make a bunch of money through YouTube ads, and although it's perfectly possible, I think it's more difficult in the game dev & tech niches than elsewhere. I've noticed that comparatively few of my views are being monetized, and this seems to be the case for Blackthornprod as well. My best guess as to why this might be is that people who subscribe to game dev channels are quite likely to be more technologically savvy than the average YouTube viewer, and so many of you have ad blockers installed.
In this devlog I modeled a low poly palm tree (during my first livestream!), and then I implemented procedural tree generation so that I don't need to manually place every single tree. At first I thought this would be quite difficult, and at one point I even considered abandoning procedural generation altogether, but once I got out of my head and actually started writing code it was fairly straightforward.
Then I made the ocean infinite. In reality, the water plane just moves with the camera now, but that makes the water appear to be endless. I also improved the camera's submersion detection by removing its reliance on an approximation, so the water fog actually gets enabled and disabled properly now.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DYou Can Now See Underwater: Adding Water Fade & Fog Effects | Unity Multiplayer Game Devlog #33Tom Weiland2020-06-14 | In this Unity multiplayer game devlog I make it possible to see underwater and add some water fade and water fog effects.
In this devlog I added underwater fog and water fade effects to my Unity game, so you can now see underwater properly. I was originally hoping to do that in a single day, and then add swimming mechanics and do a whole bunch of clean up during the rest of the week, but this ended up taking a lot longer than I had expected!
#Devlog #GameDev #IndieDev #Multiplayer #Unity3DCelebrating Your Accomplishments as a Game Developer | We Hit 5000 Subscribers & Face Reveal!Tom Weiland2020-06-07 | We hit 5000 subscribers (thank you!), and in this video I wanted to talk about celebrating your accomplishments—something I personally don't do nearly enough.
In this video, I wanted to talk about celebrating your accomplishments as a game developer. I'm often extremely hard on myself and only focus on what I could improve, and that's not healthy. While being able to recognize your flaws is an important part of growing, acknowledging how far you've come and the amazing things you've achieved is just as important—and it's something I almost never do.
Whether or not you're like me and you focus way too much on your shortcomings, take a moment to reflect and ask yourself if you deserve some self-praise :)
#ThanksFor #5000subs #FaceReveal #GameDevNew Flintlock Pistol, Ranged Combat & Fixing Reconciliation | Unity Multiplayer Game Devlog #32Tom Weiland2020-05-31 | In this Unity multiplayer game devlog, I model a Flintlock pistol, implement ranged combat, and fix client reconciliation.
In this devlog, I fixed up client reconciliation which was still broken from the last video. I also modeled a new Flintlock pistol with Blender to use as the first ranged weapon and I implemented the basics of ranged combat.
Although my prediction system now works great on dry, non-moving land, the fact that ships move poses a problem. Since the client sees himself in the present but ships in the past, it can't accurately predict the player's movement when on board a boat because the starting positions are different from what the server uses to make those same calculations. I'm still not sure how I'm going to get around this issue.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundHow to Make a Game Launcher and an Auto Updater With WPF | C# Game Launcher TutorialTom Weiland2020-05-24 | In this launcher tutorial you'll learn how to make a game launcher and an auto updater for your Unity (or other) games.
In this game launcher tutorial, we set up a launcher that can also automatically install updates for players. When I created a launcher and auto updater for my Unity multiplayer game in one of my devlogs, I got a lot of comments asking for a tutorial on how to do this, so here it is!
By the end of this tutorial, you'll know how to make a launcher and game updater for your Unity games. You can also use it to automatically update games built with other engines—even regular applications will work!
#UnityTutorial #GameLauncher #Unity3D #AutoUpdater #GameDevImplementing Client Prediction & New Server Rollback System | Unity Multiplayer Game Devlog #31Tom Weiland2020-05-17 | In this Unity multiplayer game devlog, I rebuild the server rollback system and begin implementing client prediction.
In this devlog, I rebuild the server rollback system and begin implementing client prediction. Like I mentioned in the last devlog, I realized that I severely over-complicated my server rollback system, so this week I got to work on rebuilding it.
Unfortunately I wasn't able to complete the reconciliation aspect of client prediction because I ran into some issues. Client prediction and reconciliation is pretty complicated, and even though I knew that going in, I somehow managed to underestimate it anyways.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundHow to Set Up Dynamic Water Physics and Boat Movement in Unity | Ship Buoyancy TutorialTom Weiland2020-05-10 | In this tutorial you'll learn how to set up boat movement and dynamic water physics in Unity.
In this buoyancy tutorial, we set up dynamic water physics and boat movement in Unity. We'll be making objects float and implementing physics based buoyancy for large objects like ships. While the core of the video is about buoyancy and flotation, setting up boat movement after watching this tutorial is as simple as applying a local forward force. Add some input-based rotational forces to the mix, and you've made a boat controller in Unity!
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundRevamping Procedural Island Generation & New Player Controller | Unity Multiplayer Game Devlog #30Tom Weiland2020-05-03 | In this Unity multiplayer game devlog, I revamp the procedural island generation system, put together a new rigidbody player controller and do tons of cleanup work.
In this devlog, I revamp the procedural island generation system. I've been thinking about ways of making my terrain generation produce nicer islands, and in this devlog I finally implemented a much better version. The new system produces way nicer-looking procedural islands in Unity, and I'm super happy with the upgrade!
I also built out a new rigidbody player controller and I did tons of cleanup work, so the server transfer from console app to Unity project is pretty much complete now.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundImplementing Server-Side AI Enemies in Unity | C# Networking Tutorial - Part 11Tom Weiland2020-04-26 | In this eleventh part of my C# networking tutorial series, we implement some server-side AI enemies that our players can fight against.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Today we're setting up some server-side AI enemies which our players can fight against. In order to keep our server authoritative, we stick all of the AI enemy logic on the server, and only send the information that clients need to accurately display what the multiplayer AI enemies are doing in Unity.
The artificial intelligence that we put together in this video isn't actually that intelligent, but it serves its purpose of demonstrating how you could implement more complex AI in a multiplayer game.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundMoving the Server into Unity & Testing the Launcher | Unity Multiplayer Game Devlog #29Tom Weiland2020-04-19 | In this Unity multiplayer game devlog, I continued working on the launcher before testing it with a friend, and then I made the decision to move the server into Unity.
In this devlog, I gave the launcher the ability to update itself, and then I tested the whole thing out with a friend, which went pretty well. However, we did find some bugs in the game itself, some of which I've already managed to fix.
Additionally, I made the decision to move the server code into Unity. This is something I had been considering for a while, but I've finally started the conversion process. Over the next few days I'll essentially be rebuilding all the game mechanics I've added so far to make sure that they work with Unity. This switch should make it a lot easier for me to implement client prediction and then focus on adding content, which I'm super excited about!
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundSynchronizing Projectiles and Explosions Across the Network | C# Networking Tutorial - Part 10Tom Weiland2020-04-12 | In this tenth part of my C# networking tutorial series, we let players throw projectiles which explode on impact and synchronize them across the network.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundBuilding a Launcher From Scratch to Auto-Update the Game | Unity Multiplayer Game Devlog #28Tom Weiland2020-04-05 | In this Unity multiplayer game devlog, I got to work on building a launcher from scratch to auto-update the game files.
In this devlog I started building a launcher from scratch which can automatically update the game's files. Having this sort of functionality in place is extremely convenient when it comes to distributing updates as it removes the hassle of manually sending the game's files to testers with every new version. I'm pretty happy with the UI and how far I got in this devlog, but among other things, I still need to allow the launcher to automatically update itself.
I'll be using this launcher for alpha & beta testing when I get to that stage, although I'm not entirely sure about any official releases yet.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundSpawning Items on the Server and Picking Them Up | C# Networking Tutorial - Part 9Tom Weiland2020-03-22 | In this ninth part of my C# networking tutorial series, we spawn items on the server and allow players to pick them up.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundHow Much Money I Make as an Indie Game Developer and Small YouTuberTom Weiland2020-03-15 | In this video, I share how much money I make as an indie game developer and small YouTuber with just over 2000 subscribers.
I find the topic of personal finance extremely interesting, and in this video I wanted to share how much money I make as an indie game developer and a small YouTuber. I'm always super curious about what other YouTubers and game devs make, but often those that do share their income are already doing so well for themselves that it can be unrelatable.
Even though the amount of money I make is rather small at the moment, I wanted to make this video to ensure it's on the record. Hopefully I'll be making more in the future, and at that point I'm hoping it will inspire you guys to see that I started small too, and that's okay!
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundSetting Up a Master Server and Fixing My Screenshot Code | Unity Multiplayer Game Devlog #27Tom Weiland2020-03-08 | In this Unity multiplayer game devlog, I got to work on setting up a master server and I managed to fix my screenshot code.
In this devlog I found a solution to the problem I was having with my screenshot code in the last video. Although my screenshots now include the post-processing effects and I can take them at pretty much any resolution, it was quite frustrating how under-my-nose the fix was.
I also got to work on setting up a master server. It's still in an extremely basic state, but clients can now connect to it and the master server will connect them to a game server, which is pretty awesome!
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundPlayer Shooting and Getting the Right IP to Connect to | C# Networking Tutorial - Part 8Tom Weiland2020-03-01 | In this eight part of my C# networking tutorial series, we cover player shooting and getting the right IP to connect to.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundWriting a New Custom Procedural Skybox Shader and Fixing Bugs | Unity Multiplayer Game Devlog #26Tom Weiland2020-02-23 | In this Unity multiplayer game devlog, I wrote a new custom procedural skybox shader to improve the way the sky looks.
In this devlog I finally fixed the issue with the capstan where players couldn't collide with it. I also tried to make my screenshot system work with the postprocessing effects I added in the last devlog, without much luck.
To get my mind off that, I decided to write a new custom procedural skybox shader, and I'm pretty happy with the result. It definitely looks much better than it did before, and the moon is now actually visible. Unfortunately I didn't get around to adding stars, but I'll take care of that next week.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundHow I learned to Code When I Was 12: My Journey as a Game Developer (And We Hit 1000 Subscribers!)Tom Weiland2020-02-16 | In this video, I share a bit more about myself, how I learned to code when I was 12 years old, and the various projects I've worked on.
I started to learn to code when I was 12 years old, and in this video I wanted to share a bit about my journey as a game developer and the various projects I've worked on over the years. I started out really small with ultra simple 2D games, but now, some 6 years later, I'm building a 3D multiplayer game.
Additionally, we hit 1000 subscribers yesterday. Thanks to Dani giving me a shoutout in his latest video, this happened 2 months earlier than I predicted in my Goals for 2020 video. Thank you to everyone for all the support and for being a part of this community—you guys are awesome!
#LearnToCode #GameDev #IndieDev #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundSwitching to the Universal Render Pipeline and Post Processing | Unity Multiplayer Game Devlog #25Tom Weiland2020-02-09 | In this Unity multiplayer game devlog, I switched to the Universal Render Pipeline and added some post processing effects.
Unfortunately I got kind of sick in the first week of this devlog, so I didn't make too much progress there. However, Unity 2019.3 came out of beta recently, so I decided to finally upgrade my project while also switching to the Universal Render Pipeline. Before I left for a trip this weekend, I played around with some post processing effects as well.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundServer Side Collisions and Better Player Movement | C# Networking Tutorial - Part 7Tom Weiland2020-02-02 | In this seventh part of my C# networking tutorial series, we cover server side collisions and improve player movement.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundProperly Interpolating Between Server State Updates | Unity Multiplayer Game Devlog #24Tom Weiland2020-01-26 | In this Unity multiplayer game devlog, I decide to come back to the subject of interpolation and implement it properly.
Properly interpolating between server state updates can get surprisingly messy. Since clients can't always accurately predict the movement of objects, many games actually display the state of the world from a short time ago. This allows clients to show the game almost as if it were a movie—the client already knows what will happen before it does, and therefore can display it to the player with much better accuracy.
The first time I tackled interpolation, all I did was make the client lerp between the state updates it received from the server—no timing involved. This works fine when I connect on from the same computer which the server is running on since there's almost no latency in that case, but if packets are delayed, the client ends up simply extrapolating the previous movement because it doesn't know what else to do. That's not the end of the world in many cases, but especially when it comes to players in fast-paced games, showing movement precisely is pretty important, so I finally decided to take care of interpolation the proper way.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundMoving the Server Code into Unity | C# Networking Tutorial - Part 6Tom Weiland2020-01-19 | In this sixth part of my C# networking tutorial series, we move the server code into Unity to give us access to Unity's physics library.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundDropping and Raising the Anchor | Unity Multiplayer Game Devlog #23Tom Weiland2020-01-12 | In this Unity multiplayer game devlog, I get to work on dropping and raising the anchor.
With it still being the holidays, I didn't make too much progress during the first week of this devlog. However, in the second half I started working on dropping and raising the anchor, which came with a few problems. Since the capstan's collider will have to rotate, I can't make it part of the ship's compound collider, so I ended up looking into BepuPhysics' constraints. I got kind of stuck, but once I sort it out I'll be able to use the same knowledge to rotate the colliders of other objects such as the rudder and the cannons.
I also had to rewrite the way I handle inputs on my server in order to allow me to take advantage of continuous inputs. This took a lot longer than I would have liked, and the code still feels kind of messy, but I should be able to reuse the same systems quite often in the future.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundGoal Setting as a Game Developer & Shifting Your Identity to Achieve Your Goals | My Goals for 2020Tom Weiland2020-01-05 | In this video, I share some of my thoughts on goal setting, as well as what some of my personal goals are for 2020.
I've never really been someone who set New Year's resolutions, but now that I'm out of High School, I decided to give goal setting a shot. It has always bothered me how it seems to be normal to fail your New Year's resolutions, but what if instead of simply setting goals, we shifted our identity to make achieving your goals much easier?
Our behaviors and habits are shaped by our environment and our perception of who we are. So if we could learn to control the way we view ourselves, it'd be a lot easier to accomplish the things we hope to achieve. In this video, I go into this concept in more depth, but I certainly don't have it all figured out, so please leave your thoughts in the comments below!
#GoalSetting #2020 #GameDev #IndieDev
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundPhysical Holes in Ships and Happy New Year! | Unity Multiplayer Game Devlog #22Tom Weiland2019-12-29 | In this Unity multiplayer game devlog, I finally add holes in ships to the physical world.
This devlog is a little shorter than usual, partially because I spent some time with family over Christmas, but also because I procrastinated a bunch. I've decided to try a different strategy to hopefully overcome that, since planning out my days wasn't exactly working for me. Regardless, I finally added holes in ships to the physical world, which was a bit overdue. I still need to make it so clients can see those holes and repair them, but all the server-side stuff is there now.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundProperly Handling Disconnections | C# Networking Tutorial - Part 5Tom Weiland2019-12-22 | In this fifth part of my C# networking tutorial series, we properly handle disconnections to prevent errors and ensure the disconnecting player's slot is reset on the server.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundDynamic Ship Speeds and Adjustable Sails | Unity Multiplayer Game Devlog #21Tom Weiland2019-12-15 | In this Unity multiplayer game devlog, I get to work on making sails adjustable and I make ship speeds dynamic.
This devlog contains less progress than usual, mainly because I took a break from development during the first week. Staying motivated and productive can be hard, and procrastination is often a real problem for me. In this video, I share some of my thoughts on staying focused and not giving up.
Progress-wise, I made sails adjustable, and then I made the ship's speed depend on the wind direction, sail length, and sail angle. Currently, sailing directly into the wind is impossible, much like it is in real life, but I'm not sure if I'll keep it that way. It's pretty inconvenient, and this is a game, meaning it's supposed to be fun, but we'll see.
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundSpawning Players and Adding Basic Player Movement | C# Networking Tutorial - Part 4Tom Weiland2019-12-08 | In this fourth part of my C# networking tutorial series, we spawn players once they connect, and then we implement some basic player movement.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansoundAdding a Day-Night Cycle and More Realistic Wave Simulation | Unity Multiplayer Game Devlog #20Tom Weiland2019-12-01 | In this Unity multiplayer game devlog, I continue working on making ships sink. After that, I improve the wave simulation and I add a decent-looking day night cycle.
After I finished making ships sink, I got to work on my wave simulation code. I replaced my sine wave-based formula with Gerstner waves, as they look a lot more realistic. This was something I had wanted to do for quite a while, but I never really got around to it. I'm super happy with the way the water has turned out, it looks so much better now!
Next, I added a day night cycle to the game. Although I decided to tackle the procedural skybox shader at a later point in time, I managed to get some nice looking sunsets going in Unity—simply by making the sun color, ambient light color, and the fog density and color dependent on the time of day. This has really made the world feel more alive, and I can't wait until I reach the point where the game is playable!
#Devlog #GameDev #IndieDev #Multiplayer #Unity3D
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/by/4.0) Artist: soundcloud.com/meydansoundImplementing UDP Communication Between Clients and the Server | C# Networking Tutorial - Part 3Tom Weiland2019-11-24 | In this third part of my C# networking tutorial series, we make it possible for our Unity clients and our dedicated server to communicate using UDP.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: youtu.be/6kWNZOFcFQw
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!
⎯⎯⎯⎯⎯⎯
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting—and it's by no means easy—but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/...) Artist: soundcloud.com/meydansound