Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have someone who wants me to develop a game for them. I do not intend to continue developing the game after its first release (he wants me to develop it for commercial use). To make the project easy, I was thinking of using the Unity game engine. I am going to say right now, I am a kid heading into college, he wants to pay me, but I don't want to be paid, and this is for his own personal business endeavor, I am afraid if I hand off this project to a more established professional, even if I use source control, he will disregard it, throw it away, and the part I am most afraid of tell him I did a cruddy or lazy job (because I used Unity). What are your opinions on this situation, and the use of Unity in this way?

share|improve this question

closed as primarily opinion-based by Doc Brown, GlenH7, gnat, jwenting, MichaelT Jun 30 '14 at 15:50

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Have you tested it on mobile? I would be concerned about how Ubuntu's Unity convergence strategy for Ubuntu-touch would affect the project. – NoBugs Jun 30 '14 at 2:40
@NoBugs This is concerning the Unity game engine, which is different than the Unity UI. – The Floating Brain Jun 30 '14 at 17:30
up vote 7 down vote accepted

With the exception of people sunk in the real programmer syndrome, no one is going to disregard you for using Unity. Unity is a framework, like many others, that helps you make software. Saying that using 3rd frameworks and libraries is being lazy is like saying that driving(or using public transport) to work instead of walking is being lazy. While that might be true, you need to do it if you want to get there in time and stay long enough to actually do something before you need to get back. The time you save by not walking is used for being productive - which makes it a nice analogy for using frameworks and libraries.

As for doing a "cruddy" job - that's expectable. Like you said - you are "a kid heading into college" - no one expect you to do a top quality job. After you graduate, when you look back at that project, if you won't be able to think that this is a crappy project created by an idiot programmer I would say your college wasn't doing a very good job(assuming you are learning computer science or software engineering).

The only people that will hate you(not laugh - hate!) for doing a bad job are the ones tasked with maintaining it. But while you should try and be considerate toward the people who'll have to deal with your code in the future(high chances it'll be future you), this should not stop you from coding, because it's hard to improve without working on actual projects and making actual mistakes that'll come back to bite you and by doing so teach you the best lessons you can possibly learn. Your (non) employer might suffer from this if they ever want to continue the work on that game, but you shouldn't feel bad about that because you gave them that game for free.

Which leads us to the next topic - why are you giving them that game for free? Yes, you said they want to pay you and you are the one who want to work for free, and while there might be some drawbacks for getting paid(like being as obliged to the project's deadlines and quality), it still doesn't explain what you gain from working for free.

Now, I'm not saying you shouldn't make this game for free - I'm saying you shouldn't make this game for free for them. You are the one doing all the work - you don't need them to make that game. Even if you want to make that game for your portfolio, or for experience, or just for fun, that still doesn't explain why you should hand that project to someone else that'll make money out of it without you seeing a dime. Why shouldn't you keep the copyrights to that project, and be able to license and distribute it as you please?

share|improve this answer
Thank you very much for the reply! :-D I was worried about Unity in particular because it comes with a clunky toolkit and the projects come with a bunch of files which no one knows what they are for, and it is not a code base you can link up, I know your position, but would you say that plays a role? Once again thank you very much for the response :-D – The Floating Brain Jun 29 '14 at 22:19
"a bunch of files which no one knows what they are for"? Surely someone created those files, or the program that creates those files automatically - those guys probably know what these files are for. It is you who doesn't know what these files are for - and that's OK. I mean, you probably don't know how the compiler you use works behind the scenes either, and that doesn't stop you from using it? That being said, general knowledge about the implementation details is always welcome(and often required in interviews), so it's a good idea to google these mystery files and expand your knowledge. – Idan Arye Jun 29 '14 at 22:47
Thank you :-) So you do not think the bulkiness will be an issue? – The Floating Brain Jun 29 '14 at 22:50
I'm not familiar with Unity, but I assume that some might be configuration files that you must keep. Some might be temporary or log files that you can remove when you distribute the project and that you shouldn't commit to the source control. And some might be auto-generated/fetched files that should also not be committed to the source control and should be generated or fetched as part of the build process. You don't have to be familiar with the internals of each of these files, but if you have general understanding what each one does you can decrease the bulkiness. – Idan Arye Jun 29 '14 at 23:33
@IrdanArye Thank you, but my main concern is the unity editor toolkit from which the developer works: I am wordied that beacause its kinsa clunky and beacause I am inherently forcing the to use ot the next developer may resent me for it XD – The Floating Brain Jun 29 '14 at 23:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.