Where can I learn how to program/create games such as Path of Exile?

You can basically go two routes:
1) learn a programming language
or
2) learn how to use a game engine

If you want fast results, you should look into game engines. Popular examples are RPGMaker, Game Maker, Construct2. They require some scripting for more specialized stuff, but creating a simple game is relatively easy.

In the long run you'll want to learn a programming language though.
Python is well-suited for beginners.
Java is more complicated and less lenient but you can create apps that run on almost any system with it.
JavaScript is a great language you can use to make interactive websites, games (Unity3D engine) or browser games.

All of those have libraries geared towards making games (PyGame, LibGDX, Impact, to name an example for each).

If you decide to learn a language, don't expect fast results. You'll probably be able to code a simple, text-based "choose your own adventure"-type game after a few weeks though.

Here's an extremely simple "game" I wrote for someone else in JavaScript:
http://jsfiddle.net/khrismuc/T2Fh6/

If should give you a rough idea of the proportion of "amount of code" vs. "impressiveness of results" :)
futurapromo
teginder
This takes me back to when I tried to do an A - level in computing.

At the end of the first year, we had to write a simple text based football program consisting of two teams of 12 players trying to score goals against each other.

I understood absolutely nothing about how to write the code for something as simple as that and ended up dropping the subject, my dreams of making video games were torn assunder due to me being too stupid for it.
(b) Personal abuse, foul language, inappropriate subject matter, obscene, harassing, threatening, hateful, or discriminatory or defamatory remarks of any nature ... are not permitted.

- PoE TOS.
"
bhavv wrote:
This takes me back to when I tried to do an A - level in computing.

At the end of the first year, we had to write a simple text based football program consisting of two teams of 12 players trying to score goals against each other.

I understood absolutely nothing about how to write the code for something as simple as that and ended up dropping the subject, my dreams of making video games were torn assunder due to me being too stupid for it.

I had the opposite problem. First project was to create a simple tic tac game. I went all out on it and added:
-graphics, including player selectable image
-sounds
-database to record wins
-AI selectable opponent

Instructor gave me my first ever C outside of art/government. My code was flawless, very efficient and no bugs. It even had increased performance as i designed my own flatfile DB over the slowass built-in DB. The instructor said my code was 'hard to read'... of course, its 20 times more complex than anyone else's in the class:/

It was very much a learning experience. Whenever something is subjective, some people will hate. And when those people have the power, there is nothing you can do about it.

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 Apr 19, 2014, 5:48:33 PM
"
Mark_GGG wrote:
I could upload somewhere the code for the small game I made and sent to Chris with my CV to get this job, but you should probably learn from looking at actually good code, and that doesn't really qualify.
This has been requested in PM, so I've uploaded the aforementioned game and source here: http://www.mediafire.com/download/qosc0iprre48v59/Puzzle_Game.zip

