Making a Game in Unity 001: Introduction

Just so you know, this is not a tutorial series! I am writing this series mainly to give you a behind the scenes look at the process of making a game in Unity, and to document the development of this project.

See other posts in this series.


Making a game in Unity 001

Today, I’m starting a new series! I began working on a new project yesterday, and I’ll be documenting the process here on my blog with biweekly updates. Also make sure to come hang out on my Discord server, where I’ll be sharing updates as they happen.

These posts will contain a summary of what I’ve worked on over the past two weeks, including progress I make, bugs I encounter, and the overall process of building a game.

In addition to keeping me accountable and motivated, I hope that this series will give you an inside look at what game development is really like. But before I explain what this project is all about, let me answer a question you may be wondering about if you’ve read some of my recent posts.

Am I ignoring my own advice?

Starting this project probably seems like I’m not taking some of my own advice. However, I don’t think that’s the case. Let me explain.

First, I am in fact aware that in last week’s post about Choosing Challenging but Feasible Projects I recommended “doing away with any ideas of building large scale games like MMORPGs.” This project definitely qualifies as a large scale game, however I intend to use it mainly as a learning opportunity.

What does that mean? Well, I’m conscious of the fact that this is a game I may not be able to finish. My main goal is to learn as much as possible, meaning completion is a secondary objective.

Second, I’ve talked quite a bit about The Importance of Finishing Projects, and now I’m moving on to a new project without having finished Ventus. I managed to solve the connection issues (meaning it’s completely functional now), but I’ve decided to wait with releasing it until I can legally do so under my own name (once I turn 18). In the meantime, I need a new project to work on.

Additionally, I haven’t had any inspiration for other, simpler projects. Starting a project without inspiration can be setting yourself up to fail just as well as starting a project that is much too large. This is also a kind of game I’ve wanted to build for years, so now seems as good a time as any to try.

So what is this project about?

I have to admit, Sea of Thieves has been a big inspiration to me lately. I’ve wanted to build a game similar to it for a long time, even before I heard about it.

There’s just something about being able to get on your own ship and sail across the seas, battling other players and finding treasure, which I find extremely appealing. I haven’t actually played it myself as it’s quite expensive and requires Windows 10 (which I don’t have). In a way it’s probably good that I haven’t gotten to play it, as I likely would have sunk many hours into it.

I intend to go with a low poly graphics style, which I really like, and I think it’ll shave some time off of modeling. I’ll also be looking into writing shaders, which I haven’t done too much.

As for game play, you’ll spend most of your time sailing your ship (alone or with friends), battling monsters and other pirates, and looking for treasure. I know it sounds a lot like SoT, so I’ll have to come up with some nifty features to make it different and worth playing. I would also like to include things like player-built towns and a player-driven economy, although those would come way in the future, and I may not even get to that point.

As I’m writing this, it seems like the scope is expanding even more, but again, my main goal is to learn from this project.

Progress so far

I only started working on this project yesterday, so this section will be short today.

Saturday

Today I did some “admin” work. I reworked the Ventus Discord server to now include all my projects. I’d like to transform it into a community of developers who support, encourage, and share their progress with each other. Make sure you come join us!

I also started setting up the game server. Massive thank you to Kevin Kaymak and his networking videos—I’ve learned most of what I know about multiplayer games from him. He has built a super supportive community on his Discord server, on which I’m also an admin.

Sunday

This morning and afternoon I finished up the first part of Kevin’s latest networking series. Clients can now connect to the server and players are being instantiated properly. I haven’t gotten around to player movement yet, and tomorrow school will start cutting into my time again (ugh).

To finish off my programming for the day, I added a custom Logger class to Kevin’s code. This allows me to print text to the console with timestamps and in various colors. Additionally, it keeps things nice and orderly and prevents words from being split between two lines.

Formatted console thanks to my custom Logger class
My custom logger class at work.

That’s all for now

Today’s post was quite long as I wanted to introduce the new series and address a few things. Future posts in this series will likely be quite a bit shorter, with more in the progress section.

If you made it this far, thanks for reading! I hope you’re as excited about this project as I am.

See other posts in this series.