Why Game Programming?

Started by
21 comments, last by Fredericvo 11 years, 9 months ago

Writing your engine is one thing but building a game is actually even more difficult. What is not being said here is that being a lone wolf programmer is pointless in this day and age, and that's probably right. Anyway, I'll just add one more to the list...

3. You're crazy.


There are enough impressive lone wolf projects out there, so I wouldn't exactly call it pointless to be a lone wolf programmer ;)
Also, writing a good general purpose engine can get far more difficult than writing a game. The term game is actually too vague here since a game can range from something extremely simple to something extremely complex, but I can tell you from my own experience that the engine projects I've worked on were a lot more challenging than the game projects I've worked on

I gets all your texture budgets!

Advertisement

hi .
I have worked DirectX 9 ,10 , and lately 11. and I'm writing a game engine.(for about 2 years worked on AI , cullings, shaders,animations,BSP trees,.... and still working)
some day I readed this link :
http://www.altdevblo...wn-game-engine/
I love Game programming.
But
When we look at Unity or UDK , they exactly do whatever we want.
so why should I write a game or game engine from scratch?
and will my DirectX knowledge be useful?
Where can I use DirectX?
please help me. I really think that I have made mistake .


I would not say you made a mistake by trying to build an engine, but it all depends on what you want to accomplish. If you wanted to get into the gaming industry and get hired by a bigger company, I suppose the skills you built up in these last two years or so will help you out. If not, you still learned some very valuable skills and it's always better to know things than not. So be positive about it and carry on from now.

Having said that, the problem is people sometimes focus a little too much on writing engines and ignoring the actual "game" development part. Remember that if you want to sell games, they have to be fun to play, and frankly, I can care less if you built your own engine or you used an exiting one, so long as the game is good, that all what matters in the end.
I've been through this bump of "why am I making an engine?" and there are so many reasons to do so.
do you want to have credible education to enter game development as an occupation? then you should make an engine. Even people specializing can learn so much.
do you want full control and knowledge of how things work? then you should make an engine. Unity and Unreal naturally don't show you the bones of it all, this was my problem, I don't like using something if I don't fully understand it. Truth be told I've spent a long time learning all bits and bobs and heck, I'm still learning.
do you want to feel the accomplishment of building a game from the ground up? then you should make an engine, its harder work, it can take a lot longer and it may not always seem worth it. But when you do get passed each hurdle, its a magnificent feeling, maybe because your glad to be done with that part or maybe your looking forwards to the next part, either way its a brilliant process. (this is also one of my reasons)

There are far more reasons but I'm not sitting here to list them,
to keep a long story short, as mentioned above, it depends what you want out of it.

I've been through this bump of "why am I making an engine?" and there are so many reasons to do so.
do you want to have credible education to enter game development as an occupation? then you should make an engine. Even people specializing can learn so much.
do you want full control and knowledge of how things work? then you should make an engine. Unity and Unreal naturally don't show you the bones of it all, this was my problem, I don't like using something if I don't fully understand it. Truth be told I've spent a long time learning all bits and bobs and heck, I'm still learning.
do you want to feel the accomplishment of building a game from the ground up? then you should make an engine, its harder work, it can take a lot longer and it may not always seem worth it. But when you do get passed each hurdle, its a magnificent feeling, maybe because your glad to be done with that part or maybe your looking forwards to the next part, either way its a brilliant process. (this is also one of my reasons)

There are far more reasons but I'm not sitting here to list them,
to keep a long story short, as mentioned above, it depends what you want out of it.


I agree with you on three reasons (Building an engine from scratch that is):

- For an educational reason.
- To imporove your chances on getting a job with big game companies as a programmer (Engine programmer for most part).
- You just love doing it and don't care for the time nor productivity.

On the other hand, if you're planning to take the indie route and be successful, an engine can help you out big time, specially when it's something like Unreal or Unity, these are powerful engines that can produce some amazing results. and if you have experience in programming, there's no reason not to use them and make your life a little easier.

