Author Topic: Noob Question, Guide me in diving into gamedevelopment.  (Read 1298 times)

0 Members and 1 Guest are viewing this topic.

Offline PsychoRebellious

  • Peasant
  • *
  • Posts: 130
  • Cookies: -6
    • View Profile
    • My Rantings
Noob Question, Guide me in diving into gamedevelopment.
« on: June 01, 2014, 07:57:00 am »
I seriously need help. The dilemma is killing me. It is my biggest dream to be a game developer and develop my own games, which is what brought me to computer programming in the first place. I am learning and trying to improve my c++ skills( Algorithms) now. But the dilemma that where to go from there is killing me. I can't go directly to directX or something as low level as that, I am not good enough I admit. The language I'll be using will be C++. I've been told to switch to JAVA or python( for pygame library) or something like XNA with C# or Visual Basic. I, for one, haven't come this far to switch ways or give up. I know that things 'might be' easier with some other language like Python or C# but I don't want* whatever I've been learning by now go to waste and vain.
I am in the dilemma that which library to choose from. I've been told about SDL and Allegro. I've tried allegro I liked it but I couldn't find any good reference on it which sucks. The only Allegro references that are there have code examples in them that don't even work anymore in Allegro 5.x.x.
I seriously need your guidance and help. When  You know you have a dream and you are nowhere near it then believe me life seems useless and worthless! I haven't even covered 10% of the Journey yet. Guide me and save me from all this mental torture?! Yes, I accept Evilzone as my lord and savior.
« Last Edit: June 01, 2014, 07:58:29 am by PsychoRebellious »

Offline Kulverstukas

  • Administrator
  • Zeus
  • *
  • Posts: 6627
  • Cookies: 542
  • Fascist dictator
    • View Profile
    • My blog
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #1 on: June 01, 2014, 09:22:23 am »
Yes, I accept Evilzone as my lord and savior.
Help shalt be provided onto thyself.

Have you tried looking into Unity? It's still C++ and makes game dev much easier than writing everything yourself. And there are millions of articles, videos, tutorials, books on how to begin.
Btw Python or other language doesn't go to waste when you learn it, specially in game development, not python. I am sure you will need to write quick scripts to parse this and automate that and whatnot.

Offline PsychoRebellious

  • Peasant
  • *
  • Posts: 130
  • Cookies: -6
    • View Profile
    • My Rantings
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #2 on: June 01, 2014, 09:36:14 am »
Help shalt be provided onto thyself.

Have you tried looking into Unity? It's still C++ and makes game dev much easier than writing everything yourself.
Unity 3d? Isn't that more like some 3d manipulating and rendering program? I am looking for libraries that allow me to learn the concepts of how games work like collision detection and a lot more. Even developing a 2d sliding background game would be a great honor for me. Something like supermario. Once I am good with that all then I can start worrying about 3d but let's better stick to simplicity from now on? I am unsure if I should go with allegro because most of the tutorials on it are outdated.
Quote
And there are millions of articles, videos, tutorials, books on how to begin.
I am stuck with the dilemma that which one to pick. Can you link me to some?

Quote
Btw Python or other language doesn't go to waste when you learn it, specially in game development, not python. I am sure you will need to write quick scripts to parse this and automate that and whatnot.
True that, but I should be concerned with getting better with C++ for now on and get good in what I have started already. Python is definitely in my 'to-learn' list :) Thanks.



Edit: One more thing I am on this stupid laptop device e6410 i5 gen-I and I seriously doubt if this can run something like 'Unity' that requires a good 3d Card. But oh well, this is machine is the only I can afford for the time being.
« Last Edit: June 01, 2014, 09:38:56 am by PsychoRebellious »

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #3 on: June 01, 2014, 10:00:04 am »
Afaik, Unity does not use C++, it uses Javascript and C#.

And Unity does indeed teach you about the theory behind. It's all up to you. I have a friend who's about to start teaching Unity to students and he writes all the code himself. In fact, I don't really see any other way?
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline PsychoRebellious

  • Peasant
  • *
  • Posts: 130
  • Cookies: -6
    • View Profile
    • My Rantings
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #4 on: June 01, 2014, 10:13:35 am »
@Phage: My computer can't run Unity. I have to have an alternate way. It's just an Intel HD graphics chip with 1696 MB usable memory. I don't expect it to run Unity. Any other library like allegro which has 'updated' tutorials and references for it on the web?
***
And let's suppose C++ was a bad decision. I should've gone for JAVA or something like Python. If I switch to Java or something else now then I'll have to take it from the scratch again and by God I am a very impatient person and neither do I want all these hours that i dedicated to c++ go to waste!
I seriously need an honest and sincere advise! It's like dying every day!
« Last Edit: June 01, 2014, 10:19:12 am by PsychoRebellious »

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #5 on: June 01, 2014, 10:21:37 am »
Get a better computer, how will you be able to test the games you make if your own computer can't run them? Learning a new programming language is never waste of time, especially not C++. But instead of Java I would pick C# for game development, it seems to be a bit more popular.
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline PsychoRebellious

  • Peasant
  • *
  • Posts: 130
  • Cookies: -6
    • View Profile
    • My Rantings
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #6 on: June 01, 2014, 10:27:47 am »
I can't afford a new computer or a better computer. I am going broke. Anyway, should I switch to just C#? will there be updated and working references and tutorials for it on the web that are not deprecated?

Offline uNk

  • Knight
  • **
  • Posts: 197
  • Cookies: 9
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #7 on: June 01, 2014, 02:34:59 pm »
Btw Python or other language doesn't go to waste when you learn it, specially in game development, not python. I am sure you will need to write quick scripts to parse this and automate that and whatnot.

Trust him on this, Kulver is a messenger of the Python god.

Offline Zesh

  • Royal Highness
  • ****
  • Posts: 699
  • Cookies: 42
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #8 on: June 01, 2014, 05:43:18 pm »
Just stick to C++. Jumping from one language to another language isn't going to help you. Once you have a good understanding of C++, learn to use the Win32 API. That is assuming that you're on a Windows machine. If you are then once you have an understanding of the Win32 API, you can look into BitBlt/GDI/GDI+ for making games and then you could jump to DirectX/SDL.

Just start small and build up. Good luck :)

Offline Matriplex

  • Knight
  • **
  • Posts: 323
  • Cookies: 66
  • Java
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #9 on: June 01, 2014, 09:06:05 pm »
Whatever you do, don't use an engine like Unity or something similar first. This will make you fall into the endless group of kids that think they can "develop" games because they can drag and drop things.

You need to learn low level DirectX or OpenGL. I personally would suggest OpenGL, but that's because it's what I know best. You said you're not good enough to learn them, but that's bullshit. All you need is a bit of patience and willingness to spend lots of time reading and learning. Then once you learn all of this stuff (and maybe made a few small games) try and either make your own small engine for learning purposes, or start using an engine like Unity (which I still don't recommend).

I program my games in Java, although many say it's slower, but it's a fine language. However you've already learned C++, and that's what many people suggest for game dev so I'd stick with that. Keep in mind that these languages are just gateways to the actual graphics libraries (once again I'm referring to OpenGL and DirectX), and when it gets down to it, you're programming with those.

Don't think that this will go by fast either. It can take years to master low level concepts and OpenGL/DirectX programming. If you have any other questions feel free to ask me via PM or this thread I suppose :)
« Last Edit: June 01, 2014, 09:09:23 pm by Matriplex »
\x64\x6F\x75\x65\x76\x65\x6E\x00

