Advertisement

First steps for learning game development at home?

Started by March 18, 2019 11:16 PM
11 comments, last by miniaturedog 5 years, 8 months ago

Hello all, I am a current high school senior with no prior experience with game development or programming in general. I'm applying to several different colleges for a bachelor's degree in a computer science field, but I'd like to learn some preliminary knowledge in the months before I begin post-secondary education. However, as a member of an extremely low-income family, I won't have access to a computer until I start college and can only use my phone for now. Is there a way I could still learn effectively through this method? If so, where should I start?

Quote

First steps for learning game development at home?

Well, given your situation, I suggest you start by developing your game on PAPER! 

Use a notebook to plan out what your game should feel and play like. Make it so that the game comes into existence in your head first. Once that's done, you can find the tools and the knowledge to make it a reality! 

Advertisement

If you want to start from scratch I recommend you this book: C# Game Programming: For Serious Game Creation. Source Code: 9781435455566.zip (121 MB)

But this book uses OpenGL with fixed pipeline and Tao Framework. I translate the examples to programmable pipeline. I use OpenTK for binding with OpenGL 3.x.

You can take my example and run it in Visual Studio: ColoredAndTexturedObjects_OpenTKOpenGL31CSharp.zip

I translated this example to C# from this book: Build your own 2D Game Engine

ColoredAndTexturedObjects.png.93aac202524816eb9e549304ee8a463c.png

 

Using paper is a good advice. When I was young, I was often writing down small algorithms down on paper.

Don't know if you can get it, but you need a tutorial of a programming language. I would recommend the Python programming language, but C#, Java, or C (latter is somewhat lower level) is also good.

You'll read about assignments, variables, and for/while loops. These are used to tell what a computer must do, so as a programmer you write them every day. Understanding how these work, and how you can for example sum all numbers from 1 to 10 is useful knowledge. Such programs are only a few lines, so it's feasible to write them down on paper.

This knowledge is almost universal, so it will be useful no matter what language you'll learn in college.

44 minutes ago, Alberth said:

and how you can for example sum all numbers from 1 to 10 is useful knowledge.

You can get such simple and a little more complex tasks on this website: https://codewars.com

On 3/24/2019 at 11:57 AM, 8Observer8 said:

I recommend you this book: C# Game Programming: For Serious Game Creation.

What is wrong with my message? I just recommended to buy and read a good book. Why did somebody dislike my message? I think my message is very useful. I spend my time to make my message. We should respect the work of others.

Advertisement

What profession do you like to take in game development? As a game designer or artists, you have to drive a quite different route than doing this as a programmer.

The paper adivce is good for game design, I'm hobby board game author in my spare time when I'm not just working on some game related coding. This way you could play the games without the need of code or graphical assets and tweak on your mechanics.

As a programmer you should learn the basic principles of a programming language. Python is ok but I won't recommend to learn Python first. An advanced programming language such as C++ or C# gives access to Unity and Unreal Engine, the today most used creation software in game development.

You could take one of these Engines (I suggest Unity as a beginner) to learn making games in home study along with tutorials on the net. Toying arround with some tutorials and Unity you learn the background behind the software and so the background behind game development. The Math, the rendering and could easily test small features

You could try an online compiler, here the first one i've found: https://www.onlinegdb.com/online_c_compiler

If it works on a mobile, it should be enough to learn a language and write a simple text game like 'guess a number between 1 and 10'.

19 hours ago, 8Observer8 said:

You can get such simple and a little more complex tasks on this website: https://codewars.com

 This is also similar, but it seems to assume some basic knowledge already. So an online programming course including online compiler to enter and execute code would be better. Maybe this one: https://www.codecademy.com/learn/learn-c-plus-plus (not sure if it allows to code).

6 hours ago, 8Observer8 said:

What is wrong with my message?

Maybe it's because most suggestions can't be done using a mobile. Does not justify downvotes ofc.

On 3/18/2019 at 7:16 PM, miniaturedog said:

Hello all, I am a current high school senior with no prior experience with game development or programming in general. I'm applying to several different colleges for a bachelor's degree in a computer science field, but I'd like to learn some preliminary knowledge in the months before I begin post-secondary education. However, as a member of an extremely low-income family, I won't have access to a computer until I start college and can only use my phone for now. Is there a way I could still learn effectively through this method? If so, where should I start?

Android or iPhone? If Android, you can use AIDE to code on your phone. It has built in tutorials to make games with GDX to get you started. When you progress, you can also use C++ in it via NDK/JNI and then your code becomes portable. This is what I do currently. I use C++ and switch between coding on my Android tablet and desktop/laptop, moving code around as necessary. If you're on iOS, you have fewer options, but there should be some. I used to use an app called "C Compiler" on iPad. It had decent C support and it had OpenGL hookups for graphics. Sadly, Apple is phasing out OpenGL, so that's no longer a sustainable option. But either way, look for apps with "compiler" and "IDE" in the title / description. Find out which ones have ways to display graphics with your code and you're good to go.

29 minutes ago, JoeJ said:

Maybe it's because most suggestions can't be done using a mobile. Does not justify downvotes ofc.

He can read that book from mobile. And he can open source code files of my example in OpenTK and modern OpenGL 3. I think if you want to be programmer it is good to start from scratch. And it is better to start with C# and modern OpenGL. C# skills will help him in Unity, Godot and so on. GLSL skills will help him when he will write shaders for game engines.

This topic is closed to new replies.

Advertisement