Sign in to follow this  
BekkiBlack

Does game development require "special tools"?

Recommended Posts

BekkiBlack    41
Like, say, I download a modelling program, an IDE, DirectX(or any other graphics-relative/capable API), several painting programs, have a fair knowledge of C++, OS specific API plus the graphics API, is that enough to develop any game possible(you know, possible as in what I could even manage)?

Because game companies seem to spend so much money to develop games whereas if game development can be done personally with a few free programs and some skills with programming, why do they need so much money for?

A graphics API, IDE, skills in programming, a modelling program, possibly a model loader, images, some sounds, 3D development skills, etc. BOOM! I got a game...

So why do massive companies need millions?????

Share this post


Link to post
Share on other sites
Hodgman    51324
Average game developer salary is ~80k. To make a AAA game, you need a few dozen developers, and more than a year of development time.

There is a LOT of content in a blockbuster game these days -- to make that amount of content you need a lot of staff and a lot of time ([i]or one talented person and a life-time[/i]).

e.g. these budgets aren't unreasonable:
80k * 12 people * 1 year == ~1 million dollars in salaries.
80k * 24 people * 2 years == ~4 million dollars in salaries.
80k * 50 people * 3 years == ~12 million dollars in salaries.

Also, a publisher will typically spend equal amounts on development and marketing. A game simply won't sell millions of copies without a huge advertising/marketing push. So on a $50 million game, they'll spend $50 million on advertising for the game.

Share this post


Link to post
Share on other sites
Gamer Gamester    140
Developing graphics & audio and doing the programming requires skilled humans, which can cost a lot. "Massive companies" make games for profit, which means they need even more humans and tools for marketing, accounting, legal, etc. Business gets expensive in the details.

But you're correct, a person with a computer, electricity, and internet can make a game, with the only additional cost being time (which perhaps you value?). Look into the indie scene for examples of successes and failures without "millions".

Lofty ambitions are good for an indie, but it's important to be able to transform those goals into something tangible. This requires thinking things through realistically -- it's easy to underestimate what goes into things (see Dunning-Kruger).

Share this post


Link to post
Share on other sites
BekkiBlack    41
[quote name='Gamer Gamester' timestamp='1302575891' post='4797354']
Developing graphics & audio and doing the programming requires skilled humans, which can cost a lot. "Massive companies" make games for profit, which means they need even more humans and tools for marketing, accounting, legal, etc. Business gets expensive in the details.

But you're correct, a person with a computer, electricity, and internet can make a game, with the only additional cost being time (which perhaps you value?). Look into the indie scene for examples of successes and failures without "millions".

Lofty ambitions are good for an indie, but it's important to be able to transform those goals into something tangible. This requires thinking things through realistically -- it's easy to underestimate what goes into things (see Dunning-Kruger).
[/quote]

No thanks, but it's actually a goal of mine to finish a game myself. It is possible, with out even a penny out of my pocket towards the production, yet it can take many years.....

Share this post


Link to post
Share on other sites
SimonForsman    7642
[quote name='IMYT' timestamp='1302964267' post='4799132']
Try building a game ALL by yourself and see how much money it costs.
[/quote]

Technically the game itself doesn't cost anything to make, its all those pesky things you need to survive while you make it that cost money, When doing something as a hobby your time is quite limited.

It is perfectly possible to finish a game on your own (I've done it a few times), as long as you keep things reasonably small or atleast get something is playable out early and then build on it. (Going 5+ years without a release will kill your motivation and completing a game with AAA scale and quality on your own in less than 5 years really isn't doable)

Share this post


Link to post
Share on other sites
AndyHarglesis    202
Hidden
No, game development doesn't require any "special tools".

A basic knowledge of C++, ability to implement that logic in to a series of commands, control and flow and BOOM! You have a game.

But that's usually not as easy as it sounds, and many people may have a very difficult time really understanding how to put together an actual game from a blank page.

The secret is that ALL games are the same.

All games you see are the same.

They all use the same language, same programming principles to ensure correction in compiling, linking and syntax and they all follow the same lines along the fact that every game has the same workings: they start and they end, they take user control, they act on that control and they do things.