Offline IamMe

  • Serf
  • *
  • Posts: 44
  • Cookies: 5
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #10 on: June 02, 2014, 01:18:56 pm »
I seriously need help. The dilemma is killing me. It is my biggest dream to be a game developer and develop my own games, which is what brought me to computer programming in the first place. I am learning and trying to improve my c++ skills( Algorithms) now. But the dilemma that where to go from there is killing me. I can't go directly to directX or something as low level as that, I am not good enough I admit. The language I'll be using will be C++. I've been told to switch to JAVA or python( for pygame library) or something like XNA with C# or Visual Basic. I, for one, haven't come this far to switch ways or give up. I know that things 'might be' easier with some other language like Python or C# but I don't want* whatever I've been learning by now go to waste and vain.
I am in the dilemma that which library to choose from. I've been told about SDL and Allegro. I've tried allegro I liked it but I couldn't find any good reference on it which sucks. The only Allegro references that are there have code examples in them that don't even work anymore in Allegro 5.x.x.
I seriously need your guidance and help. When  You know you have a dream and you are nowhere near it then believe me life seems useless and worthless! I haven't even covered 10% of the Journey yet. Guide me and save me from all this mental torture?! Yes, I accept Evilzone as my lord and savior.

Awesome i say, its really cool to see someone that wanna dive into game dev, you really need c++ if you wanna be a pro.....
DirectX learning needs C++ also loads lotta game engines are written with c++ cause of low level access and performance optimization(you really need this cause of the graphics and rendering ish)

My default language is java when not coding for game dev but when it comes to gaming its not the best choice.......the amount of game engines that use java are few and the only popular one is jMonkey but you can't compare it the other game engines like unity or udk cause jMonkey was written with java and slower......hey not that games with it are bad though but i'm just trying to give you good options to choose from since you wanna start(also options with a lot of tuts)

From my analysis of what you been posting, you need a game library like pygame(python), sdl, etc.....that gives you abstractions of basic concepts using sprites, adding audio and other minor assets but its nothing compared to a game engine and if you wanna use xna be careful its only for microsoft xbox platform
Using a library is stressful cause you have to write everything from scratch cause no matter what you do you'll still have to abstract a game engine for your work to be done......

Quote
Unity 3d? Isn't that more like some 3d manipulating and rendering program? I am looking for libraries that allow me to learn the concepts of how games work like collision detection and a lot more. Even developing a 2d sliding background game would be a great honor for me. Something like supermario. Once I am good with that all then I can start worrying about 3d but let's better stick to simplicity from now on? I am unsure if I should go with allegro because most of the tutorials on it are outdated