I too like the OP have been working with things like OpenGL, SDL, SFML, XNA, etc for the past two years. The only engine I truly gave a try was Ogre3D and that's not really a game engine. Then I saw what Unity can do two days ago and I finally feel like I can probably get something cool and productive in 3D without the hassle of dealing with OpenGL/DirectX. I have the basics and have a good programming experience (5 years and work as a programmer in my day job), now it's time to focus on actual game programming/design and try to be productive about it.

some day I readed this link :
http://www.altdevblo...wn-game-engine/

Big mistake.
That article is for companies that are trying to meet deadlines. Not hobbyists with all the time in the world.
The author has one and only one very specific goal, which is to have a company that produces games in a timely manner.

The article has nothing to do with you.



When we look at Unity or UDK , they exactly do whatever we want.

What we want? They do what who wants? You and me? You and your team?


so why should I write a game or game engine from scratch?

You shouldn’t if your goal is to make games.
You should if your goal is to make engines or to learn about how games are made from the inside.


and will my DirectX knowledge be useful?

Once upon a time I worked at my previous company.
The guy who implemented the collision detection for Super Smash Bros. Brawl joined that company, and everyone thought he must have good skills.
Sunday my (different) ex-coworker gossiped that he has recently been talking to that guy and discovering that perhaps he is not as knowledgeable as everyone thought.
They asked him about how certain techniques could be done and he didn’t know.
Turns out that he has just been using engines all his life and really doesn’t know anything too advanced.

Learning how things work make you a better programmer who is respected more by your peers. These are skills you can transfer to any company.
Just focusing on using engines makes you a disappointment with a set of skills that do not transfer very well. That company is making their own engine which is why they started asking that guy all these questions. Suddenly his ability to use game engines is no longer such a selling point.


Where can I use DirectX?

Wherever you want?
Did it not occur to you that learning is never a bad thing?
Do you only program because the company asks you to?
Are you not aware that you can maintain your own hobby projects on the side while working at a company too?

When you ask these questions, it makes it clear that there is a bigger problem underneath.
You seem to believe there are right things to learn and wrong things to learn. Get out of this mindset. The only wrong thing to learn is that there are wrong things to learn.
Learn everything you can, and stop thinking just about what the company wants.
The company is not your life, nor can you predict what they will want.
Firstly, having a job is just a way of making enough money to have fun with your real life outside of that job.
Secondly, every skill you acquire makes you more valuable to any given company.

Stop asking questions and get back to learning.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

In reality you don't need to write or even buy an 'all purpose' game engine.

All you really need to do is write a framework with the functionality of what you want your game to do or achieve. Once your framework achieves what you want it to do, then you have your built for purpose 'game engine'.

You need to think about what your requirement is. Do you really need to buy a CryEngine 4 licence for $XXX,XXX.XX if you are making a side scroller 'Super Mario' clone?

You almost really need to be selfish and say to yourself 'am I writing this engine for others to use'? Or are you happy to write a basic engine that has the exact functionality of what you need for your project (making your engine more of the previously mentioned 'framework').

Keep it simple smile.png

[edit] LOL - I just noticed I am getting quite a few mentions in these previous posts :)
I'm building my own engine because engines like Unity are unappealing to me.... And not because of the fact that it does or doesn't provide me what I need, but simply because I want to get something more out of it and that is knowledge and experience. If I build an engine, but I stop there and I don't make a game, I'll be happy.
Oh yeah, that's exactly how I feel. I don't think about usefulness at all. I often do things that I know will be unsuccessful.
--bart
thank you so much.
here , in my company , there are too many people who don't like what I do.
But I would like to continue.
I'm so glad to see there are some people who think like me.
thank you guys.
i find that people are generally hostile to others
--bart

This topic is closed to new replies.

Advertisement