At what point should a programmer get involved in a project?

My friend and I are interested in making a game with Unity in order to boost our student resumes. I am looking to go into programming/development, and he is a film major who is very interested in making games. I have begun exploring some tutorial videos and I have come to realize that the programming aspect is not where most of the work needs to be done.

My friend is going to be the one that takes care of the artwork/design and also the overall direction of the game. From my perspective I handle the programming stuff to make sure that things work in the way that they should, and also to get the program to the different platforms, and he takes care of literally everything else.

So, back to my question, when should I take over? Should this be something where he works with Unity to design everything that needs to be designed, and then I take over to make it work? Or, as the programmer, should I be involved in every aspect?

programming should be done from day one to assess all the problems. If it’s not then you’re heading for a complete disaster of wasted work.

You’ll be partially involved in every aspect. For instance, he can give you all the art assets and designs in the world, but you have to make them work in the system. This means talking back and forth about things like scale, shaders, etc.

On the other hand, you’ll need to be talking with him about whether or not features look and feel the way they were intended. It is a world of difference between creative design and technical programming and, in my experience, programmers make the ugliest games in the world (while designers write the prettiest documents).

So, to answer your question, there’s really no specific point at which you’ll take over or he will. You’ll need to work together and communicate extremely well throughout the entire process.

Well, what I’m having trouble with is balancing between all of the “visual” stuff that needs to be in a game, and all the logic that needs to be implemented. I really don’t want to handle anything art/level related, so I don’t know if I should be the one taking charge at the start of the project.

When you say involved from day 1 to asses the problems, do you mean that I should be monitoring what the designer would do to make sure everything would work in the end? Cause if that is the case I have no issues with it.

As far as level creation, or map creation, or anything an end user would see, who would be creating this within Unify, a programmer or someone else?

I kinda think if you separate the artist from the programmer too much, the project wont look like how either of you wanted it.
Even though you can do each bit separately its kinda good to oversee both, seeing the big picture helps in my opinion.

A level designer would come up with the design (typically on paper, or blocked out with primitives). Then it doesn’t really matter who puts the final pieces together in the game. You could do it (using their design) or they could do it, to ensure that it flows as expected and to make any last minute corrections.

A good idea if you have not got a foundation to work on yet is to make small segments of code that your game will need, like various input scripts, camera control, programing behind huds and menus even if the art is basic that can be changed later, special effects that you might need. Basically small bits of code segments that when you ready to get into your game development and knowing what your going to make you have lots of bits of code to work from.

Its something to do in the mean time while your waiting for the game to be put together at a level that your needed, but you should really be working with everyone from the start to simply state what is possible and what is not from a programing side. Also as your a small team everyone should have input in the game design even if its just brainstorming sessions where you bounce new ideas off each other.

Good luck with your game :slight_smile:

Code a VISUAL EDITOR for your level designer, the editor should be user friendly thought.