how to keep up with progress of technologies?

Started by
18 comments, last by Gammastrahler 20 years, 3 months ago
even professional game developers have to rewrite their graphics engines if the development process takes too much time (see Crashday, they are just rewriting their engine for dx9). with the right abstraction, you can make your game flexible enough to enhance it at any time without breaking its main structure. this is what im doing in my project. i choose some effects available today, implement them, and then focus on other things, that i think can race against professional ones (physics, ai, gameplay). im planning that my project will be ready in about 2 years. of course its very expensive, becouse you need to use high-end hardware. for example now i will ahve to invest in a Radeon9600XT, becouse i have decided that it will be the minimum requirement of my engine. I also have to upgrade my CPU and memory to be able to handle high detail physics calculations.
Gammastrahler, i think you should not try to keep up with these new features, it will just make you feel desperate.
and that half-life example was really good. look at counter-strike for example. its pretty outdated, but its still looks awesome becouse mapmakers do a great job (very very detailed maps, with high quality textures).
not even doom3''s success will be in its revolutuinal graphics. with a poor gameplay it will fail (i dont afraid of this after trying the alpha version). fancy graphics is only marketing. when playing a good game you rarely care about graphics
"Knowledge is no more expensive than ignorance, and at least as satisfying." -Barrin
Advertisement
Bottom line: Just finish it.

A finished game with bad graphics is better than a incomplete game with awesome graphics. Even then, a finished game with bad graphics is better than a cool tech demo.

This is even more true if you are a solo developer doing it as a hobby or just starting out. Choose what you can do at the beginning (APIs, tech, design, etc) and just go with it.

Even if something better comes out in the mean time, by finishing your project, you will have learned more to apply it to the new tech, than stopping mid-stream and learning it all over again.

Recently that Truck game came out and UGN gave it a 1%. People laugh, but guess what? It is done, and on the shelf. Those programmers now have a title under their belt and more name value.





[edited by - taulin on January 24, 2004 3:41:09 AM]
I''m with the others, you should write what you know and can do now, if you plan for 3 years out, whos to say what you write now won''t have to be re-written because of whatever changes take place? What if you guess wrong?

As someone writing stuff on my own, I write whatever I can figure out and get working and also whatever works on my machine right now. That works out ok because my machine is pretty low end at the moment, so it just runs better on modern machines.

It''s also pretty easy to add in scalability in one form or another just as part of the system.

For example if you have some sort of level of detail system or mesh simplification stuff, that''s stuff that can be exposed via a config file or options menu, so your game can scale with time.

A lot of ''professional'' developers get caught up in this chase for the latest and greatest features, and they end up not finishing, or finishing significantly later if they would have focused on finishing the game.
quote:Recently that Truck game came out and UGN gave it a 1%. People laugh, but guess what? It is done, and on the shelf. Those programmers now have a title under their belt and more name value.


you can''t seriously believe that a horribly broken, horribly presented game is better than nothing. It''s not, it''s much worse. They would have been much better canning that game because they obviously didn''t have the time / resources to finished it properly. You''ve got to have some pride in the kind of games you release !
what kind of truck game are you talking about? (im just curious, i like racing games).
personally i never could imagine releasing a game that sux. ive seen so many horrible games, and i dont understand, why dont they have any self-criticism (maybe they are pushed by the publisher, i dont know). but i couldnt release a game that im not proud of...
"Knowledge is no more expensive than ignorance, and at least as satisfying." -Barrin
To be honest, since Wolfenstein 3D came out I have been struggling for some years to keep up with the big guys, effectively yielding 0 finsihed games. Before that I was far more productive doing my own thing.
Today I take pride in making a living out of relatively simple Shockwave games and I even returned to DirectDraw to finally finish this platformer I always wanted to make. In the mean time I am still working on 3D, but I dropped the thought of competing with the commercial stuff I see. In a way you could say that my ambition was set too high which badly influenced my career (maybe I will write an article about it one day: ''How not to become a game developer'' ).

If you want a job in the industry instead of working on your own you better focus on a single discipline and get really good at that, as said before.
My approach to keeping up with technology is to write algorithms for the future and wait for hardware to advance to its level.

Intro Engine
This is the strategy i use now,i hope its usefull to someone.

I started off with my project using DX8.Actually,i was using Jim Adam''s rpg engine code at that time.

I tried Open GL for a while,ported some code,then went back to DirectX.

After my skills progressed,i started completely from scratch,(DX8.1 was long out by this time).

One tip i can give anyone(just trying to be helpful) is finding a good structure for your engine.

Very important,and i''ll tell you why.

When DirectX9 came around,i had a lot more knowldege,and started wanting other features.

I had to completely ''gut'' most of the code i had written.After 3 attempts at porting Jim''s code to DX9,i finally re-wrote all of the mesh handling code.Added skeletal animation,and added stencil shadow volumes for animated characters.

I wrote an exported for 3ds max 4.2,then 5 came out.I updated my code.

I had already written my own format for level geomitry/BSP,and this had to be updated also,to handle other things i wanted.

I rewote the stencil shadow code to make use of shaders.

To cut a long story short,after graphics coding,the gameplay is the hardest and where most of my time is spent.Seriously,this is the hardest part of all.

Anyone who play''s game''s all the time,will recognize when your own gameplay is bad or not good enough.After all its a game,not just a 3D walkthrough,which mine was.(though 3rd person).

Iv''e got a fairly decent engine together now,with its own level editor,scripting system,that''s quite up to date,except one major thing is missing.The gameplay.And so 90% of my time now is
focused on actual gameplay,and the other small ammount is updating or adding features.

At some point,i am going to try to port the whole lot,to c#.(after i learn c# well enough).
which may be more of a bigger task than just updating to a newer version of DX9.

So i''ll probably be posting here,asking all the c# gurus for advice with that

Hope this helps,

Paul.
My strategy with my project has been what alot of people here have said: Stick to your guns. If you flinch every time a new shading language comes out or the maximum texture size doubles, your programs are bound to get locked into Duke Nukemesque rewrite loops.

I have a Geforce 3, so I''m writing my game to take advantage of the features of a comparable card--vertex programs, for instance. Tame, but not lame. Meanwhile I''m glancing over specs for later OGL extensions and the like so that if for some reason I was forced to work with them I could get started, but I''m concentrating on stuff I can use right now, and then emulating those effects with older functions for older cards.
My best advice is to write the game first. And then start putting together the technology. Decide on a genre (or mixture thereof), devise a good story line, make a list of MUST HAVE features in a game, make a list of DO THIS IF YOU HAVE TIME features and leave an open space for stuff you might be able to do when the new technology arrives.

As far as writing the games, if you look around you will find pretty much everything you need. Heck, I''d be willing to bet that some time searching here on GameDev would provide you with about 90% of the code for a solid graphics engine. Probably multiple ones in fact. The technology should be last when it comes to writing the game even though it does turn out to be one of the most important factors later on. Like was stated before, as a solitary programmer you will find yourself copying off stuff other people have done. Not really copying code but implementing features for which there are nicely done algorithms (and possibly code) floating around. You might even get lucky and add some feature noone else has though of. None of that will really matter if the game itself is fun.

Everquest 2 is coming out soon and MAN does it look good. However, my opinion is that if EQ2 was left to look even as good as EQ1 but the programmers spent more time reducing load times, lag and adding content and changing the style of play then the game would be a hit. Sure the graphics and other technologies are great but in the end, it''s the story or actual gameplay that''s going to make it a game to remember.

Webby

This topic is closed to new replies.

Advertisement