Jump to content

  • Log In with Google      Sign In   
  • Create Account

Why Game Programming?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
22 replies to this topic

#1 alirakiyan   Members   -  Reputation: 145

Like
0Likes
Like

Posted 11 July 2012 - 01:54 AM

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 .

Sponsor:

#2 astagg   Members   -  Reputation: 278

Like
0Likes
Like

Posted 11 July 2012 - 02:19 AM

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.

#3 Radikalizm   Crossbones+   -  Reputation: 2984

Like
3Likes
Like

Posted 11 July 2012 - 02:23 AM

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.

I gets all your texture budgets!


#4 SimonForsman   Crossbones+   -  Reputation: 6305

Like
1Likes
Like

Posted 11 July 2012 - 02:44 AM

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)
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#5 alirakiyan   Members   -  Reputation: 145

Like
0Likes
Like

Posted 11 July 2012 - 02:57 AM

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, 11 July 2012 - 02:58 AM.


#6 SimonForsman   Crossbones+   -  Reputation: 6305

Like
1Likes
Like

Posted 11 July 2012 - 03:01 AM

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.
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#7 alirakiyan   Members   -  Reputation: 145

Like
0Likes
Like

Posted 11 July 2012 - 03:10 AM

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, 11 July 2012 - 03:11 AM.


#8 Rhetorician   Members   -  Reputation: 119

Like
0Likes
Like

Posted 11 July 2012 - 03:23 PM

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


You must have some sick desires... but seriously, I strongly disagree with that. Posted Image
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, 11 July 2012 - 03:39 PM.


#9 Acotoz   Members   -  Reputation: 73

Like
-1Likes
Like

Posted 11 July 2012 - 05:36 PM

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

#10 bpj1138   Members   -  Reputation: 113

Like
-5Likes
Like

Posted 12 July 2012 - 02:09 AM

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.
--bart

#11 Radikalizm   Crossbones+   -  Reputation: 2984

Like
5Likes
Like

Posted 12 July 2012 - 02:33 AM

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!


#12 birko19   Members   -  Reputation: 146

Like
1Likes
Like

Posted 12 July 2012 - 11:31 AM

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.

#13 bombshell93   Members   -  Reputation: 210

Like
2Likes
Like

Posted 12 July 2012 - 11:59 AM

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.

#14 birko19   Members   -  Reputation: 146

Like
0Likes
Like

Posted 12 July 2012 - 01:25 PM

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.

#15 L. Spiro   Crossbones+   -  Reputation: 14258

Like
5Likes
Like

Posted 12 July 2012 - 06:32 PM

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
It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#16 DarkRonin   Members   -  Reputation: 616

Like
0Likes
Like

Posted 13 July 2012 - 05:16 AM

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 Posted Image

[edit] LOL - I just noticed I am getting quite a few mentions in these previous posts :)

Edited by lonewolff, 13 July 2012 - 05:24 AM.


#17 sss_abaker   Members   -  Reputation: 132

Like
1Likes
Like

Posted 13 July 2012 - 03:20 PM

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.

#18 bpj1138   Members   -  Reputation: 113

Like
0Likes
Like

Posted 15 July 2012 - 01:43 AM

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

#19 alirakiyan   Members   -  Reputation: 145

Like
0Likes
Like

Posted 15 July 2012 - 02:54 AM

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.

#20 bpj1138   Members   -  Reputation: 113

Like
-1Likes
Like

Posted 16 July 2012 - 07:49 AM

i find that people are generally hostile to others
--bart




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS