So...Game designing and programming...

MAIN EDIT:

Since you guys necro'd this thread i will reply with a follow up post.

After all was said and done, i made it to computer science school (we begin in october).

Also, i decided to roll with unreal engine (after a lot of searching it seemed the most user-friendly) for a 2,5d game, basically 3d models in a 2d restricted move direction (trine is the first example that comes to mind).
I gathered a team of 4 and after everyone is done with their vacations we will probably start on the project.
Hope it all goes smoothly. :D

Original_post
I have been thinking: what kind of knowledge does it take to create a simple game?
Even 2d sprite one would do...
Where should i start from?
C, c+, c++?
Which books should i get?
Any forum that focuses/is full of people that strive for the same thing?
With which engine should i begin?
Any info would be useful.
Btw, i cant afford prigramming courses atm so i have to do it on my own.

EDIT:

@Voidin_Blitz Thanks for the reply!
Any info on where i can find these free courses?

@Jake_GGG Thanks for taking the time to help out!
I took a look at the sites you provided and i am so excited to begin! Need to learn so many things first though

@SkyCore Many thanks for all that shared knowledge! I was thinking to start with a 2d while learning since it wont be THAT much for a beginner. I want to aim towards something like castlevania: aria of sorrow with a bit more rpg elements. IS it even possible to make something like this using java? Also, With a glace at the gimp i couldn't understand how it can help with 2d games but i guess if i look into it a bit more it will come out. I will definitely learn java though (was in my things to do before even starting the thread) so thanks for clearing things out for me.

So, what i should probably do is: Learn C to grasp the basics, then move to C++ and java. Take my time with SDL and SFML and JDK, netbeans. As for which engine i should use, well it will become clearer after i have learned all the things i need to learn. Also, PoE will still be here along with it's forums so i will be able to ask you again guys! :D


EDIT 2:

@draqone
Ok, im gonna take my time and check them all out. See if they are available for European citizens.
Thanks for taking the time to share that info!

@Voidin_Blitz
Yea, though you meant internet courses :D
Gonna check that site as well. Since i also think that i have to start from C and work my way up to C++/java before anything else.

P.S.
Spoiler
I consider myself a fast learner as far as programming/computing is the topic to learn, since it is something i really want to do. I have an easy time learning things i want to learn so i guess this shouldnt be different. I have done some simple programming lessons (creating basic algorithms etc) and although i know it wont be that easy it should fall around the same category.


@SkyCore
GREAT! Gonna check him out the moment i start messing around/learning C++/java. Have to start from C so its gonna take some time.

To everyone: Which engine do you think i should start from? Considering i would like to start from a 2-D castlevania-ish game and work my way up from there?
Last edited by S3ph1r0th on Aug 4, 2015, 2:54:09 PM
Skip all that shit, get Unity and start dual wielding credit cards in the asset store.

It's how the pros do it.

Worked for Garry, anyways, look how much money he fleeced off people for Rust :)
== Officially Retired 27/02/2019 ==

Massive thanks to GGG for producing such a fun and engaging game, it has taken up faaaaaaar too much of my life over the last 5 years.

Best of luck in the future!
Books: None, internet courses work just fine and most are free.
Start: For basics, C. For more complicated stuff, C++. C+ is rarely used.
Knowledge: Most courses cover what you need towards the end of the tutorial.

As for the others, no idea; I'm a python groupie.

PS!
Good luck! Just let me throw a hint at you; don't use codecademy. The content is very rudimentary.



"Path of Exile needs a Circlejerk Subforum" -cypherrage
Last edited by Voidin_Blitz on Dec 22, 2014, 9:57:59 PM
I recommend learning C++, as it's the industry standard. Once you have a basic grasp of C++, check out SDL and SFML. You can easily create 2D games with these libraries and I believe both websites have forums with like-minded people.
really depends on what level of knowledge and creating a game you're trying to get.

you can get pre-made engines, so for example if youre making a point n click adventure, theres thing like wintermute engine and all you need is more basic scripts and each location with hotspots and pathing, character animation, etc etc

if you're looking to program from ground up in something like c++, it will take a big learning curve. because theres no point in learning c++ only 'on surface'. you will have to learn programming from ground up, to fully understand it, imo
Programming is 90% formalizing your thoughts. Once you learn one language all others should come naturally. Id recommend Java JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index.html(java development kit) with the Netbeans IDEhttps://netbeans.org/(integrated development environment). Java being the language, and Netbeans being your editor. Both are free and well supported from Oracle. And best of all, the code you write can be run largely without issue from ANY machine without modification: cell phones, 20 year old computers, top of the line supercomputers, tablets, gaming consoles, you name it. You wont get that portability from any other language.

The other 10% is knowing what functions are available(so you dont reinvent the wheel) and the specific syntax for the language.

If you want 3d graphics, it will require considerably more effort. But can nonetheless be easily done with jmonkeyengine http://jmonkeyengine.org/.

Any game you create will also likely require a lot of assets, which will require the proper tools. For 3d graphics, Blender http://www.blender.org/ is pretty much as good as it gets. For 2d manipulations, GIMP http://www.gimp.org/features/.

There is SO much information on the internet targeted at teaching java. A simple "learn java with netbeans" search in you tube should net you around 50 thousands hits.

But iv always disliked learning at the rate a teacher teaches. The tutorials on the oracle site where you download the JDK are excellent and should provide you with a firm enough foundations to dive right into making simple programs. I always have a window open to the Java API specifications, which is a listing of every object in the standard library with all the information you need to use it. Sometimes just skimming through the API will give you ideas on how to do things.
For years i searched for deep truths. A thousand revelations. At the very edge...the ability to think itself dissolves away.Thinking in human language is the problem. Any separation from 'the whole truth' is incomplete.My incomplete concepts may add to your 'whole truth', accept it or think about it
Last edited by SkyCore on Dec 23, 2014, 4:28:17 AM
Writing a performance-critical game or, to a lesser degree, a performance-critical server in java is like trying to write a formal paper using urban dictionary. Theoretically, possible. Practically, you will fail most of the time. Not to start a flame war but let's just say a game like poe in java will be a nightmare. Poe already resource hungry. Imagine garbage collection in real time with poe...lol. Many games use higher level scripting for logic/ai on top of c++ (I believe eve uses python, as lot of ai scripting uses python, etc)

That is not to say you can't write a game in java, I think two of the more famous popular game written in java are minecraft and runescape. Just be prepared for suboptimal performance.
"
grepman wrote:
Writing a performance-critical game or, to a lesser degree, a performance-critical server in java is like trying to write a formal paper using urban dictionary. Theoretically, possible. Practically, you will fail most of the time. Not to start a flame war but let's just say a game like poe in java will be a nightmare. Poe already resource hungry. Imagine garbage collection in real time with poe...lol. Many games use higher level scripting for logic/ai on top of c++ (I believe eve uses python, as lot of ai scripting uses python, etc)

That is not to say you can't write a game in java, I think two of the more famous popular game written in java are minecraft and runescape. Just be prepared for suboptimal performance.


Take a peek at the jmonkeyengine which i recommended. They boast that java is every bit as fast nowadays. I remember back in the 90s when java was slower than C++, yes. But now?

And look at who you are talking to. I think someone whom has never programmed anything before isnt going to have to worry too much about garbage collection on a quarter million node scene.
For years i searched for deep truths. A thousand revelations. At the very edge...the ability to think itself dissolves away.Thinking in human language is the problem. Any separation from 'the whole truth' is incomplete.My incomplete concepts may add to your 'whole truth', accept it or think about it
"
SkyCore wrote:
"
grepman wrote:
Writing a performance-critical game or, to a lesser degree, a performance-critical server in java is like trying to write a formal paper using urban dictionary. Theoretically, possible. Practically, you will fail most of the time. Not to start a flame war but let's just say a game like poe in java will be a nightmare. Poe already resource hungry. Imagine garbage collection in real time with poe...lol. Many games use higher level scripting for logic/ai on top of c++ (I believe eve uses python, as lot of ai scripting uses python, etc)

That is not to say you can't write a game in java, I think two of the more famous popular game written in java are minecraft and runescape. Just be prepared for suboptimal performance.


Take a peek at the jmonkeyengine which i recommended. They boast that java is every bit as fast nowadays. I remember back in the 90s when java was slower than C++, yes. But now?

And look at who you are talking to. I think someone whom has never programmed anything before isnt going to have to worry too much about garbage collection on a quarter million node scene.
java will always be suboptimal,especially for games that are complex, whether its a lot of real-time calculations on large data structures in memory or demanding graphics. most top of the line gfx engines build off legacy c++ code btw

But main reason is Java will always be bound by the jvm. Yes its portable, but basically the jvm determines os implementation. Same with garbage collector and multithreading. You're bound by set mechanism. In c++ you're bound by programmers hands (and sanity:)) and can choose between implementations or write your own one if you feel like it. Reinventing the wheel might seem silly, but when you need a f1 wheel on a f1 racecar Ferrari you prolly won't settle for a stock wheel :)

And yes regarding the second point I agree, hence me saying scripting might be a good way to start. Python is a fun language. Problem with python its so high level you kinda can get used to doing stupid things without even knowing they're stupid because abstraction hides it.
Ill give you that performance is important for top of the line AAA titles whom market eye candy to the zombie consumers whom just want things to 'be pretty'.

My approach to games is all about gameplay, i dont build games to do pretty things. I build them to provide a dynamic challenge and engage my players on a higher level then the typical twitch based FPS.

Java through Netbeans is FAR superior to any C++ package iv tried on many levels. Portability and its fantastic API spec are themselves worth more than any amount of bonus performance for my requirements. The ability to code and knowing with impunity that memory will always be properly allocated behind the scenes without my express attention is also a huge time and worry saver.

You remind me of the people i see always bragging about how powerful their computer(or car) is. Yes power is a good thing. But stroking your ego too much can blind you to the fact it doesnt require very much power to do amazing things.
For years i searched for deep truths. A thousand revelations. At the very edge...the ability to think itself dissolves away.Thinking in human language is the problem. Any separation from 'the whole truth' is incomplete.My incomplete concepts may add to your 'whole truth', accept it or think about it

Report Forum Post

Report Account:

Report Type

Additional Info