Archived

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

Should gamedev be so hard?

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

I was just wondering, why should people have to go through all the trouble of coding and stuff when there are alot easier ways to get things done without the loss of speed or quality? I was just wondering, creating games is like scripting and action movie and fleshing out our creative fantasies. Shouldn''t there be tools (like authoring tools but maybe a bit more portable) for those people out there who have a hard time reading code but REALLY want to design or work on game projects? It doesn''t seem fair, most people here are made out to be these math geniuses and claim they can do anything and enjoy the challenge of creating this advanced math 3d engine, but there is another half(and you all know it) that starts an ambitious project and fails to complete it because there is a segment of coding on the project that to them, becomes uhh, boring. So before you call me an idiot or a retard or something like that, saying I should know this advanced math, I''m working on it, I''m in grade 10 now ( Wow i guess this leaves me open to replies from kids who learned C when they were 6, lol! ) and I''m reading books, but at least try to see it from my point of view Greg K.

Share this post


Link to post
Share on other sites
A couple things wrong with your proposition:

1. These game tools can never be so good that they can replace real coding. Therefore, there can never be games that are made with these tools as good as those that were "legitimately" coded.

2. The game tools you think of could never be as simple as:

CreateGame(QUAKE_LIKE, HIGH_QUALITY);

So those who really want to create a game, but don't want to work at all, won't make one anyway with these tools.

3. If everyone could make games, everyone would!

4. Game development does not involve too much number crunching and advanced math nowadays, even in 3d. Check out OpenGL (and probably D3D in DirectX 8) and you will see that a lot of the work is done for you. The most needed is matrix math (not too much), geometry, and algebra.

5. That "other half" that you speak of, the ones that can't finish their first project in cloning Half Life, do not really understand game development. You HAVE TO START SMALL! IMHO, of course. These people will never finish a game.

I have other reasons, but I just can't think of them right now

Martin



Edited by - lpsoftware on July 11, 2000 9:31:12 PM

Share this post


Link to post
Share on other sites
Greg - I understand fully what you are saying. But I don''t know if I can fully agree with you on some things. Do we really want Game Development to become so easy...and even moreso..is it possible to make it so easy. There are game creation tools like you mentioned, but they aren''t that great. To make a great game to fully embody your vision and your style, making it from scratch would be best. And don''t let other peoples Math and coding skills hold you back. I''m still a newbie at GameDevelopment, and I know it can be hard, but I am glad it is hard. Game Development is an art, if it were easy, then any dumbass could go around saying they made a game. Then what satisfaction could you get from saying you made a game if it were so easy to make one? I think busting your balls to get even a small feature implemented is incredibly satisfying when you know you did it. I completely see your view and understand what you are saying. Even though I suck compared to all of these "Math and Code Gods" in here probably, I never find programming to be boring. Its always fun for some reason.

Share this post


Link to post
Share on other sites
I know what you mean. I suppose that the people with the creativity, but not as much mathamatical and programming knowledge are the ones who become "game designers" instead of "game programmers".

- Daniel

Share this post


Link to post
Share on other sites
I see what you are getting at, but...

There is a big feeling between using something someone else made and something you made. Making your own tools/programs/games is half the fun. Where would the challenge be with out it?

Shrapnel Games

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The truth is, there ARE such development plateforms. DarkBasic is just a good example of a simple game programming language that can none the less put out some impressive 3D content. People put out wrappers and high level API''s all the time, like CDX and so forth, that can help you if you want to go a LITTLE more low level, and at least work in C.

But to answer your question of why... Well, it stems from the fact that producing games is a business. Consequently, it''s compeditive, and each developer is trying to get the BEST graphics out. To do that, you need to keep up with the hardware, and moreover, stay CLOSE to the hardware, program wise, so everything is optimized from the ground up for YOUR game, and not everyone''s game. On the flip side, a lot of hobbyist developers are interested in achieving strange, original effects that would be very difficult to do, or to do fast enough, using some highlevel language. For instance, if you wanted to do texture mapped polygons in DarkBasic, well, that''s pretty much a snap, and your fine. But if you need Triangular NURBS''s, your stuck, because I don''t think the language can proccess it quickly enough because all the quick stuff is hiden to make it simpler.

If your more into just designing games, then I suggest using some language like DarkBasic, or some really high level API, to hide all the stuff you find doesn''t matter to you. I think there are even some commercial packages (Klick n'' Play) where you pretty much just point and click, but these tend to be somewhat limited. Or, find some programming people to do all the code stuff for you. In the end, It''s probably best to learn SOME programming, so you can at least get a feel for what other programmers have to do.

