Game Dev.

Started by
13 comments, last by Brain 8 years, 2 months ago

what would be the perfect language in developing 3d and 2d game.? thank you in advance.

Advertisement

Any language?

More seriously though, don't think there is any language, apart maybe from the very old ones like Cobol that haven't been used for game development yet. You will find frameworks and engines for practically all engines.

The most important ones though are C++, followed by Java and Objective-C because of mobile dev, and C# because of Unity and Mono.

More important is to ask: What Game Engine or Framework do you want to use? Or do you want to code everything from scratch?

In the first case, your programming language will be decided for you by the engine or framework you choose. Of course you can let the available languages for the engine or framework guide your choice, but that might not be the wisest choice. Given that you are either ready to learn a new language, or you have no prior programming expierience, it is better to pick an engine or framework for other reasons than their programming language options. Yes, generally speaking its easier to learn some languages than others. But the framework/engine has at least as much influence on the learning curve than the language you need to use with it.

In the second case, the sky is the limit. But of course, there are limitations. Manage languages like Java or C# bring some disadvantages with them that can limit their usability in such "realtime applications" as games. When you need to squeeze the last bit of performance out of these languages, things like garbage collection can be more of a hindrance than asset.

C++ on the other hand allows you to really fine tune such aspects of your code, yet it also means you will have to do more yourself. Which can turn into a time hog, and sometimes for little gain if used outside of the critical path of the code, at places where you don't have to optimize.

TL; DR:

First tell us what exactly you want to do, then we can give you better advice:

Work with a Game Engine or Framework vs. write everything from Scratch?

Do you have prior programming expierience? In what languages?

Mobile vs PC/Console Development?

The "perfect language" is the one you already know.

If you don't already know a language, pick one to learn. C# or Python are good choices to start.

what would be the perfect language in developing 3d and 2d game.? thank you in advance.

To be honest, it would be good to know what you already tried, have you done any projects before or are you totally new to programming?. For everybody another language is perfect so this question is kind of unclear.

Indie Unity & iOS Developer

[twitter]xandru.cea[/twitter]
Website

"perfect language"? Doesn't exist as each language has their own set of pros and cons. Languages that can do 2D and 3D? C, C++, C#, and Java (with the help of libraries like SDL, SFML, OpenGL, or Allegro). Engines to use for making your work slightly easier? Unity (C#) and Unreal (C++) are popular choices. Just starting out? Pick a language and then make games off this list of games to get some experience in using the language and making games. Don't get stressed, it takes a long time to be comfortable with any language, but it is doable.

List for easy access:

  • Pong = Simple: input, physics, collision detection, sound; scoring
  • Worm = Placement of random powerups, handling of screen boundaries, worm data structure
  • Breakout = Lessons of pong, powerups, maps (brick arrangements)
  • Missile Command = targeting; simple enemy ai, movement, and sound
  • Space Invaders = simple movement for player and enemy, very similar to breakout with the exception that the enemy constantly moves downward, simple sound
  • Asteroids = asteroids (enemies) and player can move in all directions, asteroids appear and move randomly, simple sound
  • Tetris = block design, clearing the lines, scoring, simple animation
  • Pac Man = simple animation, input, collision detection, maps (level design), ai
  • Ikari Warriors = top down view, enemy ai, powerups, scoring, collision detection, maps (level design), input, sound, boss ai
  • Super Mario Bros = lessons of Ikari Warriors (except with side-view instead of top-down view), acceleration, jumping, platforms


More seriously though, don't think there is any language, apart maybe from the very old ones like Cobol that haven't been used for game development yet.

Hi Gian-Reto, sorry to contradict but even the 'very old ones like COBOL' have been used for game development: https://twitter.com/scotnielsen/status/695265768167096320

There was even a contest http://academic.microfocus.com/code/. The winner created a 3d Snake game created in COBOL.

entry-snake.png

In all seriousness, COBOL is probably not the best choice for a new game but this does clearly demonstrate its versatility – not bad for a 50 year old language. But the fact is,

COBOL hasn’t stood the test of time by standing still. Like most other popular languages in existence, it's had to evolve. Credit where credit's due.

I would be surprised if there is any language where games have not been written.

As long as you have both input and output, its possible, and even the first mainframes would often have a game or two for showing off the system.

Even if its just text based towers of hanoi, its still a game.

Hi Gian-Reto, sorry to contradict but even the 'very old ones like COBOL' have been used for game development: https://twitter.com/scotnielsen/status/695265768167096320

There was even a contest http://academic.microfocus.com/code/. The winner created a 3d Snake game created in COBOL.

I stand corrected... well, I guess I had this coming making such broad statements without checking the facts.

Having had to work with COBOL briefly on a very different topic I cannot imagine how they got this language to work for a 3D game. Certainly have to check it out.

Thanks for the heads-up.

This topic is closed to new replies.

Advertisement