how to keep up with progress of technologies?

Started by
18 comments, last by Gammastrahler 20 years, 2 months ago
hi, i was wondering how it is possible to keep up with today´s fast growing of new innovations of graphics cards etc. each new graphic card / directx version comes with so many new features, shaders, techniques, etc. so that as a non-professional single programmer you´re gonna get mad :droll: what is the best way? 1. only support the newest techologies or at least the most recent. 2. support the "basic technologies" (from Geforce 3 up to today´s cards). infact, the Geforce 3 is not very old.... 3. support all graphics cards downto... geforce 1?? riva tnt? many books about DirectX 8 are outdated now, since now there is DirectX 9. And soon there will DirectX 10.... you need to write many render paths, features which are not present at an older model needs to be simulated in software if it´s possible. this housekeeping is not very funny... what do you think? would be glad to hear some answers / suggestions greets Gammastrahler
Advertisement
As a "non-professional single programmer" (I assume that doesn''t refer to marital status - I know, bad joke), build on the work of others! Let other people write engines that implement dot-shaded-bump-vector-cross-pollinated-map-quads or whatever, and you use those engines to write games. Because that''s what you wanted to write, isn''t it?
Other than the advice Oluseyi gave you, I can say only this: Stick to what you know. Learn the things you want to learn. As a "non-professional single programmer" you are probabely not going to write Doom 4 any time soon. Just because DX10 is coming out doesn''t mean you need to use all it''s new features. Heck, I program on a TNT2 card with basic extensions. You can still create great looking games on it, no sweat. If you are used to writing for GeForce 3/4 then stick to that.

Don''t try to learn every possible new technology. Learn what you like to use and stick to what you know. Only in a (semi) professional team enviroment is it viable to absorb every new technology that comes along.

Sander Maréchal
[Lone Wolves Game Development][RoboBlast][Articles][GD Emporium][Webdesign][E-mail]

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

Even as a professional you don''t need to know everything. Specialize in those pieces you are interested in working on.
I have a different strategy. I try and think of something that will only be possible in 2 or 3 years time. That way by the time I as a single hobbyist developer am likely to finish a project it will be up-to-date. I also am less likely to get put off and demoralised when I find out that someone else is doing something similar, because even if they ''beat me to it'' by having more resources, they can''t release the thing until the technology supports it.
It is not about showing what''s possible with the hardware, you better leave that to Carmack. Instead focus on what you think your game needs and try to implement that. Nobody is waiting for a sucky game which use pixelshaders.
quote:Original post by Anonymous Poster
Even as a professional you don''t need to know everything. Specialize in those pieces you are interested in working on.
I agree with this sentiment 100% ... you need to pick at least 1 thing to specialize in. For example, your "forte" could be in AI, or it could be in creating 3D engines, or it could be in UI design (you know, the "other" stuff no one else wants to do). It''s better to be regarded as a professional in one thing, than an average dev in all things.

That''s pretty much the approach I''ve taken in my career ... sadly I haven''t broken in to the gamedev industry yet, but I''m doing pretty ok for myself as a regular programmer. My strengths are in database programming ... everything else just follows suit.

Joel Martinez
http://www.codecube.net/
Joel Martinez
http://codecube.net
[twitter]joelmartinez[/twitter]
Actually directx 7 books were obsoleted by 8, because 8 was such a big change. It made a lot of things a lot simpler, phased out old techniques like directdraw and introduced many new ones.
DX9 is more modest, a few parameters are different here and there, and there are a few new things, like animation controllers. But generally speaking you can still use DX8 books or tutorials.

Your code could query the device''s capabilities and adapt to what is possible. For example define objects with multiple textures, then use either as many texture states as the hardware supports, or make multiple draw calls with texture blending.

Some things are really simple, like in the initialization query the D3Dcaps can be queried for hardwaretransformandlight, and in an if/else set the mode to either software_vertexprocessing or hardware_vertexprocessing. That has been possible since the geforce 1 from 2000. Yet I still see many demos and source just use software mode.

You could have eg. a wall with a texture and a height map, and use pixel shaders to get that nice displacement mapping effect that was posted here recently, or if your hardware doesn''t support it just draw the texture and get a flat wall.

It''s good to keep informed about the latest techniques and possibilities, read demo source code and if possible implement them. It''s not good to say to yourself ''oh I am just a beginner so I''ll just make a game with single-texture blocks, no meshes, no lighting, and have the game look worse than 1997 games.

Just use what you think will be good for your game. It''s not neccesary to start learning and using pixel shaders if you don''t know where in your game you can get better results.
I say don''t keep up. Work on making a good game instead of a pretty demo. Just about everybody has a pretty demo. All the professional companies are making pretty games. If you want to stand out, you need to do something different. I suggest that the thing you do different is placing your focus on the game instead of the graphics.
As long as your models are not just textured tetrahedrons(assuming you even go 3D; it isn''t required), it looks good enough. Get some skeletal animation in there and sphere mapping and dang it looks awesome =-P
I suggest using half-life as a benchmark. If your game looks about like that, its plenty good enough. If it looks better, you''re spending too much time on graphics and not enough on gameplay =-) If you want to make your game look awesome, finish it looking like half-life and then after you release it, you can release high-definition packs that replace the render dll and add larger textures and displacement maps etc.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Use opengl instead of direct X. openGL books aren''t ever obsoleted.

This topic is closed to new replies.

Advertisement