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......
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
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
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
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.