• Advertisement
Sign in to follow this  

Why Game Programming?

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

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.altdevblogaday.com/2011/12/17/why-on-earth-would-we-write-our-own-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 .

Share this post


Link to post
Share on other sites
Advertisement
I think you really have to ask yourself the questions. Why are you making the game? Is it cause you enjoy the creation, what part of that do you enjoy? Are you making sample work to get a job? At the end of the day it is upto you to know why you should be programming or just scripting in an engine etc

Personaly I enjoy programming, I know that I cannot make anything near as good as a profesional engine but thats not why I am doing it. I have tried using stuff like Unity and its very quick to put together something but in a sense I find this takes away some of the enjoyment for me. At the end of the day would you say I shouldn't make a fps game because I could never match the quality of battlefield or call of duty, no I would still do it because I wanted to enjoy the experiance.

If your wanting to get into the industry and are working on sample work then you will need to create your game with the methods you would expect to use in the job you would go for to show you can do it. For example if you wanted to be a graphics programmer I would focus your effects on showing what you can do in directx.

Share this post


Link to post
Share on other sites
I find it strange that you have been working on an engine for 2 years and this is the first time this question popped up in your mind, since this is probably one of the first things you should realize when getting the idea of rolling your own engine.

Yes, there are some very high quality engines and tools freely available for anyone to use, and yes they're probably way better than what one person or a small team of hobbyists could build. Does this mean that rolling your own engine is a complete waste of time?
Honestly, I don't believe so, as long as the person or the people building the engine are at the experience level to actually pull it off (someone who has absolutely no idea of what he/she is doing will not gain anything from the process).

There are enough reasons for wanting to write your own engine. For some people it will be curiosity or a test of their own technical skills; maybe they've been pondering over a certain design or a certain novel technique they want to implement. For others it might be an actual drive to build something they can publish and which can compete with the technology that's already out there.


If your goal is to actually write a game then starting with building an engine was probably not the right choice (and based on your post I have a feeling that this is the case), and it'd be best to pick an available tool for the job.
You should also remember that you don't actually need a stand-alone engine to write a game. What you'd call the engine (ie. rendering, audio, scene management, etc.) could perfectly be part of the game code itself so you don't need to break your head about writing a general purpose solution to these things as would be expected of a stand-alone solution.

Share this post


Link to post
Share on other sites

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 .


Knowing DX doesn't hurt even if you use Unity, you'll still most likely need custom shaders (i don't know what UDK ships with but Unitys stock shader collection is fairly boring) and knowledge is never worthless. (With Unity Pro you can inject your own low level rendering code aswell if you need to do something special)

Share this post


Link to post
Share on other sites
thank you so much.
for a while I wasn't listening to people who disagreed with writing a new game or game engine.
reading http://www.altdevblo...wn-game-engine/ forced me think more.
now I may continue working DirectX.
what do you guys think about Industry?
what path do you suggest me to walk on?
should I focus on game engines , or only DirectX , or both? Edited by alirakiyan

Share this post


Link to post
Share on other sites

thank you so much.
for a while I wasn't listening to people who disagreed with writing a new game or game engine.
reading http://www.altdevblo...wn-game-engine/ forced me think more.
now I may continue working DirectX.
what do you guys think about Industry?
what path do you suggest me to walk on?


If you are doing it to learn then you should experiment with a lot of things, write some tech demos with DirectX and/or OpenGL, Write a few games using various third party engines (Even if your goal is to become an engine programmer it helps a lot to have seen how the popular commercial engines work), Try to integrate a scripting language in your own from scratch game, etc.

Share this post


Link to post
Share on other sites

If you are doing it to learn then you should experiment with a lot of things, write some tech demos with DirectX and/or OpenGL, Write a few games using various third party engines (Even if your goal is to become an engine programmer it helps a lot to have seen how the popular commercial engines work), Try to integrate a scripting language in your own from scratch game, etc.


thank you guys.
so condition is not too bad.
just I should change some views.
I think I can continue LIVING!! Edited by alirakiyan

Share this post


Link to post
Share on other sites
When we look at Unity or UDK, they exactly do whatever we want.[/quote]

You must have some sick desires... but seriously, I strongly disagree with that. biggrin.png
You can name a lot of features they might have that apparently suite your purposes, but they could be largely different from how you want them. I've seen many games made with these tools (Unity, UDK, C4 etc.), and by my judgement upon the quality of their features while applied between a variety games, I'm very happy to roll out my own customized utility and core software. Apparently, many aspiring game developers who utilize these tools do not have the maturity in game development to deeply comprehend the quality of a certain implementation when reflected upon a certain application. I'm never really pleased when I see an engine so re-purposed. I heard the UE4 framework will be much more C++ oriented, and I'd say that this is the reason. Edited by Reflexus

Share this post


Link to post
Share on other sites
There are only two reasons a person writes an engine:

1. For the love of the art
2. Somebody is paying you to do so.

Good lucj

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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 :) Edited by lonewolff

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.


If its your own company: do whatever you think will be most profitable.
If you're just an employee: do whatever your boss thinks is most profitable.

Do the fun things in your spare time.

In general its a very bad sign if your co-workers disagree with your methods. (If you and the rest of the team are pulling in different direction the management needs to set a clear path for the team)

Share this post


Link to post
Share on other sites

i find that people are generally hostile to others

I don't get it. There has been no-one in this thread who is being hostile to anyone?

Share this post


Link to post
Share on other sites

[quote name='bpj1138' timestamp='1342446590' post='4959593']
i find that people are generally hostile to others

I don't get it. There has been no-one in this thread who is being hostile to anyone?
[/quote]
I think he meant the co-workers who don't like what the op was doing if I'm not mistaken.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement