Select Page

Hello World!

I’ve decided to make a blog documenting my journey while I learn to make a game.

The type of game I have in mind is a multiplayer building, crafting and survival style of game where you can also mine and shape the terrain (maybe smooth voxels) as well as possibly level up and become more powerful and learn more things as you go. Maybe there will even be dungeons and you might be able to pick a class or something so people have to work together like a healer, dps, and tank or have the option to go solo or get all three. That’s the beauty of it, it will be able to be molded to be almost any way imaginable and I’m sure it will evolve along the way. It will also have a dedicated server which is hopefully resource friendly which can run on Linux. Sure I know there’s plenty of similar games out there but I want to make my own and I will if it takes me 30 years. Maybe I will never be done it. Maybe it will be an ongoing project for the rest of my life which I will never be satisfied with but will always strive to perfect and fix bugs and add new features that people want and tweak things to keep it running snappy.

Sounds pretty ambitious, I know. I’m not even sure if I’ll try to sell it or just let people have it. Though it would probably be good to make some sort of money from it since it will take up a huge amount of time if it ever gets popular. Maybe some sort of free to play model can work eventually or maybe I will start by charging $1 and go up to $2 after a year and $4 after another year and $8 after another or something like that. Anyway, that doesn’t really matter right now, first I have to start making it and get it to somewhere that people can play something. To start I’m going to have to learn how to do all that stuff. To do that I have to read documentation and do tutorials and make little practice games along the way in order to get experience to know how to go about it all properly. The first thing I had to do though was choose which engine to make my game in. I tested out both Unreal Engine and Unity, as well as another one called jMonkeyEngine SDK and I’ve decided to start learning Unity and make my game with that.

There are multiple reasons for this decision but probably the biggest reason being that I don’t really want to learn C++ and learning C# seems much easier so far. I do know Java but jMonkeyEngine SDK seemed like it might be even more time consuming and more involved than I’d like, plus I don’t really like Java at all, so there’s that.

I don’t think I want to wrap my brain around C++. I’ve been coding for almost 20 years now, though mostly PHP and JavaScript and whatnot because I am a freelance web developer. While I took all the programming courses in high school as soon as I could and a few online courses in college I never did actually get any official degree for anything. That’s only because they added more requirements when I was almost done it so I decided to just keep learning on my own and I’ve been doing that ever since. But whenever I start trying to learn C++ and get into pointers and weird syntaxes which I can’t figure out it makes me realize I really do not want to even learn this language, I just don’t enjoy it and I don’t want to force myself to spend the time to learn it if I don’t have to. And I don’t have to.

The second biggest reason I don’t think I want to use UE at this time is that it seems very unstable. I would often get crashes when I was just doing normal things which shouldn’t have crashed it. I have lots of experience making it crash but sometimes… I don’t know, it just crashes. While Unity has crashed on me before I think it’s only done that once so far (unless that was a dream) and I have spent probably almost as much time in Unity as I have in Unreal Engine at this point, and it was probably my fault.

Another reason I don’t really like UE is that it seems to be very resource intensive just sitting there doing nothing. It uses 25% of my CPU doing absolutely nothing while Unity uses 0%! UE also uses far more RAM than Unity. When using UE doing something like building shaders and lighting often just melts my CPU and I don’t really like that. I have to stop it sometimes because my computer gives a warning that my CPU is overheating. I don’t really know how this compares with Unity since I’m not sure if it even builds shaders or lighting in the same way but so far Unity doesn’t seem to have issues like these. I have added new thermal paste to my CPU and I even have a Noctua CPU fan and it still melts my CPU so I don’t know what’s up with that.

Unreal Engine also has very little on it’s marketplace compared to Unity’s asset store. It just makes it all that much harder to do anything. Then again, maybe it doesn’t need a lot of extra stuff other than what’s already there. I do like Unity’s store a lot better though, it has more features and far outmatches UE’s.

Another thing is that there are tutorials for both but the ones I found for Unity seem to be much higher quality and more updated. The ones they provide on their site are great. They usually aren’t too different that I can’t figure things out. I felt like UE’s documentation was a bit outdated and the examples they provided I couldn’t really use a lot of the time. I could figure out what I wanted to because blueprints aren’t really all that tricky but the Unity documentation seems to be better and there seems to be a lot more of it. I think maybe Unity is more widely used.

I’ve already made a small game using Unreal Engine with blueprints. Blueprints are a method of visual scripting where you can place boxes and drag nodes to other boxes to connect up functionality. The game worked and it wasn’t super great and was pretty annoying to play but it gave me an idea of what working with UE would be like. I also played around with the ARK dev kit for awhile before and made a couple mods and ran a server for awhile for friends. The ARK dev kit is a heavily modified version of UE streamlined for making ARK mods and is just as unstable and resource intensive, what a horrible experience that was. The game itself is quite fun as proven by the fact that I’ve spent hundreds of hours playing it with friends.

While UE is quite an impressive piece of software I feel that not only might it have a way to go before I can make a game like I want with blueprints, but I don’t know that making a complex game like that with blueprints would actually be a good idea at all. I especially don’t know that it would be all that enjoyable. I suspect it would get quite messy, complex and confusing and probably wouldn’t be very good performance-wise as it could be. I don’t mind coding and even a simple little game like the one I made in UE was getting pretty chaotic with all the blueprints everywhere even though I tried to organize them with comments and whatnot. It does have tools to try and help organize them. All of these points together make me think using blueprints in UE to make this game might be a bad idea. This is one reason also why I’ve delayed getting a visual scripting tool for Unity, like playMaker, because not only is playMaker not open source, but I don’t know that I would enjoy the mess it might make and the difficulties that might arise by using it. I may as well just take the time to code things and do things properly. I’m in no hurry.

After testing Unity and UE out fairly extensively I’ve concluded that the best option is to go with Unity. I’ve also planned my path to get to my final ultimate game. I’m going to make at least a couple smaller games increasing in complexity each time and then finally beginning to plan and create the masterpiece.

I’m still working on my first Unity game. I’ve broken it into 4 stages with a set of tasks for each one. As I get to the tasks I end up breaking those down into smaller tasks because I learn there are multiple steps to them as I try doing them. It’s a really simple game based on an a mode in an old game we played for countless hours as kids. It basically just involves knocking other players off a platform. Sounds pretty simple, right? Well as I am finding out, it’s not so simple to create.

The second game I am thinking of making is a time management game for my wife similar to those Cake Mania games where you can do multitasking and upgrade your restaurant and whatnot. I’m starting to think maybe I should have started with that first at this point because it might just be simpler since it doesn’t involve physics and bumping into other players and killing them and so forth. I guess it’s not too late to start on that one.

This will be all easier once I learn how to do everything which will come in time. But there will be a lot of experimenting and trial and error and learning but as long as I’m enjoying it I may as well take my time. So far I’m really enjoying learning to make games, I think it’s really fun! Far more fun than web development but that’s not so bad. It just isn’t a game usually. I know it will take time and effort to figure this stuff out but I’ll get there eventually and it will be worth it. It seems like the journey will be just as enjoyable as the end result so I am happy about that too.

I look forward to documenting my experiences here. I’m mostly doing this for me but I thought it might be useful for other people to see as well so I got a domain and stuck up a website so here you go, world =)

Some helpful links to get started:

Creating your first game Extra Credits.

http://unity3d.com/learn

http://unity3d.com/community

https://www.reddit.com/r/Unity3D/

Some things you should know about Steam