The biggest thing I can say is, donât be like me and end up having 200+ near finished projects and actually finish something.
I get 95% done with a game and just stop because I donât think something is worthy enough because of one tiny fault in design that I donât like.
So yeah, just actually finish something, I canât stress that enough. Iâm finally training my self to do that, and Iâve actually stuck with my project, hopefully will release soon.
Use input managers instead of embedding input into different components. This way you can enable/disable inputs depending on the state of the game/player. (If the gameâs in the main menu, then the âJumpâ input doesnât need to be firing.)
This might be a bit much for new developers, but keep in mind that game development is still software development. Unityâs great for hacking together quick prototypes, and you should definitely take advantage of that to get feedback on your idea before investing too much time.
But keep studying software development methods, too, and try to employ them rigorously in your real projects. Things like: use version control, code defensively (e.g., null checks), write your tests (unit tests, etc.) first, decouple dependencies (such as the input scenario @Stardog just mentioned), and document your code (even if youâre solo, assume someone else will read your code, even if itâs just your future self). Developing robust systems can be a rabbit hole, though. Itâs easy to burn too much time trying to make a perfect, reusable system when your time would be better spent making something well-designed but purpose built for your specific game. Formal software development practices might sound like they add more complexity, but they really just add rigorousness. Complexity is a jumble of hacked-together, undocumented scripts that barely hold together with duct tape and crossed fingers.
Speaking of solo vs. team, this thought might be more controversial, but: embrace the Unity editor. If you bring on team members, especially artists and level designers, theyâll probably already be familiar with working in the Unity editor. Even if you write custom editors, they should be able to pick them up quicker than if you make them, for example, try to work with some esoteric, custom data format outside of Unity to set up scenes. YMMV on this one, though.
Good point. Thereâs always Feedback Friday. Evaluate early and often.
@TonyLi : Iâve thought about doing Feedback Friday. But I have the realization you will only get answers from a developers prospective, not really a consumer standpoint. No matter how much we try, we are developers - we see things either the average consumer will never notice (1 pixel off button) lol.
I mean Iâm sure it can certainly help. But Iâm sure you get what I mean. We just see and notice things most people wonât notice, so we get really nit picky over slightest of things, such as âman it took this photo 1 milisecond to long to loadâ lol.
Good point. Thatâs the same issue with the TIGSource Forums. But at the same time game devs are also gamers, so they can sometimes put on their âgamerâ glasses. I often bring my prototypes to local meetups. You get a totally different level of feedback in person. Iâm sure there are some good meetups down your way.
@TonyLi : Iâve been wanting to go to one. But the closest one to my area that I can find is in Atlanta, GA. (3-4 hour drive). Kinda far just to show like 10 people who will be there lol.
I may be the closest developer to @N1warhead_1 in Blue Ridge Georgia, two miles north of Atlanta. I have the same issue as himâŚ300+ projects on my harddrive with what i think is some small flaw:) It is a b***h being a psuedo-perfectionist.
Thatâs actually further away from me haha.
Iâm right near Savannah, GA. (Hardeeville, S.C.) Iâm like literally 3 miles line of sight from the big bridge if youâve ever been there.
Yeah man, Iâm really bad with perfection. if something seems off, Iâll literally start the entire project over from scratch⌠Itâs a habit Iâm trying to stop doing. But Iâm glad I do that, itâs taught me so much. Stuff I wouldnât have learned as quickly otherwise.
I hear you. Thereâs nothing like the âpeer pressureâ of a group of folks who are excited to play your game in-person to push you into getting it into release shape.
@N1warhead_1 - I shouldâve posted this recent article yesterday. Nicholas Laborde documented how he helped build a gamedev community in an area (Lafayette) where he thought he was the only dev: How to Build a Grassroots Indie Community. SCAD appears to have a healthy game development program, and they host an annual GDx conference. So you might have devs right down the road from you.
@TonyLi : I honestly forgot all about SCAD hahaha⌠I know they use Unity, as they were hiring an instructor about a year ago for that. I would have applied, didnât even need a degree - just needed to be a AAA developer lol.
Because its just a C# script. An Object Pooling System could also be dependent on how you have structured your game.
Just watch the 49 Minute Video I shared with you and use the Simple and Generic Object Pooling Script that Mike makes in it.
But you would agree that any game with repeating elements in Unity should use object pooling, something I cannot just add into my game via the default menu options?
Maybe? Or you could write generic (Well, as much as they can be) scripts and reuse those in projects. I have my own âUseful Scriptsâ folder that ive been building up for a while with examples and common functionalities that I use whenever I work on a side project. Most developers I know do the same thing.
comment your scripts, even if you are the only one who ever will see them. My biggest surprise about myself in 2016 was how many times I looked at my own code and couldn´t figure out why I had done something a certain way, only to realize a week later that I had originally been a genius.
For me - Finish a game, start the next. I see comments floating everywhere about abandoned projects, and I feel the urge too, so my advice is to not allow your brain to drift to the next project until you are nearing completion of your current one. I can see why people abandon stuff mid-way because the next project is still ´perfect´ and the current one is riddled with problems that must be solved and things that didn´t work out the way you expected. It is just a case of ´the grass is always greener´⌠and then you get into the next project until it also has problems and imperfections⌠and then jump once again to the clean slate. For me the answer was easy, I just do not allow my brain to spend too much time designing the next game.
Edit: Object pooling built into Unity? It is, it is called C# There are things that are specific to game types, building it into Unity would just mean it would have to have so many options that it would take longer to set it up than it would be to just write a quick script anyway.