I''m am NOT a math genius. I don''t think I''d even register as a math simpleton. It just takes a little practice and reading, something I think all programmer can agree with, no matter how many levels of calculus they know. Same goes for game design. Just choose the best tools you need to get what you want done. Check out DarkBasic, or CDX.

Sorry for the long lecture, but there might be something of use up there, and I''d probably delete it if I messed with anything.

-- SH

Share this post


Link to post
Share on other sites
yeah I mean...that''s kinda like saying you are creative, and want to do art, but don''t feel like learning drawing, and just taking chunks of other peoples works and copying to make your own work. I don''t think that would be 1/10000 as satisfying as doing original work.

Share this post


Link to post
Share on other sites
The only easy way, is the hard way. Hard work will get you there. If you''re not willing to work hard, too bad. Tools make it easy enough these days. Even Direct3D and OpenGL, they do everything for you. Years ago you would have to write all the rendereing rutines yourself.

So buy a book, and start learning

Share this post


Link to post
Share on other sites
quote:
Original post by lpsoftware
...The most needed is matrix math (not too much), geometry, and algebra.



What other kind of computer math *is* there? matrices include vectors, algebra & vectors & matrices includes linear algebra.

All you have to know, is all the discrete math that exist well not really...

Share this post


Link to post
Share on other sites

Probably not much I can add to this discussion, but it is interesting. I would say that there are two ways game development can be hard. I also have a third point.



The first is not being able to implement your vision due to crappiness of stuff, as a programmer, I find lots of times I want to do something, but because someone had to make it overcomplicated, I can''t do it. API''s like OpenGL are moving in the right direction. Many people reinvent the wheel... and do it poorly. I have messed some with COM objects, an example of something which is so frustrating it prevents good programming(personal example, some people like COM).



The other way it is hard really hacks me off. I had a guy who wanted me to "teach him how to make a 3d engine". So I started with some basic math(BTW, the math skills are only requisite when you''re rolling your own 3d engine, it helps elsewhere, but not as much as clear thinking). Turns out he had been programming three weeks. I suggested he invest some skills in learning programming, this horribly insulted him, as he felt that he should just be able to do it, or I should give him code(which I did, but he couldn''t figure out how to use it), or that in general, the world should somehow provide him with what he wanted. The process should be lubricated as much as it possibly can, but to some its like saying, "I want to write great literature, but I don''t want to bother with actually having to write the book". Suck it down.



My last point(after the flamebait) is that eventually some kinds of programming are refined until the creation of application specific tools are the penultimate expression of the requirements. Perl is an example for text processing. For the old-school text adventure games, I understand it has reached that stage of refinement. For the rest of gaming? Nowhere close, but I would ask you to consider the mod community and Unreal Script, these are the beginnings. Sure there is always a need for better graphics and sound, but at some point, an avenue has reached a stage of refinement where the specialization involved makes the creation of certain tools a neccessity. In fact, I would suggest games will arrive at such a solution in a hybrid fashion. The parts of games which are not fully explored(graphics) will be written in general programming languages with API''s, and the rest of the game will be written in a refined language[s] that will allow the rest of the game features to be expressed concisely.

Share this post


Link to post
Share on other sites

Haha, in NO way did I imply that I wanted to have my cake and eat it too. I was just saying I''m not all that hot at C/C++, and I''ve given it a fair amount of time. It might be that programming just isn''t my thing, or maybe I should try alot harder, I don''t know.

I know how you guys get that exhilarating feeling after completing something made by you, but then again, is it?Languages from assembly up C/C++, other high level languages, and low/medium level API''s such as OpenGL and DirectX make things "not completely yours". Am I right? So I don''t worry about stuff like that. I truly wish that I could share that feeling upon creating something of my own in C or C++, but it just hasn''t happened yet, maybe it''s not my time



Greg K.

Share this post


Link to post
Share on other sites
Greg, you''re wondering why these powerful game-creation tools don''t exist... I think it''s because nobody wants to make them. A powerful, flexible game-creation tool (API, whatever) would be (1) more complex to program than your typical professional game, (2) much less fun, because you''re not really creating anything tangible or visible, and (3) less profitable than your typical professional game, particularly considering how quickly such a tool would become technologically obselete.

Share this post


Link to post
Share on other sites
Hi Greg,

The CLOSEST thing you can ever come to this would be to make a mod for a game. If you REALLY want to see your vision of a game without all of the tedious coding then make a mod for a game. There are tons of tutorials, tools, etc for making mods. Some are pretty cool too. And some have actually been tweaked with so much that they are sold. It''s not TOO hard either. I fidled with the Quake2 source a bit, it''s a bit overwhelming at first, but take it in piece by piece.

Hope that will shed some light for you.



~-=-=-=-=-=-=~
~Justin Eslinger~
~.."BlackScar"..~
~-=-=-=-=-=-=~

