Be a Supporter!

Anbringehr. Beginner Programmer.

  • 314 Views
  • 7 Replies
New Topic Respond to this Topic
anbringehr
anbringehr
  • Member since: May. 8, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Anbringehr. Beginner Programmer. 2013-05-27 21:21:50 Reply

My name is Anbringehr, I'm 22 years old, I'm very interested in learning programming.

More specifically, Video Game programming.

I'm looking to gain experience in programming. I was pointed here by a colleague and thought I would create a post and see what came out of it.

I have tried looking online, but everything seems to be a gimmick. I'm willing to do whatever it takes.

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Anbringehr. Beginner Programmer. 2013-05-28 07:43:53 Reply

What kind of games are you interested in making? PC/Mac games? Mobile? Web-based?
Will this be just for fun or do you want to eventually sell your games?

C# with the Unity engine is a good place to start for making PC games. I have no experience with Mac development so I don't know what you would use to make games for that OS; possibly Objective-C. You could use Java for both PC and Mac development but you'll lose a significant amount of performance because of the Java Virtual Machine with the benefit of not needing to re-compile your game for different platforms (you could even run it on Linux).

Mobile will depend on if you're releasing for Android or iOS. Android will require Java; iOS requires Objective-C.

Web-based gives you the most options. The two most commonly used technologies are Flash and HTML which will require ActionScript and JavaScript respectively. Out of the two I would personally recommend HTML5/JavaScript but you can't go wrong either way. If you go the route of HTML5 you could use the ImpactJS engine. I have some limited experience with it but it's been excellent from what I've seen. With Flash there is, of course, the Flixel and FlashPunk engines; the FlashPunk website is down so the best I can link to is the GitHub repository.

Also note that if you want to do Flash/ActionScript development any discussions regarding it will need to go in the Flash forum. Otherwise you can hang out here. :)

anbringehr
anbringehr
  • Member since: May. 8, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Anbringehr. Beginner Programmer. 2013-05-29 09:16:44 Reply

At 5/28/13 07:43 AM, Diki wrote: What kind of games are you interested in making? PC/Mac games? Mobile? Web-based?
Will this be just for fun or do you want to eventually sell your games?

C# with the Unity engine is a good place to start for making PC games. I have no experience with Mac development so I don't know what you would use to make games for that OS; possibly Objective-C. You could use Java for both PC and Mac development but you'll lose a significant amount of performance because of the Java Virtual Machine with the benefit of not needing to re-compile your game for different platforms (you could even run it on Linux).

Mobile will depend on if you're releasing for Android or iOS. Android will require Java; iOS requires Objective-C.

Web-based gives you the most options. The two most commonly used technologies are Flash and HTML which will require ActionScript and JavaScript respectively. Out of the two I would personally recommend HTML5/JavaScript but you can't go wrong either way. If you go the route of HTML5 you could use the ImpactJS engine. I have some limited experience with it but it's been excellent from what I've seen. With Flash there is, of course, the Flixel and FlashPunk engines; the FlashPunk website is down so the best I can link to is the GitHub repository.

Also note that if you want to do Flash/ActionScript development any discussions regarding it will need to go in the Flash forum. Otherwise you can hang out here. :)

I honestly do not know where to start. I have 0 experience in this. What is the best way of learning? Self-teaching? Or learning through classes?

I am trying to get into this, I really am. I just need to know what language to learn first and how to truly honestly learn the language.

I am just at a loss as to what to do because I want to get into this industry, i know it is where I belong, the problem is just knowing where to start and HOW to start.

anbringehr
anbringehr
  • Member since: May. 8, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Anbringehr. Beginner Programmer. 2013-05-29 09:23:21 Reply

I want to develop RPG's. They have always been my favorite and would be awesome to create something like that.

anbringehr
anbringehr
  • Member since: May. 8, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Anbringehr. Beginner Programmer. 2013-05-29 09:30:25 Reply

My reason for wanting to do this is that I almost got hired at riot games. I was going to get hired as a NOC technician. I have several years of experience supporting Sprint/Ericssons NOC center in overland park, kansas and I was applying to be a NOC technician for Riot games, but the internal teams shifted and my candidacy was no longer viable, they were willing to take me without knowing any programming languages because of my skills with computer hardware/software configuration/installation but because the teams had shifted they really needed someone that knew their languages. It was a debbie downer at first, but I realized that this is probably the push I needed since I wanted to get into the software engineering field anyway.

kiwi-kiwi
kiwi-kiwi
  • Member since: Mar. 6, 2009
  • Offline.
Forum Stats
Member
Level 09
Programmer
Response to Anbringehr. Beginner Programmer. 2013-05-29 14:23:12 Reply

At 5/29/13 09:30 AM, anbringehr wrote: stuff about game dev

Then your best bet is to ask them what languages they use and start from there. Most game development companies use Lua for everything game related, most of the stuff that is not physics or display is made with it, like quests, triggering mechanisms etc, so if you really really want to get into the game development field that's probably your first stop. Riot also publicly announced they use Air to make some of their stuff, so you could also start with ActionScript which has the advantage that is has the same syntax as a very large array of languages, so if you learn it you should be able to transition to other languages easier.

Lua is very straightforward, you can easily go through the tutorials on their official website in a few days then use either the Love engine or MOAI to make games.
ActionScript is a bit more complex but it's a lot better documented, you can find tutorials on how to make games everywhere, some of which are more intelligent than others, but most should be ok to learn from. If you decide to go this way, once you feel confident in your ability, read up on object pools because constantly allocating memory in ActionScript is a very expensive thing to do.

And if you have any further questions don't hesitate to ask.

amaterasu
amaterasu
  • Member since: Mar. 7, 2004
  • Offline.
Forum Stats
Member
Level 08
Blank Slate
Response to Anbringehr. Beginner Programmer. 2013-06-02 14:48:15 Reply

You have some options. A good place to start might be a game engine such as: http://www.yoyogames.com/gamemaker/studio. This way you cut out a lot of the mundane aspects of game engine development and get straight to creating content and scripting specific to the game. There are plenty others out there, including ones targeting folks with little programming experience such as yourself by allowing games to be made with a point-and-click interface.

The advantage in learning programming skills when it comes to game development is the ability to write more custom software for your games. The point and click engines such as the one I mentioned above are very nice but the downside is they are pretty limited in how you can customize the rules and dynamics of your game. The more scripting/programming experience you gain (such as learning something like Lua as mentioned in a previous post), the more customization you will be able to perform.

If you want to go down the path of gaining the skills to write more custom game software yourself, then I'd recommend forgetting about games in general momentarily and getting a solid foundation in software development in general. There are plenty of books available that cover the basics of object-oriented programming (a must for modern game development). If you prefer to do research online then gamedev.net is a great resource, here is an article that you'd probably be interested in: http://www.gamedev.net/page/resources/_/technical/general-pr ogramming/the-programming-primer-r3090

For your first language, I'd recommend learning a managed OOP language such as C# or Java. Both have very powerful development environments available to get you up and running very fast. C++ and Javascript are two languages commonly used to write games, but C++'s memory management is pretty confusing for beginners and Javascript is overly flexible (although this is actually one of it's strong points!). Once you learn the fundamentals on one language, hopping to another is not too difficult, depending on how different the syntax is. Python is another option, it seems to be used quite a bit to educate people on programming, but I don't have a lot of experience with it so I can't speak for it. Also be sure to learn about debugging. When writing games, you'll be doing a lot of debugging. Another concept I highly recommend learning about is something called test-driven development. If you learn TDD you will end up writing better code with less debugging required to get things working.


beep

BBS Signature
PMMurphy
PMMurphy
  • Member since: May. 27, 2012
  • Offline.
Forum Stats
Member
Level 01
Artist
Response to Anbringehr. Beginner Programmer. 2013-06-15 17:02:05 Reply

If all your background in computers is being an NOC technician.

Only questions that race through my head are, do you have an IT degree or a CS degree.

Game development is indeed a very complex process. Yes we have modern software that makes it more simple, but you will indeed come across errors in your dev process that without the appropriate background you will not know how to solve this.

If this is your wish. Take the time now to increase your background. Don't throw yourself into the industry without careful planning and practice.

Yes a company may hire you, but if your not already skilled at doing the job. Expect to be fetching coffee and taking out the trash.

Game development in particular when it comes to software management is so competitive that your better off starting your career doing other software engineering jobs.

Best way to go about getting your foot in the door is to get some sort of college background in computer science, if you already have an IT degree, take extra classes on your own as non-degree that are cs related and ask questions. Then work on side projects and build a portfolio.

Yea there aren't really tutorials on the internet for this stuff. It is because the task is very challenging and not so easy to put together in one place for people to understand easily. The individuals who can do such a thing are too busy working to be sitting down creating tutorials.

Just pick a language, any language. Learn programming.

Then build a portofolio and train your skills. Yes a game dev company will train you. But like i stated earlier. If your not always qualified to do the job before your hired. Your role on the projects will be very limited.