Advertisement

Just getting started

Started by August 14, 2017 05:54 PM
8 comments, last by Lucas_Cage 7 years, 3 months ago

Hello everyone, I've just recently began to seriously dive into the world of game development. I peeked over this site a bit and I think this is the right forum for this. If it's not, please excuse me.

Anyways, I just recently got my hands on a 1$ humble bundle that came with four books on Unreal 4 and Unity 5 game development. After getting everything I needed to start with those books I was amazed to find that they want me to do things that I have no idea what they're saying nor do they attempt to explain, even with pictures. I had thought they were going to be absolute beginner books but obviously they are a bit more advanced than that. I also have Visual Studio installed as well, which it seems the books I bought wanted me to do the coding in that, at least as far as the Unreal Engine book is concerned.

So, with all that said, the reason I am here is to find help from the experts, you guys! I'm needing resources to help me learn, and what better place to do so than here. I need help locating free or very cheap resources that would teach me how to use these engines. These could range from books to videos to even online classes. I'm also not dumb enough to think that only resources related to video games are ones I should be looking at either. Like I said I have an extremely limited amount of experience with coding , so little that you might as well think of me as a blank slate. So any resources of any type should be helpful. However, at this moment, I'm primarily interested in the coding part of game development. I don't know if I'll dive into doing the art myself, but it never hurts to have some idea of what goes on over there. If you want to drop info on such things I'll gladly take it, though I'll probably only look at it in great detail at a latter date.

Just a reminder, I need free or very cheap, like 5$ or under resources.

Well, thank you for taking the time to look this over and any help I can receive would be greatly appreciated!

 

 

3 hours ago, razorlips00 said:

they want me to do things that I have no idea what they're saying nor do they attempt to explain

Unfortunately, making games isn't a "just dive right in, anyone can do it" kind of thing.  I know there are some apps that boil game dev down to a simpler form (I think GameMaker does this, but I don't really remember how that works, haven't look at it in years)- but realistically, there's a lot of learning to do.

If your goal is to tackle the programming side of things, a game engine is not really the right starting point.  Instead, you're likely better off looking for programming tutorials/books/courses.  I'm sure if you googled something like "c++ programming tutorial" you'd find something that will get you started.

Once you've learned how to program, at least the basics, THEN you move on to more game-specific tools.

You can make games in Unreal using blueprints without writing any real code, but you'll still want/need a sort of functional knowledge of how software works to really be able to put the pieces together in a meaningful way.  I don't think Unity has any mechanism for making games without writing any code- you'd want to learn C# to do that.

Advertisement
17 minutes ago, trjh2k2 said:

Unfortunately, making games isn't a "just dive right in, anyone can do it" kind of thing.

Yeah, I already understand that now. I just thought that these books I got were for like the lowest level of beginners.

Anyways, I am definitely looking around on the net for programming tutorials and such, just wanted to see if anyone already knew of anything helpful that meets my criteria that I wouldn't necessarily find easily or something.

https://www.udemy.com/unrealcourse/learn/v4/overview  <<--- this  start really basic and has a ton of videos, no way you get lost, maybe is the thing for you? Just a thought

6 hours ago, MarcusAseth said:

https://www.udemy.com/unrealcourse/learn/v4/overview  <<--- this  start really basic and has a ton of videos, no way you get lost, maybe is the thing for you? Just a thought

That course is absolutely fantastic.  Best $10 I ever spent on education.  I'm a writer with a little bit of modeling experience in 3ds Max, knew nothing about programming, and now I'm working on my own projects in Unreal.  

There's also this class which is aimed at complete beginners and is totally free:  https://www.udemy.com/free-learn-c-tutorial-beginners/

 

On 8/14/2017 at 11:54 AM, razorlips00 said:

Hello everyone, I've just recently began to seriously dive into the world of game development. I peeked over this site a bit and I think this is the right forum for this. If it's not, please excuse me.

Anyways, I just recently got my hands on a 1$ humble bundle that came with four books on Unreal 4 and Unity 5 game development. After getting everything I needed to start with those books I was amazed to find that they want me to do things that I have no idea what they're saying nor do they attempt to explain, even with pictures. I had thought they were going to be absolute beginner books but obviously they are a bit more advanced than that. I also have Visual Studio installed as well, which it seems the books I bought wanted me to do the coding in that, at least as far as the Unreal Engine book is concerned.