Share this post


Link to post
Share on other sites
Well, aside from hobbyists (which is basically everyone on this board), people are interested in reducing the difficulty of creating interactive media (including games). Because that means more money made with less people in less time. This is the basis for licensing engines. To use an example, BioWare''s Inifinity engine was created and used to make several RPGs, including Baldur''s gate and recently Icewind Dale. But, the engine itself was so complete that the Icewind Dale project only had a single engine programmer (lots of scripters though) and everyone else was mostly artists and writers/scripters.
But, this simplicity comes at a cost: the technology in Icewind dale is really out of date. That''s the basic paradox here: in order for an engine to become popular it has to be used to create a really popular game. But two years after that popular game is released, when all the games using that engine are released, the engine is already obsolete.
In the not-too-terribly distant future I''m sure we''ll reach a threshold in both hardware (speed and power) and software (realism) where a single engine can be used for many games across a large span of time. When that time comes, it''s easy to foresee game development teams consisting of a single programmer and dozens of content creators.. but until then, you''re basically out of luck.
Still, it''s not like you need to have games that use the absolute latest technology . Making mods is (relatively) easy, depending on the engine gives you a ton of freedom, and requires only basic programming skill. Plus you get to see the world you create emerge right before your eyes, while programming a game from scratch can take months before you can even see anything.

Good luck =)
-RWarden (roberte@maui.net)

Share this post


Link to post
Share on other sites
But wouldnt it be easier if we all submitted our own routines/functions to a dedicated web site (like this one) so coders like us can download them if we either dont have time to code them ourselves, or if we get completely stuck and need a help in hand?

For instance, ive created my own DirectDraw blit routine which aultomatically clips the destination rect to avoid blit failure, surely everyone has done the same!? I found it to be a tedious task with this particular instance, but there have been times where I have enjoyed creating my functions...it can be fun, but it can be quite annoying too. If someone else uploaded it for me to download, i would of saved alot of tedious time wasting.

Howz we create an area in gamedev called "Coders help desk" or something? I know there is a "Code vault" but thats different to what I would like to see...

Share this post


Link to post
Share on other sites
Greg,

I am probably one of those "math geniuses" now, but we were all where you are now - i used to visit the university library to read books on 8086 assembly when i was at school. and i hated it. i would have been happy to use QuickBasic to do a game that was fun.

And this is where the importance is: Fun.

There are many people out there who are hell bent on writing Yet Another 3D Engine (except theirs will be even better). They make good programmers to join a team, but they are not true Game Developers.

Game Development is much more then rotating points and plotting them Ever-So-Fast{tm}. It is making something that is FUN TO PLAY.

so start small and make sure what you are doing is fun.

Share this post


Link to post
Share on other sites
- For me it isn''t the math at all; I can''t find anywhere you''d need to do difficult math yourself in the entire MS D3D book. What the problem is, is remembering this surface and that pointer, and what got passed where and when and with which param. Some people keep saying that object-orienting helps, but I have yet to see how. MS has the charming habit of separating most all of their D3D examples into at least ten or twelve different O-O source files, so it becomes difficult to track anything through the code mentally.
---------
That said, I don''t really care how to set up DirectX. That is, if the game console in TotWGPG worked, I would have just copied it and spent my time actually writing the (2D) game, rather than attempting to get the window/ddraw init to work [like I''m trying to now], which is no fun at all. Most of business programming is modifying existing code; you don''t re-write anything completely unless you have to. Why should game programming be any different? And as far as opening a window and creating a ddraw surface goes, I can''t likely write anything better than what Andre or MS can write anyway, so who cares if I didn''t write it all myself? If it worked well, I know I wouldn''t. Most of us don''t know everything about particle physics, but that doesn''t stop us from using electric lights. - Lubb

Share this post


Link to post
Share on other sites
>> Shouldn't there be tools (like authoring tools but maybe a bit more portable) for those people out there who have a hard time reading code but REALLY want to design or work on game projects <<

You must realise that working on a game != game programming. If I want to design a game, I design I game. I don't have to implement it. If I want to do artwork, I draw. You _can_ work on a game without knowing how to read code.

If I really want to work on a game project, I find something about game development I'm interested in (drawing for example) and start practicing. It's that simple.

- Muzzafarath

Mad House Software
The Field Marshals

Edited by - Muzzafarath on July 12, 2000 6:32:41 AM

Share this post


Link to post
Share on other sites
I think most of the people here are grouping programming, engine making and game developing into one basket. If you want to make a game then work with a 3d engine/editor or mod maker and create games. If you want to become a good programmer than you study assembly, c++, code designs, data structures, win32 & mfc framework, unified modeling language, com, etc. Then if you want to become good 3d designer than you need to know programming and 3d math (linear algebra, calculus) and physics and other disciplines not totally related to programming but instead to natural science like light and color, etc.