Seeing the big picture like that makes it seem less overwhelming because the truth is that a game really will always follow the same lines of logic: start, take control, end.

Same with any program there is out there, regardless of being a game or not.

Realizing that both games and default computer applications like Notepad for Windows or any other text editor will always follow the same lines of logic: they start, take control, they end.

A tiny program in C++, like a calculator, is relatively easy to make when compared to a game like Sonic for Genesis.

Why? Because that tiny program works in a text-based interface and development. A game like Sonic requires a GUI(graphical user interface)that can handle textures, sprites, animations and sounds/music, backgrounds, collision effects and physics, while leaving out one of the hardest things to create the best: AI(artificial intelligence).

A console application is easy to learn compared to a game like Sonic.

A game like Sonic takes thousands of lines of codes, being able to assign textures, knowing pointers, loading the textures, placing them on the screen, calculating positions, collision, sounds, collision sound effects and comes down to the simpler logic as well, such as the IF logic.

Almost any program, from a console application to Final Fantasy 13, requires some form of IF logic.

IF logic is a logic that any program of any size, massive or small, works with.

IF this then do THAT. Many smaller statements in programming languages come in handy much in the future, such as loops and arrays, possibly.

The fact of the matter is this: no matter how large or how complicating a fully established Sonic game may be compared to a mini console app, they both follow the same lines of logic: they start, they take control, they end.

I know the frustration behind compilation and linking fails, especially when using DirectX, Allegro, OpenGL, SDL, etc. It can be hell...

But once that's finished everything becomes easier, and if you get stuck on code there's always tutorials, books, I can give advice, several others may offer you useful advice, but I find that some books open up your mind to it a lot better than people can. It's just the way the book was written to implement and convey that effect to the reader about what's truly to be unraveled.

A DirectX programming basic book can be found online for as little as .24 cents on sites such as Ebay, Amazon, etc.

Also, if you need any help, just let me know.

Share this post


Link to post
AndyHarglesis    202
No, game development doesn't require any "special tools".

A basic knowledge of C++, ability to implement that logic in to a series of commands, control and flow and BOOM! You have a game.

But that's usually not as easy as it sounds, and many people may have a very difficult time really understanding how to put together an actual game from a blank page.

The secret is that ALL games are the same.

All games you see are the same.

They all use the same language, same programming principles to ensure correction in compiling, linking and syntax and they all follow the same lines along the fact that every game has the same workings: they start and they end, they take user control, they act on that control and they do things.

Seeing the big picture like that makes it seem less overwhelming because the truth is that a game really will always follow the same lines of logic: start, take control, end.

Same with any program there is out there, regardless of being a game or not.

Realizing that both games and default computer applications like Notepad for Windows or any other text editor will always follow the same lines of logic: they start, take control, they end.

A tiny program in C++, like a calculator, is relatively easy to make when compared to a game like Sonic for Genesis.

Why? Because that tiny program works in a text-based interface and development. A game like Sonic requires a GUI(graphical user interface)that can handle textures, sprites, animations and sounds/music, backgrounds, collision effects and physics, while leaving out one of the hardest things to create the best: AI(artificial intelligence).

A console application is easy to learn compared to a game like Sonic.

A game like Sonic takes thousands of lines of codes, being able to assign textures, knowing pointers, loading the textures, placing them on the screen, calculating positions, collision, sounds, collision sound effects and comes down to the simpler logic as well, such as the IF logic.

To take a massive dive here, say we use an IF statement in a simple C++ console app to test if we press the enter key on our keyboard.

It would look something like this:
[code]if(char == 10)
{cout << "\nYou pressed 'ENTER'"}[/code]


