0 reviews
  • Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Slowing down progress for Unearthed, so I can try some side projects in Unity Engine

Welp, it finally happened. It took 4 months and 3 weeks into this project, but now I am bored out of my mind and need to try something new. There was even a thread here on RMN about side projects, and I think a lot of the points listed in there are legit. I think reading into it a bit more has sparked my interest in side projects.

Lets talk a little bit of what is happening here in UnEarthed land. I just finished coding all the skills for the warrior class. Well, maybe more like 95% (need screen-shakes, sound effects, some definition values updated, other small stuff). This was a struggle, as I don't play melee characters and I had to do some research because I wanted to get this right. Anyhow, now that "Warrior" is pretty much done, the other melee class, "Knight" comes into play, and I feel like I am out of ideas again. At the same time... it doesn't feel like I am learning anything new. It's just same old same old. Of course, I don't want to add any delay to my game, I've pretty much hit every deadline I've set for it. But the engine/systems coding was what was the most interesting part to be honest. Once that is done, it is basically just adding stuff in, and this is where it gets repetitive and boring... Don't get me wrong, I don't hate it, I just want to learn something new as the coding for skills for each character is extremely repetitive. After this it's making maps, quests, etc. Probably be even more boring.

That's pretty much it for the progress report at the moment. Guess I can share a little story about my game development experience so far.

Gamemaker Studio 2 is the engine I am using for UnEarthed. Back in 2017, I bought my first game engine because I wanted to make an action rpg game. I had no idea how to code and no programming knowledge... so yeah you guessed it. RPGMaker time! RPG Maker VX to be exact. I lasted a total of (according to steam) 82 minutes with VX. Couldn't understand what the hell I was doing. I switched to Gamemaker 1.4 and tried the drag and drop tutorial that was included. Made a simple shooting game, took like 30 minutes! Yep, RPG Maker was too complex for me! But no really, it was more about the limitations. I wanted an action RPG and after several hours of youtube to see if I can find a game made from RPG Maker that would look like what I wanted to make, I did not see anything even close. Too many usage of plugins etc that may not even work/be compatible with other plugins... Anyway, I didn't last long with GameMaker 1.4 either. Probably a few hours messing around? Made the tutorial game and a simple platform game with blocks jumping around and that was it. Then GMS2 came out in May 2017, I bought it up and tried it, using only code and no drag and drop.

Made yet another platform game using it! Platform games with GameMaker seem to be very popular with beginners because they are easy to make. Total development time with this was about 3.5 months. From May to Sept 2017, minus a short vacation.

This game was the biggest mess in the history of messes. The code was almost unreadable, and was literally all over the place. It was impossible to maintain. What happened was I simply watched a ton of tutorials, and mashed them all together here. Naming convention, basically none. Organization? Nope. I got as far as making an inventory/shop system though, and that was when I stopped. I think I blew about $300 buying up pre-made assets too because I was over excited once it started to actually LOOK like a game (using some of those in UnEarthed, so not 100% waste). I actually liked making the game. But even I wasn't stupid enough to continue with this mess using my limited knowledge. I knew I needed to learn more first and then come back to it when I was ready. So, I quit making games all together to learn more traditional programming.

Fast forward about a year and a half later, I became a .NET software engineer. Yep, pretty much self taught myself programming and made it my career because I found out that I liked coding, and it all started with coding basic stuff using GameMaker. I felt like I was ready now, with a lot more knowledge on things like design patterns, coding standards, etc, I re-installed GMS2 in May 2019 and started on my current project, UnEarthed, which was actually supposed to be a short simple game but somehow grew to where it is today. In 2.5 months, I coded the ARPG engine that I am using. The damn thing was 50k+ lines of code! At the moment, I am at 53k lines of code, and this was after adding skills for 3 character classes. Once engine work is done, it's just adding new content.

Another thing with GMS2, it uses a language called GML. It is extremely easy to learn and use. I would say, with no coding experience, you can probably learn the basics of the engine in 1-2 weeks, and in about a month, you would probably know the basics of the code syntax too. You think the code for UnEarthed looks complex? Surprise! It's not. For the code itself, there is like 5-6 basic things you gotta understand: If/Else statements, arrays, enums, loops, switch/case statements, and writing functions/methods called "scripts". For the engine, you'll need to know about the resources, rooms, object events, and inheritance. You can learn this stuff within 2 weeks. Most of the code for my game is very very basic. There are a few things I used tutorials for (carousel selection for the blessings, basic movement, a few other things) but 95% of it is me designing the systems myself, using If/Else statements, loops, and arrays.

SO, does that mean it was actually easy to make this game? Yes and no. While the syntax and engine is easy to learn and use, the hard part is actually handling the complexity of the game. With my first game, I did not know how to handle the complexity of an RPG game at the time. I'll give you an example: With the first game, I coded a skill, mapped it to a button, and activated the skill, which shot out a moving orb that did damage when it hit an enemy. I thought I was pro after I did that. Seems simple right? But, what about the need for a skill system, with skills that can evolve as you put more skill points into it, that you can map to a skill bar, that will consume resources and go on cool down once you use it, that you would also need to code a UI for, plus the skill behavior itself? See what I mean? Now you'll need to hook up multiple systems and suddenly it becomes a lot more difficult, not to code, but to organize everything in a way that makes it maintainable. Just think of it like, many many small systems hooked up together to make one bigger system. This is where documentation + design skills come in handy. You'll need to list down all the dependencies when designing the systems. I usually whiteboard everything, put my technical notes into OneNote, and then use a a workflow management board called Trello to keep track of progress. Having knowledge of best practices (like naming conventions) helps a ton too.

You get BETTER with something as you do it more more often. I kinda regret not sticking with GameMaker as a side hobby when I was studying programming, as I might have become pro by now! I also regret not trying to learn more about pixel art, which I am ALSO going to try doing a side project to learn more about it. It leads me to the point of this whole story: I want to start learning how to code games in Unity too, and I need to start somewhere, even as a noob (although I'll have the advantage of knowing C# since I use it everyday at work). I feel like now is a good chance to start some projects in Unity to learn it, as my interest in coding project UnEarthed has died down a little. Does it mean I am abandoning the project? Not at all, it's just progress on it won't be insane like before. Also, I know some people on RMN might be interested in trying out different engines, so you'll be in the same spot as me. Yes, it will be difficult at first, learning something new for the first time is always difficult at first and that is normal. But soon enough, you'll get used to it to the point where it becomes easy and you don't even realize it. Who knows what it will lead to.

Anyway, enough for tonight. Have a nice day.