• Advertisement
Sign in to follow this  

Game Dev.

This topic is 797 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement

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. 

Share this post


Link to post
Share on other sites

"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
Edited by BHXSpecter

Share this post


Link to post
Share on other sites


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. 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

np Gian. To continue the tangent a little further and answer your follow up question, how could the COBOL you once knew be used for a 3D game - one clue is the ability to compile COBOL apps directly to Java byte code or MSIL. Once you're here, the COBOL developer can pretty much use all the same things a Java or C# developer has access to.

 

 

Here's a snippet of COBOL code checking for a collision in the Blitz game:

 

       class-id CobolBlitz.Bomb inherits type Sprite.
 
       working-storage section.
       01 initialVelocity  type System.Drawing.PointF static.
 
       method-id. NEW.
       local-storage section.
       procedure division using by value gameState as type GameState l-x as float-short l-y as float-short.
           invoke super::Construct(gameState l-x l-y "graphics\bomb6x20.bmp" type GameObjectEnum::Bomb)
           set initialVelocity to new type System.Drawing.PointF(0 80)
           set super::Velocity to initialVelocity
       end method.
 
       method-id CheckCollisions.
       local-storage section.
       01 collide condition-value.
       procedure division returning ret as type Sprite.
           set ret to null
           perform varying thing as type GameObject through super::GameState::GameObjects
               if thing::ObjectType = type GameObjectEnum::BaseShip or
                  thing::ObjectType = type GameObjectEnum::Base
                   set collide  to false
                   invoke super::Collision(self thing as type Sprite) returning collide
                   if collide
                       set ret to thing as type Sprite
                       exit perform
                   end-if
               end-if
           end-perform
       end method.
 
       end class.
 
 
For the adventurous, you can download a free COBOL compiler including the game code here https://www.microfocus.com/product-downloads/vcpe/vcpe23/

Share this post


Link to post
Share on other sites

The best programing language for games and realtime software is C/C++, but i think that you can need other language if you want use an engine as unity, in this case you need know javascript or c#, if you want to use Unreal Engine you would need to know UnrealScript or C++. In a personal view point, i think that you need to know C/C++ is a good base to begin in videogames development, because there are other languages as java or c# with a sintax like C and that can help you to learn it quicly.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement