Jump to content

  • Log In with Google      Sign In   
  • Create Account

What do programmers want/What motivates programmers?


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 Questioner1   Members   -  Reputation: 103

Like
2Likes
Like

Posted 15 December 2011 - 04:48 PM

Hello programmers,

I'm a game designer. I am passionate about designing great gameplay, and bringing together art and technology to form my game design into a great experience.
I've learned myself to program, because it empowers me as a designer, and so that I know the problems that programmers face better.
Now I do have a pretty good picture of what kinds of problems programmers face, but I realised that I really don't quite understand something, that might be even more important than what challenges programmers face, namely what it is about programming that gets programmers excited.
So what is it that programmers really want when making a game? What keeps them going, what makes them enthusiastic?
I'm genuinely trying to understand my fellow game developer a bit better.

Thank you.

Sponsor:

#2 freeworld   Members   -  Reputation: 325

Like
0Likes
Like

Posted 15 December 2011 - 05:12 PM

Ever since my first set of lincon logs, I love to create things. Sometimes i think people with ADD would make great programmers, designers. As the the urge to constantly come up with something new, is a great thing. Though being able to finish something is also important.

The biggest excitement... or what ever you want to call it... for me, is after I've spent 24 hours working on something, I apply my assets, and run the app. The moment i see something I've created, working. It just puts a huge grin on my face. Like I've just conquered the world... even the golden triangle gets me going. Now I'm starting to sound perverted so I'll stop there.
[ dev journal ]
[ current projects' videos ]
[ Zolo Project ]
I'm not mean, I just like to get to the point.

#3 Labouts   Members   -  Reputation: 133

Like
3Likes
Like

Posted 15 December 2011 - 05:50 PM

One draw for me is that I've always loved the idea of magic. The image of mages devoting their mental energies toward learning the rules of magic and bending energy to their will with arcane incantations always thrilled me. Most importantly, I love the idea of being able to use raw willpower to affect the world if you know enough. Programming is the closest the real world has to magic. I use a magical language to control electricity in useful ways: communicating over great distances, extracting information from data and creating worlds that are ruled by my personally crafted laws.

In terms of game programming, what could be more motivating than knowing that you can be the God of your own world if you put in the effort to create it. Seeing your world behave how you intended is a fantastic feeling; the feeling of seeing your world behave in untended ways that you like is transcendent. Programming shortens the gap between your mind and the outside world, even dry math concepts can turned into fascinating displays and interesting behaviors.

Programming motivates me because I see my programs literally as my thoughts given power.

#4 Telastyn   Crossbones+   -  Reputation: 3726

Like
2Likes
Like

Posted 15 December 2011 - 06:22 PM

So what is it that programmers really want when making a game?


Money.

What keeps them going, what makes them enthusiastic?


(in my opinion, etc etc etc)

Depends on the person. Generally, I've seen 3 groups.

Some programmers like accomplishment. Some programmers like the process of puzzling through problems. Some programmers like the feel of creating cool/shiny things.

They're different facets of the same process, and different programmers have different priorities about which aspect tickles their fancy the most. For you the designer, you need to realize that communication needs to be different with each.

For the creative programmers, talking about what things will look like, or how they should feel or behave is key. They need to feel ownership for things.

For problem solvers, they need to know what they need to solve; why it's a problem, and what constraints are on the solutions they provide.

For accomplishers, they need to know what needs done and how to measure when they're successful, without impediment or you changing the rules on them.

In general, programmers want to know clearly what needs to be done. They want to be free to get that done however they like, with few impediments, and they don't want any screwing around with the finished product because you changed your mind, or wanted something different from what you asked for.

#5 kseh   Crossbones+   -  Reputation: 2076

Like
0Likes
Like

Posted 15 December 2011 - 06:32 PM

Not really sure if I get all that "excited" about programming but I still occasionally get completely immersed in my work and loose track of anything else.

When programming for myself, what motivates me is seeing my vision made real. To see the parts come together to create a greater whole. To crack the mystery of how to make it work. Unfortunately sometimes once that mystery is solved I get bored and want to do something else.

When programming for others (in my non-game day job) there's a sense of pride in creating customer satisfaction. That is, having the sense that you're genuinely appreciated for what you've gotten done can you going pretty good.

#6 ApochPiQ   Moderators   -  Reputation: 15732

Like
7Likes
Like

Posted 15 December 2011 - 06:32 PM

Chicks.

#7 L. Spiro   Crossbones+   -  Reputation: 13599

Like
1Likes
Like

Posted 15 December 2011 - 07:51 PM

I started as a game designer but as a kid I knew that no one would make my games for me, so I taught myself how to program.

I ended up enjoying programming at least as much as designing. Here are the key reasons why for me:

#1: From my first day alive I was into creating things. I thought I would be a constructor. I played with wooden blocks, Linkin Logs, and LEGO® Technique™.
But programming was without bounds. I was not limited by the number of logs or LEGO®’s I had. I could make anything I wanted.
The ultimate outlet for my natural desire to create.

#2: I always wondered how Super Mario World worked anyway. I push a button, Mario jumps. It knows what to do and how to draw it. Why? How does it know to stop Mario when he thumps a block from underneath and to give him a coin?
I just couldn’t live in the dark. I would never be satisfied making up all these designs for others to implement, always wondering how they were making it all work.
Many programmers have a natural tendency to understand how things work from the inside out. *

#3: In the end, I have made something come alive, starting from the most basic building blocks. Everything it does is due to the decisions I made followed by my implementation of those decisions.
When the end product is a fun game filled with inner systems working harmoniously with each other, well, you probably can’t experience that type of pride unless you are a programmer.

#4: To a smaller degree, there is the satisfaction of simply solving challenges/problems.

#5: And another perk is being in full control over your PC. Being able to program makes life so easy. I have made all kinds of programs to do tedious work for me, and some to solve the Stanford AI class problems, etc.


* Except here in Japan, where most programmers I have met are nothing more than drones lacking social skills and motivation, probably going into programming as a sign of some underlying mental illness.
They have no hobbies and no purpose in life, just going into the office early in the morning and staying until nearly midnight, going home only to shower and sleep for 6 hours just to repeat it all again, every day, until they die or retire.
At least the ones I have met.



You should also know that game programmers are also divided. There are those who like to make games and those who like to make engines, and some who love both equally (myself included).
Those who like making games are not interested in the underlying technology as much as the satisfaction the end product provides. They are motivated similarly to designers, in that both of them view the end result as their own, and both like to sit and watch others playing “their” game. If you really don’t understand programmers, your best bet is to relate to this type.

The engine type enjoys the more technical aspect. If you can’t relate to this, you can’t relate. Even many programmers can’t (the kind who likes to make games).


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

#8 MirageUY   Members   -  Reputation: 110

Like
0Likes
Like

Posted 15 December 2011 - 10:41 PM

I like coding xD, i'm just starting but i feel something when you run your programs , and when i code it i feel something good about it, even better than when i appear in videos of games(like dota) or when i do some imba move in a game and all the people call LUCK and you know that you are good and they are just jelous.

#9 jbadams   Senior Staff   -  Reputation: 18609

Like
0Likes
Like

Posted 15 December 2011 - 11:33 PM

I think Telastyn did a pretty good job of summing up the general motivations for most programmers, and you can see in the responses that everyone else is giving that you're generally able to categorise them into one or more of the groups outlined in his post. For me, it's mostly about encountering and solving interesting problems, coupled with a bit of seeing the cool things I can create.

I also sometimes program simply because I need the money -- these are generally run-of-the-mill jobs without any particularly interesting problems to solve, and which don't take and overly burdensome amount of time. The programmers Telastyn calls "accomplishers" above may gain some satisfaction from these sort of jobs -- if they can produce something that meets the specified requirements and makes the client happy then they will be satisfied with the work.

#10 MirageUY   Members   -  Reputation: 110

Like
0Likes
Like

Posted 15 December 2011 - 11:47 PM

I think Telastyn did a pretty good job of summing up the general motivations for most programmers, and you can see in the responses that everyone else is giving that you're generally able to categorise them into one or more of the groups outlined in his post. For me, it's mostly about encountering and solving interesting problems, coupled with a bit of seeing the cool things I can create.

I also sometimes program simply because I need the money -- these are generally run-of-the-mill jobs without any particularly interesting problems to solve, and which don't take and overly burdensome amount of time. The programmers Telastyn calls "accomplishers" above may gain some satisfaction from these sort of jobs -- if they can produce something that meets the specified requirements and makes the client happy then they will be satisfied with the work.


where can i get that kinda of jobs.

You are really right. You are the problem solver
I'm the creative

#11 mhagain   Crossbones+   -  Reputation: 7978

Like
0Likes
Like

Posted 16 December 2011 - 07:03 AM

Seeing the awesome stuff that the designers get up to with my code. It's a constant battle - trying to pull back from feature bloat but also move forward to adding more cool things for designers to use, but in the end it's worth it, and I view my code as being something that enables designers to realize their visions, something that allows them to go that extra step from "functional and fine but a bit meh overall" to "OMFG, no f--king way!"

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#12 web383   Members   -  Reputation: 775

Like
0Likes
Like

Posted 16 December 2011 - 10:45 AM

So what is it that programmers really want when making a game?


I'll keep this simple. Programmers want a set of requirements when developing any software.

#13 landagen   Members   -  Reputation: 376

Like
0Likes
Like

Posted 16 December 2011 - 03:08 PM

I would say that to varying degrees, I am driven by all 3. If I had to pick one it would be solving problems. The biggest high I get from programming is coming up with elegant solutions to problems. I also like creating powerful features and bringing something to life that I have imagined/designed.



#14 Kyall   Members   -  Reputation: 287

Like
0Likes
Like

Posted 17 December 2011 - 03:46 AM

From programmer's perspective the best designers are the ones who don't change their mind, or if they are going to change their mind, they give warning to such. So basically plan out what you want, how it relates to other features in the game and how it ties in to the game experience as a whole; before you call code billy over to get cracking on it. As to the changing your mind thing: If a designer gives a programmer enough of a warning that they just want something prototyped to see how it could work, the programmer wont waste a bunch of time creating an architecturally beautiful bit of code that is just going to be bastardized and thrown out.

Other than that, tell a programmer that you want an architecturally beautiful bit of code for important system A or B, in case later on possible/non-mandatory system C or D will be tied in with it, and they'll probably enjoy that, a nice clean system to be proud of, in a field where so much is just hacks or spaghetti code thanks to time constraints and bad planning.
I say Code! You say Build! Code! Build! Code! Build! Can I get a woop-woop? Woop! Woop!

#15 L. Spiro   Crossbones+   -  Reputation: 13599

Like
0Likes
Like

Posted 17 December 2011 - 06:46 AM

From programmer's perspective the best designers are the ones who don't change their mind, or if they are going to change their mind, they give warning to such.

That isn’t really wrong, but it isn’t the best designer there is. That is just a designer who knows how to compensates for an inexperienced programmer.

Naturally programmer frustrations go down when the designer behaves this way, but I wouldn’t ask him or her to do a worse job to compensate for my inability to create a flexible product that could easily be expanded to meet his or her needs.

These days I am not really bothered by a designer who changes his or her mind, even without warning, as I tend to expect it anyway and simply code the most logical solution for whatever feature is being implemented. I use the word “logical” here because to me that is what you would call the most flexible system. You sit down, you think about why the system exists, check against your in-head database of all games you have played that share the same or similar feature, consider what the designer was thinking when pondering this system, and consider how he or she might be tempted to change that system in the future. Then code.

If you know of a super-fast way to code it but it will prevent a certain level of upgrade, talk to the designer about it first and make sure he or she understands perfectly clear that “if you are willing to wait a while, X feature could be possible in the future, but if you agree to never ever under any circumstances decide to add X, I can get it done in just a few hours.”

If the designer then decides to add X, you can stand against him or her on very firm ground, and it is likely management will be on your side, or at least blame the designer instead of you if they decide to add X anyway with a delay in the project.



I would say the best designers are the ones who can motivate the team.
Which basically boils down to having good ideas for the game.
When programmers want to see the end result just as much as the designer, they will be much more proficient.

I would go so far as to say that the designer actually puts a hard cap on the energy, anticipation, and motivation of the rest of the team.
#1: I have worked on a project where the designer was a total idiot, and was very excited to release a crap game. The company put $70,000 into it for God-knows-why while I protested all along. The net return was about $300. After 2 years.
#2: On the other hand, I have worked on a game that seemed to have some potential, but the designer wasn’t really into it, so how could I get into it? I made suggestions but he didn’t want to bother, so I always knew a good premise for a game would turn out to be a crappy implementation of it.


The designer might be more excited than you, but never the other way around. You can’t be more excited than the designer, so the best designers are the ones who know that, and can motivate the team, make them share the vision, and keep pumping out good ideas for gameplay. He or she also listens to input from people who have a strong sense of a “good game”, even if that person chose to do programming instead of designing. Posted Image


From the programmer’s perspective, I might be a little annoyed if I have to make a major change to my code, but if I can agree with the designer’s vision and am as excited about the new system as he or she is, I will do it happily.


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 Acharis   Crossbones+   -  Reputation: 3718

Like
1Likes
Like

Posted 17 December 2011 - 03:36 PM

Well, as a designer who learned programming for instrumental reasons you won't be able to understand what makes us enthusiastic. Actually, it would be very weird if you did :) Think of us as women. You can't understand the true soul of a woman, and you even should not. The same goes for programmers.

The deep hidden enthusiasm in our souls is the love of coding. At least for those who stay programmers in the long run. We love coding. If we don't have a game to code we would code "something". There is many of us who simple get an urge to code something, and if we happen to have no project of any kind we try to think up something. We could go on some forum and answer someones coding question (obligatory posting our version of the code of course).

There is also a lot of standard enthusiasm reasons which are identical to designers (like pride of finishing the game, customer/player's satisfaction, etc).

Actually, we don't care if you understand us or not. It is not important. What is important is what we HATE. We do love programming because we love programming and no amount of your motivation tricks could change that. We don't need or want you to care about our enthusiasm. We do care about you not making problems and obstacles. That's the key. You are worrying about programmers being motivated, but you know, we are worrying about the designers too. Personally (which means it can be completely untrue) I think programmers have much higher inherited enthusiasm than designers (because we love both coding and making games, while you can only love games, therefore our enthusiasm should be double of yours :D).

Don't worry about our entuhusiasm. Worry about you not wasting our effort. Worry to not make us throw away big hunks of the code (we are perfectly fine with throwing away smaller parts, we do know that designers are the pesky annoying creatures by nature and we hold no grudges because of this), worry to not change the requirements in the middle. Just tell us before we start coding everything you can and don't change your mind later. We will love you then :)


(I'm both programmer and a designer and I code what I designed. Oh, how many times the programmer in me wanted to kill the designer in me for wasting my effort...)

Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#17 Bregma   Crossbones+   -  Reputation: 5133

Like
0Likes
Like

Posted 17 December 2011 - 04:40 PM

It's the dance of the data.

I'm the choreographer, and I make the data dance. Just like human in a real dance, each datum has its own individual moves that doesn't mean much, but when you stand back and look at the gestalt, the whole is bigger than the parts. It's art. Explain art.
Stephen M. Webb
Professional Free Software Developer

#18 MJP   Moderators   -  Reputation: 11352

Like
1Likes
Like

Posted 17 December 2011 - 05:05 PM

Booze, mostly.

#19 Dwarf King   Crossbones+   -  Reputation: 1855

Like
0Likes
Like

Posted 20 December 2011 - 05:34 PM

#3 and #4 for sure :D

"The only thing that interferes with my learning is my education"

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

 


#20 viper110110   Members   -  Reputation: 616

Like
0Likes
Like

Posted 20 December 2011 - 07:47 PM

Watching the line count go up :)

And watching things move




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