So as you can see the hardest part is that of the 3d designer. He must be a good programmer and good at maths. Sometimes a company can hire a separate person that is specialist in math and physics who works closely with the programmer, but for most of us here we have to do all the work ourselves or are lucky and can find friends with math skills.

So, decide beforehand what you would like to spend your life on. If you don''t know (like I used to) then experiment with everything and then choose. For example, you could learn about compiler construction and write your own assembler and compiler. If you don''t like to do that then try to make apps in c++ or other high level lang. using already created code (mfc) and write an app that does something you want it to do. It doesn''t have to be game related. Or try 2d/3d coding. Experiment and choose something even if it''s none programming related like creating storylines for games. Just realize that you can''t know everything ever and that is a sad fact.

For example, don''t try to get proof for every math theory because sometimes obtaining the proof will take a long time like years I think Hamilton spent like 15 years trying to figure out the 3d vector space and its rules. I recommend getting a good math book and a programming book that deals with the math and then read and read and read. From my experience, I found out that it''s not necessary to reinvent the wheel i.e. making a software engine when we have hardware now, but it''s necessary to understand how a software engine works. You can get this understanding from the many online tutorials, books, genesis3d, and other open source engines, and from other people on the forums.

So, once more: Decide what you want to do in life and go do it! Sure it will be hell for a while but everyone here went through hoops to get where they are now comfortable with the programming and no longer think of the syntax but instead of the program flow and how their program fits all together.

Cheer


my homepage
E-Mail: BlueOrbSoftware@mailcity.com

Share this post


Link to post
Share on other sites
RWarden, don''t take this as a personal attack, I''m just using your post to illustrate something
quote:
Original post by RWarden

( first part )
But, this simplicity[ in the Infinity Engine] comes at a cost: the technology in Icewind dale is really out of date. That''s the basic paradox here: in order for an engine to become popular it has to be used to create a really popular game. But two years after that popular game is released, when all the games using that engine are released, the engine is already obsolete.

( second part )
In the not-too-terribly distant future I''m sure we''ll reach a threshold in both hardware (speed and power) and software (realism) where a single engine can be used for many games across a large span of time.




I see two ways of looking at it: either that time is already here, or it will never come.
The reason? You just called the Infinity Engine out of date. I looked at the IceWind Dale screenshots and thought "WOW! That really looks like they got their act together.". For me, the Infinity Engine seems to provide all the functionality you need for a game like that, I don''t see how you could make it significantly better.
Yet you disagree, and thereby postulate that there will NEVER be a time when an engine doesn''t outdate in just a few years. Technology will not stop advancing any time soon, so there will always be something "bigger" or "better" or "faster" to come along.
What needs to change, is that we, as developers and game-players, are happy with a game that doesn''t tout the latest technology, but IS fun to play.



Give me one more medicated peaceful moment.
~ (V)^|) |<é!t|-| ~
ERROR: Your beta-version of Life1.0 has expired. Please upgrade to the full version. All important social functions will be disabled from now on.

Share this post


Link to post
Share on other sites
Hey MadKeith, those are really good points. I''d have to agree with you that even though an engine may be technically out of date that doesn''t limit how fun a game made with it can be. In calling the infinity engine obsolete I was speaking on a purely technical level, especially in regard to the game''s resolution and animation.

Yet the game does look amazing and I wouldn''t be one to complain, because it''s fun. Unfortunately very few game studios are content to make a game that might be obsolete technically but still fun, and I would imagine that part of this would be the reluctance of publishers to fund a game without the ''latest super-3d hypergraphics'' as a selling point. And of course part of the reason is the developers themselves. Generally speaking we don''t look at Quake 3 and say "Wow, that looks nice. But I think I''ll make my game look like Quake I, because that can still look good enough with good level design" =). There''s always a drive to improve and make something look as cool as possible. In commercial game development, this drive is limited by a budget and timeframe, of course .

I still think that only when we reach a threshold of extreme power and realism in graphics will we be able to have engines that last for ten or more years. And when that happens people will be working much harder on the other, currently often-neglected areas of development, including AI, scripting, and just plain making it fun.

-RWarden (roberte@maui.net)

Share this post


Link to post
Share on other sites
GreG_K, what I''d suggest is to get one of LaMothe''s books (Tricks of the Windows Game Programming Gurus).

The graphics library he makes for you does quite a bit. It may be a bit slow but it gets you on a good start.

"The road of excess leads to the palace of wisdom." --William Blake

Share this post


Link to post
Share on other sites