My Experience Making Games Until Now
Published 12 October 2018 in games
I wanted to dedicate this week's post to all the games I have 'completed' thus far in my life and what I learned from the awfulness of it all. I go through all the software I've used, what I learned, and how this has helped me decide the direction I want to take my first personal game I am currently working on and plan to present as a midterm project.
Tic Tac Toe in Visual Basic
The first complete computer game I ever made was Tic Tac Toe in Visual Basic.NET. I made it for my final project in my Visual Basic programming elective class in my junior year of high school. Visual Basic was the first programming language I ever learned, and I fell in love with what programming was in that class and haven't stopped dreaming of a career in tech since. I remember spending mornings and evenings working on this game tirelessly on the school computers. It's a super small game, and it isn't coded great, but I remember the work feeling like a lot and feeling super satisfied when it ran exactly how I wanted it to.
The final project requirements included adding features to the game, so I had the weird idea of making a 3x4 board and a timed mode for each board. The loop works like this: you type in the names of the two players, then select a board size and if it's timed or not. The way the game worked is that you had to choose who played first, and you had to click to end your turn, which is pretty bad design, but it's what I thought up on the fly at the time.
The Take Away
I should go back an experiment with Visual Basic again to see what else I can use the language for and what other games I could make with it because it's a really easy language. I recommend this as a first language to anyone new to programming and because it's super easy to use the built-in graphics called "forms".
Wheel of Fortune using Scratch
This was the second complete game I made. This was basically an adaptation of the Wheel of Fortune game using the Scratch tool by MIT for my Computer Science clas my senior year of high school. Although the tool is generally used by younger children as an introduction to programming, I still learned a great deal from using this tool even though I had initially learned about programming with Visual Basic code. Coding in this program is done through "logic blocks" that are fit together like a puzzle and altered. I ended up with multiple pages worth of these code blocks by the time I finished this project, and it played surprisingly well.
The Take Away
This project showed me I could work well with different kinds of tools and push them to their limits. I tried to use as much of the program's functionalities to make a game with a complex underlying code. I highly recommend challenging yourself or others, no matter their programming skill level, to remake a complex game using this simple tool. You will be pleasantly surprised with the outcome.
Haunted Mansion Text Adventure in Java
This wasn't the first game I made with Java, but it was definitely the better one I made and something that I had actually wanted to make for a while. The first complete Java game I made was my computer science final project my freshman year of college, and it was basically just Black Jack but without a GUI. You can check out that train wreck here, but be warned: the code is atrocious because it's an enormous loop around many smaller loops.
Anyway, the second complete Java game I did was a text adventure which takes place in a haunted mansion. It was the final group project for my junior object oriented programming class in college. The controls are simple as it's just entering commands from the list of available commands, as is typical in text adventures. I grasped Object classes much easier in this class, which made for a better game with much much better code. I had always wanted to make a game like this, so I can cross that off my bucket list.
The Take Away
I should really learn how to integrate a GUI in the Eclipse IDE for Java. Also, I could experiment making more text adventure games because they're fun to write. I also learned that drawing levels out on paper is super useful for game designing. It's especially useful when making games where you have to rely on your imagination and text to "see" the game.
Metalloid in Unity 2D
This was my partnered midterm project for my game design class in my junior year of college. It was the first time I ever made anything with Unity, and it was a lot of fun to learn how to use this software and how to make a 2D side-scroller. Unfortunately, it was also quite stressful to make this game because of the glitches in Unity's cloud collaboration feature. Also I found that I don't like the click-and-drag nature of this software because it makes everything feel super imprecise.
It would be cool if you gave this game a play, but I'm not lying in the Itch.io description that this is the worst thing I've ever made. In the game, you're a space soldier escaping your ship which has become infested with hell-spawn. Sound familiar? The game ends when you fly to Earth. I made the third level by myself, and it differs from the rest of the game because there you fly a ship and shoot asteroids.
The Take Away
I hate Unity for 2D games. And I hate working on the same project as someone else at the same time because source control is just really crap in teams. But I learned this earlier in the text adventure game that was repo'd on Github, which is why I came into this project with some dread from the beginning. From this experience, I realized I wanted to go back and learn to use GameMaker Studio for my midterm project in my leadership in digital contexts class. One plus was that I learned some C#, which was on my list of programming languages to learn.
Phony Reality in Unity 3D
This game was for my final project in my game design class my junior year of college. For the second half of the class, we learned to use Unity to make 3D games, and I thought that this was a little easier. The lag, the terrain builder, and the click-and-drag system is probably still the worst part of Unity, and I should learn to handle those better.
This game is a surreal walking simulator where you complete tasks for strangers in order to find your phone. I tried to make it kind of 2deep4you because of the limited time we had, and I think it came out alright, but there's a lot of ways it could be improved. My boyfriend came up with the extremely clever title, which actually changes the game from being a world of random into something that actually makes sense. This game doesn't give me as many hives as the midterm project, but it's laggier than I thought it would be, and it's just as unpolished as the midterm project.
Also, not to spoil anything, but the themes in this game are something I want to incorporate in my current game as well.
The Take Away
I'm never using Unity again! Just kidding. But I did learn that I should make my own assets in my games even if it's very time-consuming. Compatibility issues between assets created by different people from the Unity Store can produce a lot of lag and bloat in your game. Using free assets speeds up development time by a lot but should really only be used for drafts and rough drafts of games, never a final product.
It's also a lot of fun to build worlds you can get lost in and to design funny NPCs. I can use the skills I learned here to make an even better game in Unity 3D in the future if I choose to go back to it. Unreal Engine does look tempting to try, though.
Looking back, I've realized I've made several games with several different tools, so I know more than I thought I did about game creation. I've learned what I can do and what I shouldn't do to make better games. I'm also looking forward to revisiting all these programs in the future but will definitely use what experience I've gained to make the first of my own personal games outside of class, which I am working on in GameMaker Studio 1. It currently doesn't have a name, but I am posting about it on my Twitter and will soon have a project up for it on Itch.io. You can find the links to these all over this blog!
I highly recommend trying out all these programs on your own if you're interested in digital game creation. There's plenty of tutorials online to learn programming languages on your own, so don't let that discourage you. Some programs even let you make game with very little programming knowledge! All these programs except for GameMaker Studio are free, but you can also catch GameMaker Studio 1 for cheap on a Humble Bundle, which is how I got my copy.
- Tic Tac Toe in Visual Basic
- Wheel of Fortune using Scratch
- Black Jack in Java
- Haunted Mansion Text Adventure in Java
- Metalloid in Unity 2D
- Phony Reality in Unity 3D
Software and Languages:
- VisualBasic.NET with Microsoft Visual Studio
- Scratch by MIT
- Java in Eclipse IDE
- Unreal Engine
- GameMaker Studio
Where to Look out for Discount Game Development Tools:
- 12 March 2019: Added information about my Wheel of Fortune Scratch game