Archived

This topic is now archived and is closed to further replies.

Future of Game programming...

This topic is 5016 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

What will be the future of DirectX or OpenGL and what programming languages will be used... opinions... I heard some time ago that in the future graphics cards will not use either interfaces but use something else... DUNNO

Share this post


Link to post
Share on other sites
quote:
Original post by snyp
What will be the future of DirectX or OpenGL and what programming languages will be used... opinions... I heard some time ago that in the future graphics cards will not use either interfaces but use something else... DUNNO




I''m pretty sure that in the near future DirectX will cost big bucks and we''ll all have to empty are piggy banks or switch to OpenGL (unless you already use it of course). So get DX9 SDK while you still can...

But in the distant future, I''m sure that C/C++ will be replaced with a highly optimized game programming specific scripting language that will make game programming very easy, cost effective, and highly productive. It''s like anything else, as time goes on technology builds upon it self and makes every task that much easier. I predict (don''t hold me to it) that there will be highly advanced and versatile WYSIWYG editors that will probably make "game programming" a thing of the past (or present o_0).

Share this post


Link to post
Share on other sites
quote:
Original post by DIRECTXMEN
I'm pretty sure that in the near future DirectX will cost big bucks and we'll all have to empty are piggy banks or switch to OpenGL (unless you already use it of course). So get DX9 SDK while you still can...


Hahahaha... good one.
quote:

But in the distant future, I'm sure that C/C++ will be replaced with a highly optimized game programming specific scripting language that will make game programming very easy, cost effective, and highly productive. It's like anything else, as time goes on technology builds upon it self and makes every task that much easier.


What would make a scripting language game programming specific? Seems like a bit of a waste to limit the capabilities of a language to just games. I can see a lot of game programming being done in Java, though.
quote:

I predict (don't hold me to it) that there will be highly advanced and versatile WYSIWYG editors that will probably make "game programming" a thing of the past (or present o_0).


We've got those already, but they don't seem to enjoy much popularity.

[edited by - twix on March 24, 2004 12:01:49 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by twix
I can see a lot of game programming being done in Java, though.
quote:

I predict (don''t hold me to it) that there will be highly advanced and versatile WYSIWYG editors that will probably make "game programming" a thing of the past (or present o_0).


We''ve got those already, but they don''t seem to enjoy much popularity.

[edited by - twix on March 24, 2004 12:01:49 AM]


I really don''t see major game programming done in java (ie. like warcraft 3, half life 2, doom 3 type games) but I do see alot of small online games done in jave tho.

Share this post


Link to post
Share on other sites
quote:
Original post by snyp
What will be the future of DirectX or OpenGL and what programming languages will be used... opinions... I heard some time ago that in the future graphics cards will not use either interfaces but use something else... DUNNO

The question isn''t a matter of what graphics cards USE, it''s a matter of what hardware features the APIs support. As long as the standards are up to date, drivers that work with these APIs will be written. If someone rolls out an API that''s superior to DirectX or OpenGL (unlikely), the two may be abandoned.

Also, if (more like when) there are drastic changes in computer architecture, these APIs may be scrapped in favor of something with a cooler name, designed for the new architecture from the start.

Share this post


Link to post
Share on other sites
quote:
Original post by 3dmodelerguy
I really don't see major game programming done in java (ie. like warcraft 3, half life 2, doom 3 type games) but I do see alot of small online games done in jave tho.

Actually, when I said that I was specifically thinking of cellphones. If Longhorn is popular, C# will probably take over as the primary game development language on the PC since I've been told that unmanaged code will take a speed hit on that platform. With Microsoft pushing C# so hard, there'll be no justification for not using it.

[edited by - twix on March 24, 2004 12:14:11 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by twix
What would make a scripting language game programming specific? Seems like a bit of a waste to limit the capabilities of a language to just games. I can see a lot of game programming being done in Java, though.



Have you ever taken a look at Blitz3D? It handles all of the mundane/trivial/monotonous/etc. work that comes with the lower level languages such as C/C++.

Games are big biz. And I can see a language dedicated to game programming becoming very popular. It could have built in objects and types that we all have to create anyway when using C/C++. It could also have a "standard library" that would essentially be a game engine at your disposal. It could even have genre specific libraries like the MMOG lib.


quote:

We''ve got those already, but they don''t seem to enjoy much popularity.



But they''re not "highly advanced and versatile". Think about it, a WYSIWYG that is capable of putting together HALO 3 in a matter of weeks... But we are talking about the distant future, here.

Share this post


Link to post
Share on other sites
To predict what the future will hold you should look at what has happened from the past to the present. Programming is a hell of a lot easier, but video games are way more complex. It will probably continue like this.

Heck, maybe programming will become so easy that anyone can do it. You could make another Half-Life with nothing more then time, patience, and a little over a week of programming experiance.

Share this post


Link to post
Share on other sites
quote:
Original post by JonahB

Heck, maybe programming will become so easy that anyone can do it. You could make another Half-Life with nothing more then time, patience, and a little over a week of programming experiance.


True that.

Share this post


Link to post
Share on other sites
quote:
I''m pretty sure that in the near future DirectX will cost big bucks and we''ll all have to empty are piggy banks or switch to OpenGL (unless you already use it of course). So get DX9 SDK while you still can...


Actually when Microsoft first released Game SDK (Direct X was called this at first) they tried to charge $500 for access to it. They changed their minds.

Share this post


Link to post
Share on other sites
Many of the big development houses already consider Lua to be that game scripting language.

Why would MS charge for DX SDKs? They want developers to choose their platform to develop for.

Share this post


Link to post
Share on other sites
quote:

But in the distant future, I''m sure that C/C++ will be replaced with a highly optimized game programming specific scripting language that will make game programming very easy, cost effective, and highly productive. It''s like anything else, as time goes on technology builds upon it self and makes every task that much easier. I predict (don''t hold me to it) that there will be highly advanced and versatile WYSIWYG editors that will probably make "game programming" a thing of the past (or present o_0).



What you are describing sounds like C# and managed directx. Right now we are already seeing a lot of people starting with directx programming that would never do it in C++ because of the complexity and hard work you need to get even simple things done. A scripting language has its disadvantages, but C# and VB.NET are just as simple, yet as powerful as C++ and are compiled languages.

This is the future of course, C and C++ are still primarily languages that abstract simple memory manipulation and conditional jumps. But it''s still a language that manipulates 4-byte ints, anything more complex and you''re working with pointers. You can assign an int to another int, but if you do the same with a string you have to be careful not to just create another pointer to the same memory. Not to mention the neverending tasks of knowing how to work with std::strings, char *, char[].
Passing pointers just to be able to use writeable arguments in functions is another such thing. In Delphi you can just make a function definition as "function x(const x: string; var myoutput: string);" and the compiler will compile it to reference (pointer) or value (copy) passing as required, without the programmer having to remember if that function takes an int, an int * or an int**. Not to mention having to mention "(BYTE **) &buffer" as a parameter. A smarter language would free the programmer of such tedious low-level tasks.
It''s crazy that you can call delete and delete[] on an array and one of them works and the other one fails silently.

I am sure that within a year there will be hundreds of small amateur games using C# and managed directx available and most people will have the .NET framework installed already because they already have software that uses it.

I started again with C# a few weeks ago, and it''s just very easy and productive. A class here, a few members, methods, some properties, 20 lines of code, and you''re moving on to the next class. I did more in a week than I did previously in a month.

Share this post


Link to post
Share on other sites
quote:
Original post by DIRECTXMEN
Have you ever taken a look at Blitz3D? It handles all of the mundane/trivial/monotonous/etc. work that comes with the lower level languages such as C/C++.

Games are big biz. And I can see a language dedicated to game programming becoming very popular. It could have built in objects and types that we all have to create anyway when using C/C++. It could also have a "standard library" that would essentially be a game engine at your disposal. It could even have genre specific libraries like the MMOG lib.


The idea is that there is no difference between a "game-specific" scripting language and one that simply has game development libraries written for it. The whole issue depends on the power of the abstraction mechanisms the language provides, not what components it comes with by default. Right now, I could take Lisp and show you a language that you would have thought was designed for games and nothing but games.
quote:

But they're not "highly advanced and versatile". Think about it, a WYSIWYG that is capable of putting together HALO 3 in a matter of weeks... But we are talking about the distant future, here.

Possibly, but I think that people will always demand more realism and new features for their games. A *complete* WYSIWYG editor essentially relies on knowing every feature that a developer will need already being part of the package, which may not ever even come close to happening for games. But we'll see.

Also keep in mind that a game like Halo 3 can never be created in a short timeframe, because most of the time is spent creating content, not technology. That's the way it should be, but content still takes forever to make. The real future of increasing game development productivity lies in the area of content generation, I think.

[edited by - twix on March 25, 2004 10:24:50 AM]

Share this post


Link to post
Share on other sites
I don''t think that games programmers need a new programming language; nor do I see them using C# / Java massively (Except when programming small Microsoft and J2ME devices respectively)

I think that games programmers already have the ideal language - C++. Using new better implementations of STL and compilers that suck less, and better tools, C++ can easily perform as well as Java in terms of programmer performance (which is of course much more important than runtime performance anyway).

I read something about Apple / PowerPC having some CPU-specific implementation of STL which uses its own processor instructions to accelerate STL operations - I wonder if M$ will include something similar in Xbox 2 (Which will use PowerPC) - maybe it''s an IBM library?

Once we have a hardware implementation of red-black trees, STL implementations will really start to fly (Not like they''re particularly slow already). Then all we need is for Nvidia (or whoever) to make a C++ compiler for their GPUs which can run C++ vertex programs... (Along with a D3D / OpenGL STL container thingy which gets vertex data into the GPU blisteringly fast)

I am in general in favour of using fewer programming languages and greater standardisation.

Mark

Share this post


Link to post
Share on other sites
Although I say this mainly out of my own strong dislike for C++, I think that it is very, very far from an ideal language.

I don't want to argue about specific benefits or faults of C++ because it's been done before many times, so let's just leave it at this: Personally, I find myself much, much more productive in Java, C#, Python, and Lisp, even though I've used C++ for longer than all of the above put together. It's such an archaic and illogical language that I find it annoying to go back to whenever I'm forced to do so for a project. But then, that's just me.

But all of that is beside the point, really, because if Longhorn becomes the next Windows XP, C++ is doomed (at least on the PC). Microsoft will inevitably abandon C++ support in order to shove C# down our throats, and C# will not only become more convenient to use with Microsoft APIs, but slightly faster at runtime as well. And furthermore, it's entirely possible that managed programs will rapidly proliferate to the extent that users will be reluctant to run dangerous, unmanaged code at all. It may even become exceedingly difficult to get it to work, similar to the phasing out of DOS support in Windows XP. Frankly, I say good riddance. C# is a nice language.

[edited by - twix on March 25, 2004 7:27:18 PM]

Share this post


Link to post
Share on other sites
twix: without wanting too much to turn this thread into a flame war, I have to disagree.

Whilst C# is quite a nice general purpose language, I find the power of C++ so much better. The flexibility if offers you is unparallel, OK, so that includes the flexibility to make broken or lame programs (C# prevents some common errors and tries to encourage good practice), but it gives experienced programmers who want to use advanced techniques a lot more opportunity.

The whole point (According to MS anyway) of the .NET framework was to allow multiple / different programming languages to be used. If we can''t use C++ to its full benefit (i.e. NOT just using it as a slightly different syntax C#), then it is a failure.

I think we *should* be able to use templates, generic programming, function objects and other clever stuff. These constructs make our programs more beautiful, more efficient and more importantly, smaller.

If MS insist on ramming C#''s vanilla semantics down my throat, I don''t want to know.

Sure, they''re fine for web apps where you don''t really want to do anything particularly clever, and some parts of their library are well designed, but I do still like my C++.

I have no experience using managed C++ with .NET, but if it doesn''t allow me to use the language to its full ability, I am not interested.

The same goes for other programming languages with significantly different semantics from C#.

Look what they did to VB - Ok, I have no love of VB (in fact I think it sucks), but they essentially alienated VB programmers by turning it into a front-end for C#.

I think that like human languages, it''s good to have multiple computer languages - each comes (like human languages) with its own culture. M$ seem intent that we should all switch to their C# culture, which while distinctive, is not what everyone wants.

The C++ tools need some way to go to catch up with the Java (/ C#) ones - but they will get there. C++ is complex, but very powerful.

Mark

Share this post


Link to post
Share on other sites
quote:
Original post by markr
Whilst C# is quite a nice general purpose language, I find the power of C++ so much better. The flexibility if offers you is unparallel, OK, so that includes the flexibility to make broken or lame programs (C# prevents some common errors and tries to encourage good practice), but it gives experienced programmers who want to use advanced techniques a lot more opportunity.


The only power that C++ offers over C# is direct memory manipulation, which I contend is a complete and utter waste of time for almost any application. For a game you end up writing a memory manager anyway, mimicking the features of C# with a somewhat uglified syntax.
quote:

The whole point (According to MS anyway) of the .NET framework was to allow multiple / different programming languages to be used. If we can't use C++ to its full benefit (i.e. NOT just using it as a slightly different syntax C#), then it is a failure.


Actually, you can use managed C++. It's just that it requires some annoying contortions and there's really no point to it.
quote:

I think we *should* be able to use templates, generic programming, function objects and other clever stuff. These constructs make our programs more beautiful, more efficient and more importantly, smaller.


All of the above are present in the C# standard (and will be in our compilers next year), and are syntactically and semantically much nicer than what C++ has to offer. Templates are one of my biggest gripes about C++, and many of the problems I see are being remedied in C#'s generics.

I REALLY didn't want to argue about this, but I've recently found that I'm physically unable to back down from a potential argument. Perhaps we should continue this via email? Mine is in my profile, in the web site field.

At least, I hope you don't disagree the real point in my post, about C++'s inevitable fall in popularity if Microsoft's strategy is successful.

[edited by - twix on March 25, 2004 8:24:54 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi
<offtopic>
Interesting to have a thread debating the "future of game programming" in a forum for beginners - the people least likely to have informed opinions.
</offtopic>

If you think it''s stupid, then move the thread elsewhere.

Share this post


Link to post
Share on other sites
Why, so more twits can argue about "the future"?

We don''t know the distant future. We can speculate, but unless it is our job to turn such speculation into reality - and I mean our current job(s) - then it''s a waste of time. Focus on your current project, then your next one, and so on. People dedicated to improving tools will continue to do so, and you''ll get nicer toys to play with.

Unless you want to be a tools developer.

Share this post


Link to post
Share on other sites
quote:
Original post by twix
At least, I hope you don''t disagree the real point in my post, about C++''s inevitable fall in popularity if Microsoft''s strategy is successful.
[edited by - twix on March 25, 2004 8:24:54 PM]


No, that I don''t disagree about at all.

I do believe that a lot of programmers will be weaned on to C#; is is a kind of sugary mix of inoffensive things which make life generally easy for the middle-of-the road programmers writing business applications and web applications of not-very-high quality.

And of course, in comparison to the same middle-of-the-road programmers attempting to write the same programs in C++, the results would be much more pleasant (i.e. they still won''t be particularly good, but at least it won''t crash as often)

Your argument about memory management is more or less completely baseless - you can do automatic memory management pretty easily in C++ (thanks to templates), but actually have a lot more control over it than in the likes of C#.

I have not yet seen what Generics do in the upcoming version of C#, yet I feel sure that it doesn''t even scratch the surface of what Templates do in C++ (although again, it may satisfy the lame middle-of-the-road programmers).

C# is like "Pret a manger" chain of sandwich shops - it won''t make anything truly vile, nor harm you, but nor will it satisfy the gourmet appetite.

Mark

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi
Why, so more twits can argue about "the future"?


No need to be insulting.
quote:

We don''t know the distant future. We can speculate, but unless it is our job to turn such speculation into reality - and I mean our current job(s) - then it''s a waste of time. Focus on your current project, then your next one, and so on. People dedicated to improving tools will continue to do so, and you''ll get nicer toys to play with.

You may say that speculating about the future is a waste of time, but it''s human nature to do so, and if nothing else, it''s interesting to consider the possibilities. It''s no less valid a topic than anything else on these forums.

Share this post


Link to post
Share on other sites
quote:
Original post by markr
Your argument about memory management is more or less completely baseless - you can do automatic memory management pretty easily in C++ (thanks to templates), but actually have a lot more control over it than in the likes of C#.


It's a matter of personal opinion, of course, but IMO it is nothing more than reinventing the wheel for a dubious purpose. I don't care about "control", I want to get the job done. You can complain about lack of control when C# creates a tangible problem with it, but I don't want to hear about it until then.
quote:

I have not yet seen what Generics do in the upcoming version of C#, yet I feel sure that it doesn't even scratch the surface of what Templates do in C++ (although again, it may satisfy the lame middle-of-the-road programmers).


Please, do some research before you make statements like that. Generics easily match the feature set of templates, and more.

Edit: OK, I take that back. They don't allow template metaprogramming. But these advanced template "features" are the kind of hackery that I'd want the programmers on MY team to stay far away from.

[edited by - twix on March 25, 2004 8:48:05 PM]

Share this post


Link to post
Share on other sites

This topic is 5016 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.

Guest
This topic is now closed to further replies.