So, with all that said, the reason I am here is to find help from the experts, you guys! I'm needing resources to help me learn, and what better place to do so than here. I need help locating free or very cheap resources that would teach me how to use these engines. These could range from books to videos to even online classes. I'm also not dumb enough to think that only resources related to video games are ones I should be looking at either. Like I said I have an extremely limited amount of experience with coding , so little that you might as well think of me as a blank slate. So any resources of any type should be helpful. However, at this moment, I'm primarily interested in the coding part of game development. I don't know if I'll dive into doing the art myself, but it never hurts to have some idea of what goes on over there. If you want to drop info on such things I'll gladly take it, though I'll probably only look at it in great detail at a latter date.

Just a reminder, I need free or very cheap, like 5$ or under resources.

Well, thank you for taking the time to look this over and any help I can receive would be greatly appreciated!

 

 

The best advice I can give to anyone looking to start as a game programmer is to learn general programming first. Your ability to understand the language and problem solve will make your life much easier once you dive into game programming. I usually reference the below for people wanting to get started with C++ as an example.

C++ Primer is a great book to get started. (Avoid C++ Primer Plus - it's not from the same series)

You will pretty much need the following to get started:

(Took this list online from SFML - It's a good reference)

  • Compiling, building
  • Basic program structure (main(), header includes ...)
  • Basic data types
  • Composite data types
  • Control structures (if, for, while ...)
  • Basic functions, function signatures
  • Function parameter passing
  • Classes and general OOP
  • STL - Standard Template Library
  • Dynamic memory allocation, pointers
  • Type casting
  • Advanced OOP, inheritance, polymorphism
  • Advanced program structure, header files, linking
  • Debugging techniques This is important to be able to help yourself when the situation arises.
  • Templates
  • Operator overloading
  • Namespaces
  • Move semantics and other C++11 features
  • Metaprogramming

Then you would want to move into learning UE4 specifically. I strongly do not recommend moving into game programming until you have a good grasp of the above in C++.

I cannot comment on Unity because I have never used it, and the last time I touched C# was with XNA, but the same applies, learn the language first.

Once you start game programming you will be spending a lot of time learning the tricks of the trade, and your ability to code will play a large role in grasping the concepts. It's extremely important to understand why something works in code, this will make you a better programmer overall as opposed to the copy and paste route from books.

Programmer and 3D Artist

Advertisement

This is going to sound a bit strange, but I recommend holding back on C++( just for the time being ) and learn C instead.  C is perhaps the most fundamental language there is. Here is how I would crack it...

1) As you learn to write C code, also learn to write "Make files", and for the small programs you write use a garden-variety text editor and build using command line.  The big "gotcha" with learning C or C++ is that most books do not cover how to compile or link object files nor how to instruct the compiler where to find libraries or headers.  They just assume that you are using an IDE to build single-source file programs by clicking that lovely green arrow, and then when it comes time to learn SDL, DirectX, OpenGL or whatever, you are completely in the dark as to why you have all these linker errors showing up....

2) Program or read your programming-related books daily. Don't worry how much time you put in so long as the ball is always rolling...

3) Consider learning SDL.  So long as you look after your C skills and can produce make files, you should be able to make pong with a bit of effort.  I recommend Jazon Yamato's book on multiplatform development...

4) If you can make Pong with SDL at this point you are definitely ready to begin learning C++ and confidently moving towards that goal you wish to achieve.

*** I usually recommend writing a small text-based game before attempting any graphical stuff.   If you can select menu choices and save'n'load game data then you're pretty much ready to move on.

 

Sorry for this long winded reply, but I think this would be the ideal "road-map" for you.  C++ is great and a professional's language, but it can be unforgiving for the complete beginner.   Yet C is simplier and provides a fantastic stepping stone for learning C++ - or any other language out there.

 

Best of luck and god speed! ^_^

Languages; C, Java. Platforms: Android, Oculus Go, ZX Spectrum, Megadrive.

Website: Mega-Gen Garage

On 8/14/2017 at 7:54 PM, razorlips00 said:

Hello everyone, I've just recently began to seriously dive into the world of game development. I peeked over this site a bit and I think this is the right forum for this.

Hi, and welcome. Yes you are in the right place.

 

On 8/14/2017 at 7:54 PM, razorlips00 said:

Anyways, I just recently got my hands on a 1$ humble bundle that came with four books on Unreal 4 and Unity 5 game development. After getting everything I needed to start with those books I was amazed to find that they want me to do things that I have no idea what they're saying nor do they attempt to explain, even with pictures.

Game development is complicated, it uses a lot of knowledge from lots of other disciplines, ie there is load of things to explore!

Both game engines are very good (or so I read here, no personal experience), but they start at a much higher level than "write some code to draw something". For example, they start in a 3D world and extend from a basic setup. That means you should somewhat understand 3D, programming, and the common patterns of a game program.

 

On 8/14/2017 at 7:54 PM, razorlips00 said:

However, at this moment, I'm primarily interested in the coding part of game development.

This sounds like a good plan.

 

I would suggest you make another step, and just start with general programming at first. Learn about variables, statements like assignments and while or for loops, functions, classes, algorithms, and standard containers like list and map first. That way, you can understand what happens when they show you some code of a game.

Similarly, I would recommend that you first write games that interact with you from the console, using text. Then switch to graphics in 2D, and finally to 3D. This makes that the interaction with the user is gradually growing in complexity, so you can concentrate more on programming.

The first problem is then picking a programming language. In general, we recommend that you use whatever you already know, but since that doesn't really apply here, I'll give you list, with a bit of reasoning why that would lead you.

 

Starting with the simpler, more high level languages:

- Python. Very beginner-friendly, very hands-on, highly recommended.

- C#. Defacto-standard Windows programming language, although it also runs at other platforms. No personal experience, but people here see it as an easy language too. Leads eventually to Unity.

- Java. The older cousin of C#, a little simpler.

 

When you want more control over what the computer is doing exactly, pick a bare-metal language. Generally, these languages assume you know what you're doing, and are not recommended to some one completely new to programming.

- C++. Defacto-standard in this area, highly advanced, lots of features, leads to Unreal.

- C. Much much  older sister, used as low-level embedded systems programming language mostly, ie control electric input/output. Much much much simpler than C++ (ie a do-everything-from-the-ground-up language).

 

The list is much less a choice for direction than you may think. Programming languages borrow concepts from each other, so what you find in one language, usually also exists in other languages, in a slightly different form. That means knowledge from one language transfers easily to another language.

Especially if you stay within a single group (eg switch between different high level languages), you'llbe up to speed again in a very short time.

 

Finally, a link with some more details on what to do in game development

 

EDIT: Once youpicked a language, start with tutorials for that language, then write some games like mentioned in the article I linked to. That should get you going.

 

Have fun!

Welcome to the community.  I am also new to game development.  I am investing my spare time between work and school on learning this new set of skills.  I know you have had good suggestions from some others here, but I would like to offer my two cents. 

I know you are interested in the programming side of game development, but I wouldn't feel pigeon-holed into the C/C++ pathway.  I have taken two semesters of C++ at the collegiate level, I work with C on a daily basis and I have also had a course in Python. 

I can only give you this insight, that many major colleges and universities are no longer using C++ and Java for introductory programming courses.  Python is becoming very popular for teaching programming basics particularly in classes for non-CS majors.  This to me is a testament to Python's accessibility.  It is easy for beginners to get started.  The faster you can go from typing your first line of code to creating a program that does something...anything to creating a non-trivial application to creating a program that you desire to create, the better you experience as a self taught programmer will be.  Python is not a toy language or a hobbyist language as some people claimed years ago.  

What Python is a fun to learn, easy to use language that will provide you with an easier road than C/C++.  When you learn your first computer language you are really learning concepts of computer science.  A majority of the concepts will transfer to other languages, though the details of implementation and the syntax will change.  As a self taught programmer it may be to your benefit to learn a modern language like Python, for simplicities sake.  Languages like C/C++ not only have a learning curve when it comes to CS concepts like other languages do, you will add to that some esoteric implementation details that will unnecessarily complicate the process.  In some instances C++ will get in your way when attempting to learn the concepts of programming. 

I want to stress that C++ is not a bad language.  IMO the opposite is true. The esoteric implementation details of the language are a product of a design that allows a programmer to program in an object oriented style without being bound to any particular paradigm, while maintaining low-level control similar to what a programmer would have in C.  The language has thrived for 3 decades due to modernization or suffers from 3 decades of modernization depending on your view.  

The Quarry Works Creed

We who shape mere stone must always envision cathedrals

This topic is closed to new replies.

Advertisement