Tag Archive | c#

How I Started Making Games

Noob

In the year of 2015, I had started to try to learn programming to make games. I had absolutely no clue how to even get started, I didn’t know jack…. I thought programming was for the smart people (I was wrong of course and I didn’t have the right mindset). But my brother who had started programming in 2012 knew something about programming. He directed me where to start. Basically, I started with a C# language book and I was reading alot of information, thinking I was gaining programming skills.

COMPLETE FAIL I must say, I started learning after doing some real programming and then reading a book for more depth and concretion to solidify what I had done.

I couldn’t retain the information and I couldn’t connect the dots to why I was learning these concepts (variables, objects, arrays). I closed the book. My brother tried explaining the concepts to me and I couldn’t understand what he was saying, it was foreign to me, I was like WTF. I gave up for a year, and now it was 2016. I hear about this website called “Udemy”, and I take a course on Java language instead of C# language because the book didn’t make sense to me (There’s many programming languages, you don’t need to learn them all, mastering one is a good idea, and creating projects with that language is where the real action happens). The course actually started to help me out a little bit. Things started to not look so blurry anymore, I was starting to understand. But I was still writing “Hello Worlds” and small text-based programs (small calculators, small bank program, small shop, and a whole lot of text programs without any pictures).

Basically it was looking like something like this.

“How much cash would you like to deposit?”

(Me typing amount): 500 Gold;

Account Balance = 500 Gold.

Would you like to deposit Gold? Press 2 to go back to menu.

So I was like so…. how am I going to make a game from this? (I now know if you learn the Java programming language, you can make android games in Android Studio Software, not IntelliJ Software I was using). I heard about Unity (a program that makes 2D and 3D Games). But I had trouble with this, So I didn’t do Unity at that time. Then I heard about GameMaker Studios, and that there was when I really started to make 2D games. It was very easy, and there was also this drag and drop feature to make a game (But I coded it instead, in Game Maker Language). Following tutorials after tutorial made me start to connect the dots and get a game going. Programming in general, whether using Java, C#,  or C++ languages, started to make sense. Basically learning the fundamentals of coding in general regardless of which language you choose matters the most (variables, arrays, methods, classes). But I still have loads and loads more to learn, programming is very much an endless learning journey, but you don’t need to know everything, just what you need, at least learn the fundamentals and then you choose what libraries, framework, or language you want to use.

How Being a Programmer Affects Me as a Gamer

codingredstone

I know how to program to a point where I can read most lines of code in Java and C# languages. I know what variables are and methods are and how to write a full method. I know how to end a line of code, with a semicolon. I know how to create objects with variables and inheritance and use methods or polymorphism to achieve functionality. I made players and enemies that could shoot bullets, walk, and have health to get destroyed. How does it affect me as a gamer? Well…. when I game now I can think of how the mechanics of a game works. This makes gaming feel less real to me and my expectations of how much limitations and possibilities of what a developer can do comes into perspective. There is only so much you can do with the hardware. Virtual Reality adds another dimension to programming in which I will talk about later.

I now see characters in a game as parts. An image or sprite if it’s a 2D game or a model for a 3D game. Animation to make parts of the character move. Then add code to make it have physics and laws of what it can and cannot do, give it commands. And sounds and maybe a voiceover to make the character or enemy or OBJECT feel more real. Before I knew how to code somewhat, I took games way more serious and felt more immersed. It’s like watching behind the scenes of a movie. Why would you do that before you watch the movie?

2d-mario

 

 

Lastly it gives me a new sight to see if a game is crap or not. There is too many money driven developers releasing half-baked cookie cutter titles that become shovel ware. Kids fall for this all the time because they cannot see the games for what they truly are. By looking at how an enemy gets destroyed, and how the whole world itself is coded, and how the animation holds up I get a perspective of the hard work the developers do. If the animation is floppy on release I start to see through the gaps. I know what bad coding and bad animation looks like now. Games that are good can take thousands of lines of code, maybe millions which will take a lot of time. Anyways this is how programming has changed my perspective on games.