Now in DirectX, say we want to load a, say, texture when pressing enter... Check how it follows:
[code]if(char == 10)
{D3DXCreateTextureFromFile(LPDIRECT3DDEVICE9 d3d,LPCTSTR "sonicright.gif", LPDIRECT3D9TEXTURE9 IDirect3DTexture9*}[/code]

Yes, I know there's more to it than that, but you get the same idea along the lines of equivalent logic establishments and testing.


I'm sure you're questioning now things like "But it's still so complicating!".

Truth is, yes, it will be complicating, but that's why you can write things down on notes/text editors and save things that may be too hard to remember and look them up whenever necessary. Write a brief description of what it does based on what you know or what you've read and save it for future reference. That way it can't get too overwhelming because everything you can question can be easily answered by clicking a file on your computer. Also, if you noticed well enough, it still follows the same lines of logic. The only difference being that the tasks that follow the same lines of logic are harder and more complex.

Also, with time, you'll remember more and more functions. Soon you won't even need to read references for the basic things, such as texture loading, mesh, etc.


Almost any program, from a console application to Final Fantasy 13, requires some form of IF logic.

IF logic is a logic that any program of any size, massive or small, works with.

IF this then do THAT. Many smaller statements in programming languages come in handy much in the future, such as loops and arrays, possibly.

The fact of the matter is this: no matter how large or how complicating a fully established Sonic game may be compared to a mini console app, they both follow the same lines of logic: they start, they take control, they end.

I know the frustration behind compilation and linking fails, especially when using DirectX, Allegro, OpenGL, SDL, etc. It can be hell...

But once that's finished everything becomes easier, and if you get stuck on code there's always tutorials, books, I can give advice, several others may offer you useful advice, but I find that some books open up your mind to it a lot better than people can. It's just the way the book was written to implement and convey that effect to the reader about what's truly to be unraveled.

A DirectX programming basic book can be found online for as little as .24 cents on sites such as Ebay, Amazon, etc.

Also, if you need any help, just let me know.

Share this post


Link to post
Share on other sites
issch    479
[quote name='AndyWonHarglesis' timestamp='1302992817' post='4799278']
The secret is that ALL games are the same.
[/quote]
What? How do you figure that?


[quote]
They all use the same language
[/quote]
No they don't. Games are written in a large range of languages. I have personally written games in C++, Python, Java and Visual Basic. People I know or interact with online have also written games in Objective-C, Javascript and Clojure.

My signature contains a link to information on programming games in Clojure. If you're not familiar with Clojure, I invite you to take a look and see if you still think all games are written in the same language, programming principles or syntax.

[quote]
they start and they end, they take user control, they act on that control and they do things.
...
[color="#1C2837"][size="2"]a game really will always follow the same lines of logic: start, take control, end.[/size][/color]
[color="#1C2837"][size="2"]...[/size][/color]
[color="#1C2837"][size="2"]Same with any program there is out there, regardless of being a game or not.[/size][/color]
[/quote]
[color="#1C2837"][size="2"]Correct, but this is an over-simplification that doesn't really help you in any way. [/size][/color]You could say this about any automated machine or process which interacts with the user. Knowing that a car starts, stops and takes input from the driver doesn't really help you build one.

Share this post


Link to post
Share on other sites
AndyHarglesis    202
[quote]
What? How do you figure that?

[/quote]

All games are the same. They all work on the same base of logic, so no matter how different, all the same in the end.

[quote]
No they don't. Games are written in a large range of languages. I have personally written games in C++, Python, Java and Visual Basic. People I know or interact with online have also written games in Objective-C, Javascript and Clojure.
My signature contains a link to information on programming games in Clojure. If you're not familiar with Clojure, I invite you to take a look and see if you still think all games are written in the same language, programming principles or syntax.
[/quote]

I didn't mean it like that. You misunderstood... I meant to say that they are all made with a base programming language and the building blocks continue with APIs and that's how games work. It's called the "game loop". Also, that's just ungrateful to give my post a negative rating when I went through 45 minutes of hard work to get this all down.

[size="2"][color="#1C2837"]
[/color][/size][quote]
[color="#1C2837"][size="2"]Correct, but this is an over-simplification that doesn't really help you in any way. [/size][/color]You could say this about any automated machine or process which interacts with the user. Knowing that a car starts, stops and takes input from the driver doesn't really help you build one.
[/quote]


Over-simplification? It's called the truth. People see making games as such a big thing that it makes them overwhelmed when it's really just a big thing that you can strip in to smaller parts and build up to the top with knowledge, power and correct structure. Seeing the big thing in smaller pieces makes it less overwhelming and makes people more willing to start from the bottom, work hard, fast, efficient, making their way to the top with success. I also gave tips anyways.

Next time, before negating me, read thoroughly to my whole post.

Share this post


Link to post
Share on other sites
issch    479
First of all, let me apologise for my tone. I probably shouldn't reply late at night (or at all), but anyway. I don't mean to come off as passive-aggressive; my intention is to educate.


[quote]
All games are the same. They all work on the same base of logic, so no matter how different, all the same in the end.
[/quote]
Well, if you want to talk on that level, theres more forms of logic and mathematics going on beneath it all. This may vary from language to language too. For example, functional programming languages are based heavily on lambda calculus. Logic programming (like Prolog and Mercury) are based on first-order predicate calculus. Or do you mean everything can, eventually, beneath all the abstractions, be computed on a universal turing machine? Anything that is possible to compute can be written in terms of a turing machine, but what does that buy you? It tells me nothing about how to actually implement anything!

By the way, you can go lower down than what you called IF-logic: underneath all that, the hardware that actually implements the conditional logic uses only logic gates (typically, only NAND gates, if I remember correctly). But its not useful to say that all a game is made up from is a lot of NAND gates. That, too, would be an over-simplification that doesn't help when building games.



[quote]
I didn't mean it like that. You misunderstood... I meant to say that they are all made with a base programming language and the building blocks continue with APIs and that's how games work. It's called the "game loop".
[/quote]
And I am saying that this is a major over-simplification. Thats like saying that to program a game, you must program a turing machine. That statement isn't exactly false, computationally turing machines can compute anything that is computable, but turing machines are on a completely other level from how we program.

Houses are made from blocks and continue with walls and thats how houses work. Thats not exactly a useful description of how houses are constructed.



[quote]
Also, that's just ungrateful to give my post a negative rating when I went through 45 minutes of hard work to get this all down.
[/quote]
By this logic, I could spend two hours posting pictures of cats and expect to be up-voted.

[b]For the record, I did not rate your [/b](first, I down-rated this one)[b] reply at all - that was [/b](4)[b] other people. [/b]If it makes you feel better, I'll up-rate your first post for you.



[quote]
Over-simplification? It's called the truth. People see making games as such a big thing that it makes them overwhelmed when it's really just a big thing that you can strip in to smaller parts and build up to the top with knowledge, power and correct structure. Seeing the big thing in smaller pieces makes it less overwhelming and makes people more willing to start from the bottom, work hard, fast, efficient, making their way to the top with success. I also gave tips anyways.
[/quote]
[i]"A car is simply a machine which, when the user/driver provides the correct input, moves in a desired direction." [/i]Thats also the truth. Now, using that information, go build a car. It [b]is[/b] an over-simplification because it leaves out a lot of important details needed to actually go ahead and build a car.

How about writing a novel? All it takes is a beginning, middle and an end. Again, this over-simplification doesn't tell you anything useful about writing novels.

Similarly, telling someone that all a game is is a start, an end, and reacting to user input glosses over a lot of (pretty much every) details. Important details. You've said nothing that makes developing a game any clearer. You've simplified the [i]problem[/i] of making games to such a high-level point that its useless, hence over-simplification.

One more example: a program for a [url="http://www.realtekaustralia.com/images/hankookprotec5N.jpg"]CNC lathe[/url] follows the same principals you described: starting, stopping, user actions. Are you going to claim that these programs are comparable to games (from a code/logic point of view)?


[quote]
Next time, before negating me, read thoroughly to my whole post.
[/quote]
What? Why would you think I didn't read your post? I'm not in the habit of replying to posts I hadn't read.



[quote]
[color="#1C2837"][size="2"]Intriguing stories, comrades![/size][/color]
[color="#1C2837"][size="2"][/quote][/size][/color]
[size="2"][color="#1C2837"]I find your stories interesting too, comrade hodgman [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img][/color][/size]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this