How to plan ahead?

So I have been working with a couple of different game ideas, (all in my head, haven’t had time to put in any unity-related work lately) and I’ve come to the conclusion that there are certain aspects of the game that I simply cannot do. I can make a single player game with no graphics whatsoever, and that’s about it. I plan to learn network code sometime down the road, but I will never be able to make my own art.

My goal for the near/farish future is to make a game with no graphics and single player campaign only, and then add visual assets into the game, release it, and possible have a patch somewhere down the line for a PvP multiplayer team deathmatch, or something like that.

How do I make a game so that it is as easy as possible for me to import art assets later, and how do I design code so that future multiplayer implementation is as painless as possible?

Thanks,

Lilwiebe (Formerly MTracerStudios)

Need to stop thinking so much, I did this way too much. The fact is that most people fail when starting and try to over plan something. Don’t worry about future consequences when they stop you from even starting. Just get in there and write your heart out. If you think you need something later, do a little research on google and then keep that in mind later you need to do something. Then just do it.

One of the tools you’ll need to develop and/or polish is the ability and willingness to refactor your code/project. At some point you’ll find a weakness in your chosen organization of your game and you have to get in there and clean it up.

This usually means simplifying or breaking big kitchen sink classes into clean separation of concerns, or in my case spotting classic copy and paste moments where the code is begging to be broken out into its own function, or recognizing a “has a” relationship you can break out into its own component, not because you can, but because it makes your code cleaner or more robust.

The truth is that at the outset you lack the experience necessary to design your application in an optimal way. you gain that experience by hacking out the needed functionality and then paying attention to the shortcomings, and what systems are the least elegant. Attack them piecemeal after you have more of the actual facts about usage and it’ll fall in line.

This is probably not the answer your look for but I believe you are asking the wrong question. I’m not entirely sure what a game with no graphics really means but starting without graphics and then retro-fitting graphics later would be a lot hard than making it with placeholder graphics from the start.

From the comment about multiplayer it sounds like this is quite a large scale project. I’m not sure how many completed projects you have under your belt but it is important to know your limitations. If you want to get experience writing core game logic, then just design a simple game where all the characters are cubes and go from there.

If you try to embark on a big project without the proper experience you will learn a lot along the way but you wont come out with a finished game. You can spend months/years developing something that is basically a prototype. The major reason is that you have to solve so many problems along the way, depending on the type of game that could include: player control, AI, serialization, scoring, networking. Any one of these problems is relatively easy to implement in a simple way but making all of them work together is challenging. Expecting your first attempt at all of these to be good enough for a full scale game is unrealistic. If you took your first ever pasta sauce and your first ever garlic bread and your first ever pancakes and a bunch of other dishes you have never cooked before and make a 10 course meal, and try to serve it side-by-side with restaurant quality feast it would not end well.

It is the same thing here, every time you implement a serialization system you learn something new, and something that will influence the design of the next one you right. That is true for every problem that you solve, and for large scale games it is important to have a good solution to problems and that requires experience.

Games are HARD to make. Here’s what I do:

Forget fancy graphics. Forget networking. Just build ONE TINY THING! Once you have a simple FINISHED project, bask in that feeling for a bit. Then put it on the shelf and start on a new one (re-using what you can).

Hundreds have posted, just like you. They have big ideals and take a HUGE bite. But in time, they realize it’s too hard - they quit. DON’T GO THERE! Here’s my recipe for success: FINISH a small project. Learn from it. Improve. Take a break. Repeat.

Gigi