You can still learn basics of collision detection, path finding algorithms and more with a game engine like unity3D(also this isn't only for 3D it can do 2D jobs too)
See it from this way a game engine is a dedicated game library plus more features, a library is a skeleton and a game engine is a complete human with flesh and muscles......which will do more work........or a game library is a basic ak-47 assualt riffle while a game engine is an ak-47 riffle with extended ammo clip, zoom view, night view......etc
For the supermario game i'll post a link below with tuts,they used unity3D to create supermario in both 2D and 2D
Now you know why allegro has outdated tuts...cause people don't use it much no longer......they hung up on game engines

Quote
One more thing I am on this stupid laptop device e6410 i5 gen-I and I seriously doubt if this can run something like 'Unity' that requires a good 3d Card. But oh well, this is machine is the only I can afford for the time being
Try installing it....your system might power it.
Also unity3D uses javascript, c# and booscript but was written with c++
udk uses unrealscript(similar to java) while its father unreal engine gives you the source code which you can then hook up with c++ but you need to pay for this

Quote
And let's suppose C++ was a bad decision. I should've gone for JAVA or something like Python. If I switch to Java or something else now then I'll have to take it from the scratch again and by God I am a very impatient person and neither do I want all these hours that i dedicated to c++ go to waste!
I seriously need an honest and sincere advise! It's like dying every day!

You definitely need c++ for a lotta things in game programming, its by far the best language for gaming as of present, most of all mainstream games released for consoles are majorly written in c++, python comes in a few scripting part

Quote
Get a better computer, how will you be able to test the games you make if your own computer can't run them? Learning a new programming language is never waste of time, especially not C++. But instead of Java I would pick C# for game development, it seems to be a bit more popular

Said like a boss......
there's no better way to put it

Whatever you do, don't use an engine like Unity or something similar first. This will make you fall into the endless group of kids that think they can "develop" games because they can drag and drop things.

You need to learn low level DirectX or OpenGL. I personally would suggest OpenGL, but that's because it's what I know best. You said you're not good enough to learn them, but that's bullshit. All you need is a bit of patience and willingness to spend lots of time reading and learning. Then once you learn all of this stuff (and maybe made a few small games) try and either make your own small engine for learning purposes, or start using an engine like Unity (which I still don't recommend).

I program my games in Java, although many say it's slower, but it's a fine language. However you've already learned C++, and that's what many people suggest for game dev so I'd stick with that. Keep in mind that these languages are just gateways to the actual graphics libraries (once again I'm referring to OpenGL and DirectX), and when it gets down to it, you're programming with those.

Don't think that this will go by fast either. It can take years to master low level concepts and OpenGL/DirectX programming. If you have any other questions feel free to ask me via PM or this thread I suppose :)

First paragraph is not true.....game engines ain't all about dragging and dropping(why would you say this, blasphemy of the highest order), you'll need to learn a directX or openGl for sure.
Yeah everything takes time.....java is cool but do you think it is possible to develop a game like call of duty ghost with java for consoles, it would be slow as f*#k even with optimizations

Now for your guidelines.......
First stop since you just starting out, you'll obviously be an indie developer......You need someone else to take the graphics part cause it'll be really hard trying to learn coding and graphics

Your job as the coder you need to know a lot of maths and physics......without these two you are f*#ked as hell. You need to know about Ai(for every game object apart from the player), also know about algorithms(like A* for path finding).
Collision theories, detecting, triggers(long, short triggers merge triggers), graphic libs like DirectX or openGl depending on your taste or even dive into nVidia physX
You need to know the above irrespective of the game engine the difference is how its implemented in each engine.

For the graphics......know how to use photoshop(preferable) to do a whole bunch of 2D effect related topics like draw,texture, illustrate, concept character creation etc.
If you guys wanna dive into 3D games to be able to use modelling softwares(example 3ds max, maya, mudbox, zbrush, modo etc) for modeling, rigging, animation and other stuffs.

For the game engine to use there are 3 options unity3D, udk and cryengine, unity has a free version but you can download the pro version that has a keygen, udk is free(except you wanna use unreal engine which has to be paid for), cryengine has free too.
All three has licenses to distrubute for free but not commercially, to sell the games you gotta pay something but all three has different conditions

I suggest you go with Unity3D cause it has complete tuts and more tuts than any on the net, also its the most popular game engine, it uses c#, javascript and booscript.So i guess you start learning c# too with the c++.Also there are books and tuts for these.
I could have uploaded all the tuts i have but my internet is really f*#ked up so i'll just post links for you to get them......would upload when i can.You can build for different flatforms windows, linux, mac, android, ios, web, wii, ps, xbox with unity.

For a basic intro get walkerboys studio free tuts:
Teaches how to create supermario in both 2D and 3D with unity.

Hack and Slash RPG:
Teaches how to create a 3D rpg game in unity

Most complete tut is by game institute:
Teach everything c++, math, physics, ai, directX, graphics(modelling, texturing, animation),
using unity.Then teaches how to create a car racing game in unity.

Also tuts by digitaltutors, dexsoft, 3DBuzz, 3Dmotive, design3

There are other tuts too also with a ton of books, You obviously don't need to pay for all these, google them out a lotta sites have them tactools, tutolearning, cgpersia and a zillion more sites even with torrents.

Offline Matriplex

  • Knight
  • **
  • Posts: 323
  • Cookies: 66
  • Java
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #11 on: June 02, 2014, 05:22:47 pm »
Awesome i say, its really cool to see someone that wanna dive into game dev, you really need c++ if you wanna be a pro.....

This is completely incorrect, you can program a game in many different languages, and you definitely do not need to know C++ to be a "pro". Sure, it's helpful, but I wouldn't say that for someone just doing this for fun needs to know it.

Using a library is stressful cause you have to write everything from scratch cause no matter what you do you'll still have to abstract a game engine for your work to be done......

Well unless you don't want to learn anything, you really should start out by using low level libraries. Is it stressful? Certainly, however you really learn how everything works. Plus it's more fun making everything yourself, because then you get to say, "Hey I created this!".

You definitely need c++ for a lotta things in game programming, its by far the best language for gaming as of present, most of all mainstream games released for consoles are majorly written in c++

Once again... C++ is a great language for game development but you seem to be worshiping it a bit too much. Game developers should know an array of the most popular game design languages.

Said like a boss......
there's no better way to put it

...Full of yourself much?

First paragraph is not true.....game engines ain't all about dragging and dropping(why would you say this, blasphemy of the highest order), you'll need to learn a directX or openGl for sure.
Yeah everything takes time.....java is cool but do you think it is possible to develop a game like call of duty ghost with java for consoles, it would be slow as f*#k even with optimizations

However lots of it is. I mean look at Unreal, you literally have a graph in which you drag and drop different "blocks" of "code" for things to happen. Unity definitely has coding, but once again you learn nothing about how the engine works internally and you certainly don't learn how this happens.

No of fucking course you're not going to write a game in Java for a console.... they don't support it. Android is about as far as you'll get unless you use RoboVM for iOS.

For the graphics......know how to use photoshop(preferable) to do a whole bunch of 2D effect related topics like draw,texture, illustrate, concept character creation etc.

You don't necessarily need to use Photoshop to do graphics. I use Pinta for a lot of my quick art work. GIMP is also an amazing alternative, I prefer it to Photoshop. GIMP is free which is a nice plus.

For the game engine to use there are 3 options unity3D, udk and cryengine, unity has a free version but you can download the pro version that has a keygen, udk is free(except you wanna use unreal engine which has to be paid for), cryengine has free too.
All three has licenses to distrubute for free but not commercially, to sell the games you gotta pay something but all three has different conditions

Those aren't the only engines out there, but once again you shouldn't be telling a beginner to use an engine. You're just misguiding him entirely.
« Last Edit: June 02, 2014, 05:23:15 pm by Matriplex »
\x64\x6F\x75\x65\x76\x65\x6E\x00

Offline IamMe

  • Serf
  • *
  • Posts: 44
  • Cookies: 5
    • View Profile
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #12 on: June 03, 2014, 01:21:02 pm »
Obviously there's a thousand game engine out there i was just suggesting......
when i stated photoshop i said PREFERABLE thats what my friends use.....he might choose any he wants.
Needing c++ for being a pro i meant a lotta of things even writting game engines
Also C++ is the best in game dev thats just a fact
Anyways i rest my case, PsychoRebellious welcome to the gaming dev world i hope our debate has given some insights on a lotta topics

Offline techb

  • Soy Sauce Feeler
  • Global Moderator
  • King
  • *
  • Posts: 2350
  • Cookies: 345
  • Aliens do in fact wear hats.
    • View Profile
    • github
Re: Noob Question, Guide me in diving into gamedevelopment.
« Reply #13 on: June 03, 2014, 02:33:26 pm »
Here are some videos, this guy uses Blender and Python, but the concepts are just the same as any:

https://www.youtube.com/user/goranmilovano/playlists

And some math and better concepts for game stuff:

https://www.youtube.com/user/BSVino/playlists
>>>import this
-----------------------------