Re: [Plib-devel] Re: KobayashiMaru & plib
Brought to you by:
sjbaker
From: Steve B. <sjb...@ai...> - 2000-08-11 08:42:55
|
Alexander Rawass wrote: > > You just need to practice and learn GIMP. It's not that hard to draw things > > like instruments, little icons and such like. > > No way. Not for me. Better a good game with bad graphics than to take > this big big leap. You don't have to do it full-time. It's not like a maor career change - but this is something you'll find to be an increasing necessity. Drawing things like your radarscope out of lots of little OpenGL commands just doesn't make sense and expecting someone to come along and say "This game that runs like a pig and looks terrible could be greatly improved if I spend a few hours painting some pictures for him"...well, it's just naive. > > But do you really believe that as a beginner 3D programmer, you will manage to > > write a single game that spans deep space PLUS flight sim PLUS hand-to-hand > > combat and integrates all those seamlessly? Not one single game throughout > > the entire history of game making has ever been that ambitious. Not one. > > Why? My answer is: > > it is commercially better to write a gaming engine and make 1,2,3,4 games > out of it and sell them all for a high price, than to write the > universal gaming engine that sells just once. Well, commercially, the games industry made 7.2 billion dollars last year, but only one game in 35 actually turned a profit. By contrast, the Holliwood movie industry made 7.4 billion and one in ten films turned a profit. Game making is a **HUGE** and extremely risky business. If you manage to make a success out of game #1, you'll certainly be making game #2 with pretty much the same themes/engine/etc. Utterly universal game engines don't exist because they can't exist. There is a galaxy of difference between a first person shooter game engine like Quake or Doom and a flight simulation engine like FlightGear. The idea that you can just change the model and program some different behaviours in is very naive. > I was pissed of by the fact that XwingAlliance had no 'strategic mode', > I had already dumped KobayashiMaru in version 0.1.9 when I was pissed > of by some friends of mine who claimed Homeworld to be great, but it's > completely missing an action mode - I expect another will will have that > and no action. > > I am pissed of by ST Armada, I've seen it on a friends computer, > the graphics are great but I haven't seen any feature that KobayashiMaru > version 2.0.0 is not yet designed to have. When you actually *have* all that working, I'll be impressed - but in the meantime, it sounds very much like vaporware. As your first 3D game, it's unlikely that you could master one genre - let along three or four in a single title. > You told me in a former mail, that the abstraction layer between the game > and plib costs time, put I am big in abstraction this times, > and if you write a simple starfighter game, you suddenly lean back for > a while, abstracting even more and more, and then you'll have a thing > that can handle anything. No - you won't. You'll have an unimplementable design. Start simple. Design one game in one genre. Just wait and see what actually comes to bite you. Simple things like collision detection, best use of the Z buffer and where to place the camera are unbelievably subtle - and DRASTICALLY different in every genre. Also, that little thing "performance" doesn't just appear from an abstraction layer - it has to be tightly engineered at the lowest levels - the way you make a FPS run fast is TOTALLY different than a space game or a flight sim. > Just wait. I don't have to. I just hope I can pursuade you to make your first project something remotely achievable so you don't get discouraged when it won't all come together at the end. > I have come to the conclusion that all these games are 'the same'. Really, you couldn't be more wrong. FLightGear, TuxAQFH, TuxKart, TuxRacer and others I have worked with couldn't be more different in approach. > Lean back and abstract. But eventually - just try to implement it all! > I am only a 3D beginner, and these problems have either been solved > already or will be solved with your help, but I think that I am > very well capable in designing that huge game and writing it. Well - I'm trying my very best to explain it to you - but you keep coming up with grandiose plans - and my best advice as someone who'se been programming this kind of thing for 27 YEARS is that you need to come down from this ethereal plane and actually implement a couple of more tightly focussed designs before you leap off into the void as you are about to do. If you think you'll get a lot of help from me when I can clearly see what's going to happen here - you have another think coming. I'll quickly lose patience and you'll end up on my mail filter list. You are asking for advice - and I'm giving it. Choose to ignore me if you like - but don't expect more help if you do! When you start to ask things like "How the heck to I draw Laura Croft's boobs at a range of 10 centimeters - as well as the spiral arm of galaxy XYZ-34 in the background?" or "How do I allow space ships to fly into holes in asteroids - as well as have people stay stuck to the ground - and at the same time allow missiles to collide with 1,000 polygon spacecraft models"....remember my words. > I've got so many ideas, I don't know where to start next. It'll get *MUCH* worse before it gets better. > > Remember that *very* likely you'll be doing it single-handedly with no > > artistic or music input? > > It will surely a game that will be a lot better than other commercial > games, but I also think that graphics and sound will suck. Relatively. A fancy game engine without good graphics will be *terrible*. Good graphics consume 95% of every game development team's time, 95% of the time in the CPU, 95% of the disk space the game consumes. If the graphics suck - you are back to writing games like Tetris that don't *need* fancy graphics. > No one will of course play such a game, exept the Linux-GPL-Freaks, ...not even them. > My friends told me the same - time will show, on which classes I'll > continue working. OK - so *everyone* is telling you the same thing. People with 20 times the experience in this stuff are telling you. > > > I'd like also to include your 3D Terrain Rendering Engine in my game, > > > if it could be easy to access it like > > > > The 'terragear' spin-off project is like that - but if you are > > planning to have things zoom around at several times the speed > > of sound, you'll need a LOT of terrain. Many, many megabytes. > > No more than in Flightgear itself. You'll wonder how slow > 'several times the speed of sound' can be in an action-type based game. No - I won't - unless you have terrain that covers literally millions of square miles and doesn't look 'sameish'. > Or: the resolution of the terrain has to be decreased. ...at which point, the amount of 'optical flow' (tekky flightsim term) will fall off - and it'll feel like you are going about 50 mph. The Apollo 11 astronauts were flying faster than any man has travelled before or since. However, between the earth and the moon, the resolution of the "terrain" is pretty poor - and they felt like they were stationary. When you get the amount of data up to where it *feels* really fast, you'll need so much data that you'll have to page it in from disk in realtime (that's what FlightGear has to do - and most of it's planes fly at about 200mph!). You can help this out by designing the high level game play to make it undesirable or impossible to fly in a straight line for more distance than the terrain you can hold in RAM - but now your high level abstraction has to be bent to fit the ugly facts of life. You can't "abstract" your way past that in your game design. You see there are *so* many things you don't know that FUNDAMENTALLY affect the design of the game. You'd have gotten all the way into implementation before you realised that this was your problem - and then you are suddenly faced with a MAJOR redesign so you can page stuff in from a background task. > > That's *VERY* naive. Have you thought about collision detection yet? > > At the moment, collsision checking in KobayashiMaru isn't done in > plibssg level but on my intern logical level. But collision (at least at the scale of ground-based simulation) requires knowledge of where every single polygon is. You can't do that without plibssg. > The same collision checking will work for cars - only, that the cars are > limited in z axis to the HOT they're on. Not good enough. How will you detect when the car goes under a bridge? Or under the place where the bridge joins the terrain and there isn't enough room to go under the bridge - but the side-walls are just to high to drive *over*. What happens when your speed is so high that at the start of the frame you are cleanly on one side of a brick wall - and at the end of the frame you are cleanly on the other - you *should* have hit the wall on the way - but does your algorithm solve that? Efficiently enough? Think you can solve that? Now apply that algorithm to a spaceship going at 0.8 times the speed of light towards another spaceship on a collision course. Done that? Now worry about how our heroin can get into a small space if she crawls - but not if she's standing up. What happens if she crawls into a passageway that GRADUALLY gets smaller until she can't fit anymore? What happens if you are walking along parallel to a wall - carrying a long weapon - and the player pushes the joystick to turn in to face the wall. How do you stop the weapon penetrating the wall? Did your collision detection even *detect* that situation? If the camera accidentally penetrates the wall, you'll see what's on the other side of it. Do you prevent that (very hard) or do you simply design the high level game play so it never really matters? This stuff is *HARD*. Picking just one genre helps you to get through it. > I _can_ do all the game logic - but I have to rely on 3D on people who > know better, like you. No! You *can't* do all the game logic because it's horribly intertwined with the 3D that you don't know enough about *yet*. Look dude - I'm sick of these long posts where I tell you that you are a newbie who doesn't understand how hard it is...then you tell me that you have it all solved in your head somewhere. Then I tell you that I've been there and done that and it's HARD - and you wave the magic "abstraction wand" so you don't have to think about it. If you don't want to come down to ground level and think rationally about what you can actually achieve (*especially* with no desire to learn art skills) - then I'm not interested in talking to you anymore because any attempt at help is just wasted effort. I mean, it took like FOUR posts to convince you that all that font stuff was the cause of your slowness and *not* PLIB. If you ask for advice, take it with good grace or get out. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |