What would you have to major in to become a video game designer?

What programming languages should I learn if I want to become a video game designer?

  • I'm interested in learning how to program video games, but I realize that I'll have to learn certain programming languages first. Which ones should I learn, and in what order?

  • Answer:

    The real question I have for you is this. Do you just want to make this game, or do you want to work toward a career as a game programmer? If you're mostly just interested in making the game, you don't necessarily need to learn another language to get started. As several people have pointed out, there are multiple ways to make games in Javascript and there's also Pygame for Python. There's so much to learn about how to make games that burdening yourself with learning C++ isn't necessary at this stage. If you are want to work toward a career as a game programmer then you should take the time to really learn C++.  Many of the books published for game programmers are in C++ and having a strong background in it will help even if you don't actually work in it regularly.  Once you know C++ you can easily transition to the other languages primarily used in game programming. In either case I think you're making the same mistake every new programmer makes and setting way to large of a scope for your first project. Start small young game programmer, start small. I would suggest that you think about your turn based strategy game as a long term goal rather than an immediate project. I'd suggest an approach more like this. 1. Thoroughly document the design as you see it now. Don't try to super expand it, just capture what you have now. 2. Pick a tool and a language. Lots of options, C++ and Cocos2dX is perfectly valid. 3. Learn the tool and the language by making a series of much simpler projects first. Make local play tic-tac-toe, then extend it to be multiplayer, then something a little more complicated. 4. After each small sub project revisit your design and reflect on what you have learned and how it affects your design. Build up to it, don't take on too much at once.

Daniel Super at Quora Visit the source

Was this solution helpful to you?

Other answers

All people suggest C++ , but who among of you , will ever stay for years to create a game , and even more years to learn the libraries. C++ seems to be nice, but in fact , is very difficult to learn it. You will spend at least 5 years to learn the language and if you want to make a high quality game, might you will spend 10 years to learn the language in depth , 2 years at least to learn the game libraries and plus 5 years to create the game. So you need in average 17+ years until you finish your first game. Who among of you have you ever finished any game? , what quality of game are you expecting from yourself?. Game is not the programming language only , the game needs graphics , music , voices and the game engine itself, which might will be needed to be written from scratch. My opinion is: Build your game first in only one platform. Most of you who wants to become game developers , you are PC users only. Do not expect to create this super duper game which will run in all platforms of the planet. You read and hear everywere about how to create games for Linux , Android , Mac , iPhone and in fact you haven't begun to create anything at all. Because you got bored and the game is incomplete for many years , so who cares if the game will be for android if you don't even started it? , is incomplete and you never intend to finish it. So forget all of those bullshits about cross platform. All are marketing tricks to sell you tools and programming languages. Begin for PC only. You are a PC user and do not forget it. None of any Play Station or XBox game player ever care to program any game or even none of any console player who never have PC and never have any knowledge and interest how to create games and none of tablet owner even interested to create any game in generic too. So what is the point. Do not need to be worried, about which platform will be or which tool will use to build it?  If you never start or you haven't decided yet is pointless. I advice to all PC users who are the only one who interesting to make a game to choose one cheaper programming language which don't need a lots of royalties. I suggest to use BlitzMax, is full object oriented and is exactly for games. Is fast, it doesn't needs external libraries because is designed for games. Is easy to learn and its commands are like Basic. Is very powerful , you can create games for linux and Mac too. Begin with a smaller game and start with 2D graphics. High quality games have nice graphics, nice game play and attractive story. The rest are exaggerated. If you want to create some 3D game, use DarkBasic Pro , but who among of you can create 3D models? who among of you can design nice 2D graphics , so do not get confused with difficult things like C++ , Unity 3D , or Unreal Engine when you don't know nothing about programming , nothing about 3D modeling and nothing about graphics design , or even sound and music composing. Start with Blitzmax , easy , use the community forums for help , there are and few books. Create a simple game. Then if you want 3D game use DarkBasic Pro. There is and Blitz3D for free if you purchase BlitzMax. And after you have learnt how to program and know a lots about 2D or 3D graphics design , then move to C++ or Unreal, for now is not necessary.

Panagiotis Spiliotopoulos

From my experience (which with programming is limited) I've found it harder transitioning from a "simpler" programming language to C++. With that being said, my advice would be to stay on the path you're on and keep learning C++.For video game development C++ is seemingly used in most of the bigger game engines out there and most 3d applications and game engine tools are written in C++.You would waste a lot of time learning another language when you know that ultimately you will want to switch back to learning C++ and making games with it. It is a stricter language than others I have used in the past and it's tough for me to work with currently. My programming knowledge is self-taught and via documentation hunting or articles online with some trial and error thrown in. So I might not be the 'best' person to give you this answer, but being that I have transitioned from a programming language that most would consider simpler, it has been tough. the logic is still mostly the same but the syntax is different.Here are some general learning resources: http://www.learncpp.com/ http://www.cprogramming.com/tutorial/c++-tutorial.html http://www.cplusplus.com/doc/tutorial/ Just continue with the basics, practice what you can as you go, there is no reason C++ stops you from practicing to program with it 'right now' Try to follow along with some tutorials that have you create something by the end of it, use the exercises in some tutorials to practice what you've learned and challenge yourself a little.I don't know much about your goals for game development but if you're wanting to get your hands dirty early on and you already have the basics down (as you said you've already started learning c++) you can always try to look into Unreal Engine 4. They have some really nice tutorials on the Wiki for programming in C++ with the game engine, and they are really detailed. Atop that they have a video series on programming with C++ on the wiki as well. There are additional resources in the form of books that are mostly written in C++ that you might be able to take something away from, all of these learning resources I've mentioned in this paragraph teach you by example, so you end with having something you've created that you can extend at will and practice with further on your own. I would highly recommend picking up the basics properly first if you haven't already though.I am sure others will likely agree with me on sticking with C++.~ Patrick.

Patrick Griffiths

you should go with C++ ,reason is simple. In recent days every company tries to code in native language and then ports there game code for different operating system. so majorly everyone prefers to code C++ and then porting for different OS. So If you want to develop crossPlatform game then go for C++. and development language differs from engine to engine, Cocos2Dx -> C++ Cocos2D  -> Objective C Unity3D    -> C# , javascript etc etc Unreal      -> unrealScript , C++ so development language majorly depends on your selection game engine. you know any OOP Language nicely so it wont take much time shift on any other language.

Parikh Parth

If you want to program videogames and you want to design them too, don't focus on the programming lang. Focus more on "what game do you want to do?" and then choose a proper pre-made tool (gamemaker, Unity3D, etc.) to do them. Learn to code, not a language! And more, first of all learn to design, that is about player's experience, not programming. So try to be as fast as possible to prototype your mechanics and see if you achieve your dynamics. I know that I introduced a lot of concept now, but you have to search! Game design is this: search and listen. :)

Paolo Gambardella

If you are beginner. I wish you start from Corona SDK. It's easiest way to start to do games. Corona SDK used LUA language. https://coronalabs.com + Easiest way to start. + Works fast. + Development - fast. + Basic tools is free. + Huge community. + Tutorials, video lessons. + Perfect emulators for all platforms. iOS, Android, WinPhone, Kindle, OSX, Windows Or you can choose https://www.madewithmarmalade.com. It's looks like the same good for beginners.

Vadim Kudriavtcev

A game designer is very different from game programmer.Ofcourse it would be handy to know how to program for games, but it is not necessarily mandatory to know how to program if you want to be a game designer.A Game Designer is someone who designs the interactive experience of what the game is supposed to be. Game designer creates the mechanics that create the fun experience that the game is supposed to be. But this is not someone with the “ideas” . This is an individual who has proven their set of skills, be it in programming or art or level design. Level Design is a subset of Game DesignWith improvements in tech nowadays, you can directly hop into learning game development without even having to worry about coding. Unless you are intending to pursue a serious career in coding I would suggest to stay off from codes. If your interest is only in game design, then what you need is a basic understanding of how game engines treat game mechanics. How stuff are made.I would suggest you begin with Unreal Engine and its Blueprint Visual Scripting tool to help you get off the mark. Blueprints helps you learn and understand programming “logic” quicker than codes.If you have no prior knowledge of game development, what you need to learn first would be the logic behind each work involved in game development.

Jeff Zachariah

If you are just getting started then i highly recommend you to start with LUA, It is a very simple language and you will be able to pick it up really quick.There are tons of game engines that support lua:http://stackoverflow.com/questions/5053134/what-is-a-good-game-engine-that-uses-lua List of game engines that use lua:2D http://www.2dengine.com/ (Lua; Windows) http://www.blitwizard.de/ (Lua; Windows, Linux, Mac) http://www.cocos2d-x.org/ (C++/Lua/JS; Windows, Linux, Mac; iOS/Android/BlackBerry) http://www.anscamobile.com/ (Lua; Windows, Mac; iOS/Android) http://egsl.retrogamecoding.org/ (Pascal/Lua; Windows, Linux, Mac, Haiku) http://leetless.de/grail.html (C++/Lua; Windows, Linux, MacOS X (SDL)) http://love2d.org/ (Lua; Windows, Linux, Mac) http://www.getmoai.com/ (C++/Lua; Windows, Linux, Mac; iOS, Android; Google Chrome (Native Client)) 2.5D http://lavgine.pl/ (C++/Lua, Windows) 3D http://www.bajaengine.com/ (C++/Lua; Windows, Mac Os X) http://glint3d.capricorn76.com/ http://irrlicht.sourceforge.net/ (C++/.NET/Lua; Windows, Linux, Mac OSX) http://leadwerks.com/werkspace/index.php?%2Fpage%2Fproducts%2F_%2Ftools%2Fleadwerks-engine-r3 (C++/C#/Delphi/BlitzMax/Lua; Windows; $199.95) http://springrts.com/ (C++/Lua; Linux/Windows/MacOSX) http://www.luxinia.de/ (C/Lua; Windows) http://polycode.org/features/ (C++/Lua; Windows, Linux, Mac OS X) http://www.crytek.com/cryengine (C++/Lua) http://www.cafu.de/ (C++/Lua) Then once you are familiar with making games with at least one language move on to other language or framework depending on your needs.I personally use Corona SDK.And hey want to know how i got started with game development, then follow my blog:https://indiegamejourney.quora.com

Nischal Srinivas Reddy

There is a difference between a Game Designer and a Game Developer, if you want to Design games you don't really need to code, just team up with someone who does, but if you want to design and develop a game then you can learn to code but it's not necessary since you can use tools like Game Maker Stencyl Construct2 These are programs you can use to create games without actually coding. If you would like to create a game a little more robust then i would suggest learning Unity (C#), it is a great tool and its easy to learn. Hope this helped you, if you have more questions feel free to contact me.

Roberto Bravo

The truth is:  Programming is not even your biggest problem... Why? Because there are a lots of game engine (UE4, Unity, CryEngine, etc...) that implements everything you need to build a commercial game (those are written in C++). For example, if you build your game using UE4 your game can be deployed on Mobile phone, Console, and PC. UE4 provides templates for a wide variety of games. The only thing you need is... a game idea and 3D models. Once you have your game idea you can use the scripting language provided inside the game engine to make it real (interaction, menus...). UE4 have a lot of tools to do that so you may not to have to use C++ at all. You will only need C++ if you want to create a particularly original game. So if you have a game idea your problem is 3D models, and that is not programming. You still have to learn how to use the game engine, but It should be easier than building it from scratch. UE4 is free* (up to 3000$ profit then 5% ) https://www.unrealengine.com/marketplace Epic Game released Unreal Tournament 2015 as an open source game. The game uses UE4 . You have a full game source code available!

Pierre Delaunay

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.