Runs on windows, requires OpenGL (also uses the GLUT library, but the dll for that is included in the game folder so shouldn't need installed separately). Unfortunately when I went to my primary archived copy it had regressed and developed a weird bug where the edge of the level/spaces with no tiles didn't prevent movement, which makes getting past the ice level impossible. This version (copied from the email attachment I sent to Chris years ago) didn't have that bug when I tested it, but beyond that all I can say is it worked when I last looked at it years ago.

Technically, I misspoke above - this sample game wasn't (directly) related to me getting the job, but rather it in combination with my CV, and Rhys putting in a good word for me, got me an interview (where I was given a different programming task to demonstrate my skills in person, as well as the actual interview and getting to meet Chris and the team).

This should not be taken as an example of good code - there's a lot wrong here, but I don't have time to fix it up, nor to do an annotated version with comments berating my past self for foolishness, and pointing out my mistakes for new readers.

I've learned a lot about coding since then, and no-one should be using this as an example of how to do everything. However, it shows perhaps an example of the size and scope of project someone could make over a month or so of spending most of your free time on it, while working a real job during the day (or in my case in the evenings) and hope to complete - I stole the image loading and displaying the tile grid code from one of my previous projects and adapted it, but everything else (such as it is) was done from scratch.

All the source files are there for anyone who wants to compile it themselves or play around with it, but I'm afraid you'll have to sort out setting up a visual studio (or other IDE of choice) project, linking the libraries, and getting it to compile, by yourself - I can go look up specific things if asked, but I haven't touched this in so long that I don't want to work all that out from scratch again. My version which had all those files is the one with the weird bug that's cropped up.

Arrow keys to move, R to rest, ESC to quit. Yes, the final level is possible.
Last edited by Mark_GGG on Apr 29, 2014, 5:48:58 AM
I have to ask - was that game inspired by Chip's Challenge?
"
Bunnu wrote:
I have to ask - was that game inspired by Chip's Challenge?
No, never played it. The mechanic of pushing crates into water to form walkable platforms was taken from Rescue Rover, and the crate-pushing level was stolen in it's entirety from Paganitzu (where it was boulder pushing).
The rest was me coming up with a few mechanics that made sense for a grid-based game of moving and pushing things on the way to the exit, making a level to showcase/teach each in turn, and then a final level that brings it all together into an actual puzzle - while I'm not proud of much of the code, I am fairly happy with how that turned out. Without coding text menu displays and things I had to teach the game mechanics through the levels, and with the other than stealing the crate one as mentioned above (I knew and loved that level from long ago, and saw no point trying to do better than it for a level about pushing things around), I think I did quite well. If I recall correctly, when I showed up for the interview I was told Jonathan had played the whole thing and spent a decent amount of time trying to figure out the final level* :P

*To be fair, it's partially a bitch because of the fact that you can't undo, so any mistake means you have to restart the whole level. Anyone who can work out how to edit the level files (not hard) is free to change the player's starting position to any point they've already reached in order to skip the bits they've already completed - most likely to the bridge just before the big ice area, to skip the initial crate bit.
Last edited by Mark_GGG on Apr 29, 2014, 6:40:04 AM
yes! complete playthrough in about 15min, nice game Mark!

but the end wasnt satisfying at all :-( i'd have expected a little textbox with sth, like:

"You made it, gratz!
You needed xx attempts for 8 levels!
Your time overall was: xx:xx"

but thats only for me.....for Chris in the interview i would program the textbox to say:

"You made it, me too?" (in case it doesn't explain itself "me too?" should ask if im(you Mark) hired)

btw for everybody who can understand german and has access to "Microsoft Visual Studio" (every student has via dreamspark) i can recommend this youtuber: https://www.youtube.com/user/MrCombobreakR/videos?view=0

you just watch his videos and type exactly what he types and you get some simple programs.....and soon you understand what does what and you can customize these little programs to try if you can create sth on your own.
Last edited by CrazyJ0hn on Apr 29, 2014, 1:20:24 PM
As a total noob this could be wrong but, couldn't you get that new unreal engine program thingy and make a game with that? I saw a video on it and it seems it can do a lot of shit.
"
Rowsol wrote:
As a total noob this could be wrong but, couldn't you get that new unreal engine program thingy and make a game with that? I saw a video on it and it seems it can do a lot of shit.


If you buy an Oxford dictionary, will it allow you to write a best-selling novel? Probably not, even though it contains all the words you need for a successful novel.

Learning how to program is only partly about the "words". To a substantial degree it is about concepts, structure, logic. Any modern language can teach you these. Starting with something "easy", like Python (tempting to recommend Ruby, but Python's community is much bigger) will teach you the fundamentals. It won't really let you program a game like PoE (well, actually...), but you won't code a complex game without "getting" the basics, and these fundamentals are not (all) language dependent.

This is why it's not a waste to start with Python even if you may eventually develop stuff in a different language. There is a lot of knowledge that transfers. Differently put, you need to learn how to think like a programmer.

Coursera has an upcoming introductory college-level course for programming:
https://www.coursera.org/course/pythonlearn

And Codecademy has interactive courses for various languages with an achievement system:
http://www.codecademy.com/

Those are good starting places, and both are entirely free. Sure, you can use construction kits like Construct 2 or Unity (this requires programming eventually), but that's like getting a "paint by numbers" set instead of a stack of paper and a pencil.
"
Rowsol wrote:
As a total noob this could be wrong but, couldn't you get that new unreal engine program thingy and make a game with that? I saw a video on it and it seems it can do a lot of shit.


I would highly recommend against this. Jumping into something like UE4 to build a concept of game design and development is like learning how to fly a plane by first hopping into a Boeing 777 and flying it manually. If you manage to actually get it off the ground, you'll probably end up in the Indian Ocean(too soon?) gasping for air.

UE4, Unity, CryEngine, etc. are great engines - they can do a bunch of cool shit, but to start out in them will be more confusing than rewarding. Engines like the ones mentioned can be thought of as really awesome renders on the front end, you manipulate the inputs and outputs of how your game renders with conditions presented by the player or the game itself.

Front end of the engines won't teach you much of anything, useful, in the way of programming. It will teach you game design at a very sophisticated level, but even things like Epic's UE4 Blueprints module can get really cumbersome, really fast to someone who has no idea of the basics of programming.

If you decide to actually dive into the source code of the engine, you'll probably be more confused. Physics/Sound/etc engines aren't something you start programming in your first year of learning programming, and honestly I doubt most professional developers could code one from scratch to begin with.

Stick with learning Python or any of the other languages people have mentioned in this thread, but make sure you keep realistic goals in mind. Jumping into UE4 and hoping to churn out a game without knowing basic coding and/or computer graphics isn't really realistic.

Additionally, I'd like to make a personal comment and say that since this thread has started I've switched over to learning the computer graphics side of the house. It's become such an obsession that I've actually put down playing games to focus all my time on it! It's been a really fun experience, screenshots included!


Last edited by Elynole on Apr 30, 2014, 12:30:26 AM

Report Forum Post

Report Account:

Report Type

Additional Info