So I’ve spent some time tooling around with Unity. I’m trying to learn as much as I can about C# and Unity to be able to someday make the game I want to make. To that end, i’d like to know what people think is the best way to learn how to use client + server code with programs for Unity. The game I want to make will have alot of multiplayer and enemy AI. Also, I wish for it to be turn-based strategy with up to 4 teams playing at the same time. Does anybody have any suggestions for source material for most broken down basic code or examples relating to Client+Server and Turn-based strategy game development? It would be wonderful. Thanks in advance!
Is this your starting point? ‘Client + server’ = HARD. Also, ‘4 teams playing at the same time’ = HARD. That’s before you figure out graphics, UI, animations, game lobbies, game mechanics, AI, player interactions, game balance, and 1000 other things. Some of the networking issues might be addressed in the article, “Believable Dead Reckoning for Networked Games” in Game Engine Gems 2. Though, to be honest, your question sounds like, “I want to fly to the moon, are there suggested guides for rocket propellant, ceramic tiles, and launch pads?”
My suggestion is to start INFINITELY smaller. Try here: Learn
Gigi
It is kind of out of date, but the Hack n Slash tutorials helped me out a lot in understanding some of the ways C# interact with the system. I know there are one or two turn-based RPG video series on YouTube but I haven’t taken a look at them as I’m looking at more of a real-time feel, although I might have a few turn based quests. But turn based will be minimal in my game.
I know you mentioned multiplayer, and in the end that is my goal too. But I’ve ended up going with the ORK rpg framework for the backbone of my game. It seems to have a pretty decent foundation for both turn-based and real time strategy. The only problem for us is it is single player. But with purchase, you have full access to the source. I’m hoping to eventually develop a multiplayer plugin for it. The author has noted classes within the code that might have to be adjusted/overriden to support multiple players.
My suggestion though to be to definitely check out Hack n Slash. Here are links to BurgZerg (Hack n Slash guy) and a couple other youtube folks I ended up subscribing to after watching their stuff:
BergZerg - Hack & Slash 1-200 and Hack & Slash 201-400 playlists. He has a newer one using PUN but I haven’t watched them: https://www.youtube.com/user/BurgZergArcade/playlists
Brackeys - I think the first one I started to watch of his was UnityScript but later series have been C#: https://www.youtube.com/user/Brackeys/playlists
Hardly Brief Dan - I’ve only watched part of the Make an RPG series and what I watched of it was pretty good: https://www.youtube.com/channel/UCwWQXO0OiWY6iY03y0-QfHw/playlists
Naman Jain - Series on making a Diablo-like RPG using C# and Unity… Some good concepts… https://www.youtube.com/user/translative245/playlists
I’ve found all of those useful and have grabbed pieces of code and systems from each series that I’ve sat aside to later adapt into my game. They were really helpful for me to actually code along with and actually be able to run and see things as I was going.
Hope that helps…
Edited to add: I have to totally agree with Gigi… My original intention was “Hey, I want to build an MMO…” But there are so many pieces and parts, I’ve scaled back to the goal of building a single player version of my game using a small area of the land mass I had originally dreamed. I figure this will give me a chance to really dig in and learn Unity while at the same time develop core functionality that can be transitioned later into a network model similar to Diablo on Battlenet. More of a co-op multiplayer type system. Then depending on success of that, I would at that point hopefully have the start of a core team and a lot of the pieces to move into MMO scale down the road. Or maybe just stick with expanding the co-op multiplayer. But baby steps seem to be key… lol
Make the smallest game world necessary to allow 2 players and a few enemies to run around. Just a couple obstacles such as 1 tree and 1 rock. Focus on the enemy AI. Get them doing some very simple move and shoot pattern. Make it so they can be shot and killed. Focus on the player control: movement, shooting, taking damage, etc. Then focus on the multiplayer system. To build the kind of game you are after want to keep the scale minimal right now so you can focus on the important stuff instead of getting lost for months in content creation and world generation. Basically an alternative to what @Gigiwoo suggested but in the end the same basic concept: KEEP THE SCOPE SMALL… as small as is needed to get a model of your game working.
Definitely advise to start smaller. Networking is tough.
There are a few prebuilt networking solutions you can start with on the asset store, including photon and bolt.