Question

Going to create a small game with OpenGL as a side project. Going to be a top down shooter with emphasis on large numbers of enemies (the more the merrier)

Thinking about having the resolution max out at 800x600 (for an old school feel)

What language would you recommend, is C# capable of handling the number of entities I want on screen (60-100) or should I try out C or C++ or even some other language.

Do you have any other suggestions when going for a project like this, special documentation you recommend etc.

Was it helpful?

Solution

C# is easily capable of handling a few hundred objects at once. The real speed issues come from rendering, which will not be in C# space, and possibly any computation you want to be done for each object, such as physics. Ideally you'd be using a library such as Box2D or Chipmunk for that anyway, making C# speed a non-issue there as well.

I'd personally be willing to write a game such as this in even-higher level languages than C#. C# should easily suffice.

OTHER TIPS

On the scripting languages tip, consider the excellent Pygame in python:

http://www.pygame.org/news.html

Or the newer LÖVE in Lua

http://love2d.org/

For a top-down shooter both are probably excellent choices.

Have you considered Haskell, D, or ADA?

C# will definitely be able to handle a paltry 60-100 OpenGL-rendered entities on any reasonable hardware.

Generally, for a project of this scope I would recommend using whatever language you want to learn next.

Your project scope isn't huge, but is meaty enough that it would probably stretch your knowledge of the language you choose a bit. So choose one you want to get better in.

I've only ever dabbled with it but LWJGL will facilitate a Java version. All of the in-house games at puppygames.net are done in Java with LWJGL, for instance, and curiously they too are top-down or side-on blaster style games.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top