Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Game Development, the language for beginners? [closed]

I have been searching through the website looking for the best language for beginner game development. Many people say a C based language, others suggest Python.

Normally I would just pick one, but this is my dilemma. I am not sure if this is correct, but I read from programmers on here that C is much faster at 3d render, whereas Python is not. Then people post support stating that Python can excel at 3d rendering.

I do not know about either.

My current goal is to make a game with graphics similar to Blizzard's Diablo II.

I have experience with PHP, JavaScript frameworks and pure SQL. Also, I work in a Mac environment and do have access to Windows XP.

With all that said, where should I begin and why?

Cheers

EDITED WITH NEW QUESTIONS

Okay this is all overwhelming to me. Forgive me if I have overlooked anything. I have been viewing Unity 3d and XNA, but these are mostly game engines utilized with the .NET Framework, primarily C#?

If I wanted to solely do all of my development on OS X, but compile for multiple platforms, which is the optimal choice?

like image 762
Jonathan Musso Avatar asked Oct 20 '10 19:10

Jonathan Musso


People also ask

What language should I learn first for game development?

Java: Java is a general-purpose programming language that is designed to adapt to an evolving environment. According to MasterClass, Java game programming is nearly universally compatible, making it incredibly versatile and one of the most popular languages used today.

What language are games written in?

C# Despite considered easier than C++, C# is a powerful language. Its XNA framework makes it perfect for building games on Windows and Xbox. Additionally, C#'s game engine Unity3D and Xamarin enables developers to build games on all platforms including iOS, Android, PlayStation and Windows.

Is C still used in game development?

C++ is a high performer when compared to other languages used for game development. Other popular game programming languages include Python, Java, C, and C#. While C is another low-level language used to program games, the focus of our comparison will be the higher-level languages in the running against C++.


1 Answers

Choosing a language because it will eventually be necessary for performance of a program you haven't written yet is a very good example of premature optimization. This is especially true since you will be writing a program as a learning exercise.

Learning C++, learning 3d rendering API's, and also learning game programming techniques are three tough goals. It's probably a very good idea to do them one at a time, so that you aren't struggling with all three at the same time.

If you've already decided on C++ and a particular graphics API (OpenGL, DirectX, whatever...), then I'd advise learning them on three separate projects, in that order, first a simple console C++ app, or a series of exercises such as on Project Euler, then familiarize yourself on the API with some graphical visualizers, and once you've reasonably conquered both of those move on to building a game.

If you aren't really married to any platform or toolchain, you should probably start by learning the game programming techniques. Unfortunately, neither PHP nor JavaScript really lend themselves to this, but as others have suggested, python, with the use of the PyGame library, is a very easy thing to pick up.

once you've got a feel for how game programming works in an easy language, you can start learning your way around a 3d api, building a game that suits your goal. It probably won't be too long before you start running into performance problems. Only then should you look into rewriting critical code paths into another language.

like image 107
SingleNegationElimination Avatar answered Oct 18 '22 17:10

SingleNegationElimination