I’m a beginner in Unity (I’m making my first game, but can use the editor), and I had a couple of general questions so I figured it would be better to combine them all into one post. The game I’m making is a 3D version of Space Invaders, as I figured it would be relatively simple, but not a complete clone. The target platform is iOS, and (being a beginner), there are a lot of things I have to stop to search and read on. My goal is just to make a small (but decent) game and ideally, I don’t want to spend more than a year on it, as I’m doing this as a fun project on the side, not a hobby or profession. Here are the questions I had:
Am I overshooting? My original idea was ridiculously complex, which is why I simplified it. Also, I’m only working on it for 1-2 hours on weekdays.
Any specific tips for developing a mobile game? I know there are a lot of different screen sizes with Apple devices, so I was wondering how I can make the UI dynamic to match that.
How can I make my game something that people will enjoy? It seems like a shallow question, and I certainly don’t expect my game to be largely popular, but if I’m going to put in a few hundred hours of effort, I want to end up making a somewhat good game.
This is a little specific, but I have a hub design left over from my original, overly complex idea, and I was wondering if I should still use it. If I did, it would be a structure in which the player could buy things, change the spaceship, etc. However, I wasn’t sure if this would look out of place, and if I should just make the shop and hangar a UI feature. Additionally, the character for the hub, the decorations, and the UI already exist.
I would appreciate any advice, even if it doesn’t answer all four questions - thank you in advance!
You’ll know after a couple months of work. It mostly depends on you, and nobody knows you like you know you.
Start from your best assumptions about what is fun. Then, get people to play it. Watch them. Iterate based on this data many times until people are having fun.
Also, regarding:
Of course what you consider “decent” and what anybody else does is subjective. But I’d imagine a decent game of any scope probably taking more like 1,000+ hours to create, all parts of the production considered. Less than that would be like, a 30 minute game or something prototype-level, but not a solid, bug-free, actual game.
Just my assumption, maybe somebody can point to counter-example.
Thank you! But… would it really take 1000+ hours? As I mentioned, this is a small project on the side (probably my first and only game), and I was hoping to finish it within a year working for 1-2 hours on weekdays. All I’m trying to achieve is a small game that isn’t bad or sloppy - I’m not sure how to translate that to number of downloads (perhaps a few hundred?).
Depends on what you know right now, how fast you learn, how good you are at prioritizing task, how good you are at discovering unknown problems, how quick you troubleshoot, how smartly you scope the project, how smartly you can compromise and consolidate to meet deadlines and still be happy with your product, and on and on…
I just don’t think that I could make anything I would consider decent with less than 1,000 hours. Just to jump through the hoops of publishing is a mountain of tedious work.
An example, you might think you’ll have simple UI or something like that, but then when you get to step 3 things aren’t working like you expect and it takes 3 hours to trial and error what the problem is. And then you can start your work for the day. And then you hit another weird problem.
I think you should either put a deadline on it and say, “to hell with the quality, I will publish something by the date,” or go opposite and say, " to hell with time, I will use as much time as I need to learn everything needed to hit the quality bar I have in mind."
But to expect to make a decent game on a deadline when you are learning A, B, C’s I think is probably unrealistic expectations.
That’s a good point. My goal isn’t to make money, just a game I can be proud of. I’ll probably plan on publishing May, 2023 - a little late for a game of this size, but it gives me time to add cool features, powerups, etc. while still working with my time schedule. I can script confidently, I just need to know the syntax, and I have worked on my game for a few months now, so I have a handle of the Editor as well. Your advice was very helpful, but one last thing - could you please help me out with question 4?
Thank you again for your reply. I’ll probably work on more features as I mentioned previously and revisit the issue in a couple of months. Most likely I’ll continue looking for advice regarding that, but as of now I am leaning towards having a UI menu with a shop and hangar as opposed to a physical one, because my game is a 3D version of Space Invaders, an arcade game.
I’m going to give you my advice and perspective, both driven by my own experience, so take it with a grain of salt.
If this is truly your first game:
I do think you are still overshooting. You should finish it relatively quickly. My first game took me 14 hours (in one sitting but still) and my second one took me 40-60 hours (roughly a week). I think you’ll be proud of literally anything you finish if you are just starting out.
Imagine you put even a modest 40 hours into something. Its the analogy of being thirsty and being given a firehose. Theres about 1000 reasons most people don’t start building big applications or projects (in any skill) as their first.
The brain works similar to a muscle. You stress it, rest, then stress it again except this time its just a little bit stronger. Important: if your goal is to learn and get much better, much faster. You need to make even smaller projects and finish each one. Rather than even a small-medium game. I say this from so much failure and burnout dreaming big and getting frustrated.
If you look at any skill really. You always want to start stupid small. And then you either build upon that or start over and add a tiny bit more complexity. This is how software/programming is especially while learning. You don’t even want to make a calculator at first. You want to add 2 numbers together and print them to a screen. Then you build upon that.
To sum up my whole point and try and drive it home, don’t worry about selling a game. Don’t worry about it being fun. Only worry about it being small enough in scope to finish relatively quickly and hone the fundamentals, that is, those skills that will be used no matter what game, genre, etc you want to make.
I’d make a game in a day (8 hours). But finish it. Finishing things is a skill. Its knowing what is absolutely essentially to what you are making and focusing on getting that done, and then if theres extra time you can add features or polish. Then I’d make a game in 16 hours. 32 hours. 64 hours. 100 hours. Whatever you want.
Please don’t take this as “it cannot be done”. It can and has. But for the sake of learning I see it as a bad way of going about it.
I think I understand what you’re saying, but I was planning on this being the only game I build - this isn’t going to be a career, or even a hobby. I’m so far using a similar concept to what you’re describing: I’m building a simple prototype and then with whatever time I have left till a deadline I decide, I’ll add in more features. I’ve already started building the game, and I absolutely intend to see it till then end. Overall, I can estimate that I’ll spend at most a total of 200 hours building the game (including time spend figuring things out). Do you think this is reasonable? If not, how can I edit my idea (as I’ve spent a good bit of time on it already)?
It‘s not necessary to finish in order to learn. But certainly eventually you want to have something finished enough to also learn the whole release process and so on. But sometimes it‘s better to start over or fresh rather than forcing yourself through a muddle of frustrating issues without learning much on the way. It can be very insightful to set a project aside to do a couple others and come back to it later and realising how much you‘ve learned since then.
I would strongly object to the 1 to 2 hours, this is not enough time to get any serious things done and will create issues.
I would go for at least 4 to 6 hours in weekend and less weekends per year, than spead the time to tiny parts.
Sometimes it takes me one hour to concentrate, think what need be done, strategize on it and then start coding.
Coding 1 to 2 hours may be very little to finish a feature or stepping stone towards a feature, so if that happens is best give it more hours and finish than say will do it after 7 whole days, when it may take you 1 hour just to remember what you needed to do and where you are.
Again, that is helpful advice, but I’m attempting to make a single game. As I said, this is a fun, side project, not a full hobby. I’m hoping to make this as a small game, publish it to the App Store, learn from the experience, and be proud of what I made. What you’re saying probably better suits someone who is trying to pick up game development as a hobby or profession. I know it seems odd to try and make a mediocre game without making smaller projects first, but I already have a small prototype with working enemies, lasers functions, waves, etc. The reason I was asking this question was to get a second opinion on whether I can go through with my current project. I appreciate you taking the time to respond!
To clarify: I’m working more or less 1.5 to 2 hours every weekday (Mon - Fri) amounting to about 7.5 - 10 hours in a week. That’s the time I spend actually in Unity coding or editing the scene - outside of that time I still plan what to do next, so that whenever I open Unity to work, I have an idea of what needs to be done. Thank you for taking the time to respond!
In this case i would still prefer more hours in fewer days and not dilute the time, make it goal based, like say this weekday will finish that thing. Btw, why not weekends ? Weekends is the best time by far to finish things in a useful way if have a day job
That’s true, and maybe different people have different work preferences, but I don’t usually have to spend time recalling my past work, and I don’t set a timer or something - I get to a stopping point and exit Unity. Also, it’s something I prefer to do on weekdays - but regardless, since the thread is getting long I’ll summarize what I’m asking:
I am a beginner but familiar with coding and I know my way around the Unity Editor. I am making a 3D game based off Space Invaders for iOS, with a spaceship moving left/right and shooting at enemies moving towards a planet hidden behind the spaceship. The enemies and their spawning algorithm, the spaceship, the spaceship UI, the score, health, and death variables all work. I’m more or less close to a full prototype, and then I was planning on adding on to the game from there depending on the time I have. I work 7-10 hours in a week, and my end goal is to publish the game by May - although I don’t expect it to be incredibly popular, I want it to have (hopefully) a couple hundred downloads, and I want it to be something I’m proud of. Based on all this, would you evaluate my expectations as realistic, or do they need tweaking, and if so, how? Thank you all again for your responses!
FYI, I’m still looking for a response, but to the post directly above this, as my original questions were answered by the wonderful community! Thank you in advance!
I saw that you are targeting iOS, and I have to say that is not a very straightforward platform to relase on.
Of course you need an iPhone, but also a Mac (IDK if you already have one) with Xcode installed, and an apple developer account (99$/year I think).
I guess you are targeting iOS because you have an iPhone, but android is more accessible; you can build it to android phones for free, and distribute the apk as you want. To publish in Google Play Store you only need to pay a one time 25$ fee.
Another option will be tobuild it for Windows, Mac and Linux, and put the game on itch.io completely free.
I have actually heard that building for iOS can be a pain. Yes, you’re correct as to the reasons I want to publish to iOS, and I’m actually making the game on Windows, but I have a friend with a Mac who’ll let me use a hard drive to upload the game on their device. The main issue I’m worried about is screen size - Apple has dozens of different ones across iPhones and iPads. Thank you for your response! However, what did you think about my post before this (above your reply)?
My opinion about it is that making your first project in one year is too much.
IMHO, you should make just things that work: A simple fps controller, an AI that follows you, some explosions that throw away rigidbodies (the last one is too much fun). Just things that work. That way you start learning the fundamentals. And then, take all your knowledge, mix all that prototypes, and you will have a game.
You should also join some game jams. The constant stress and adrenaline of making a game in just one day/weekend/week, is too much fun (which says a lot about us, game devs :p). The satisfaction you get after finishing it, and see people playing it, it cant be told just with words.
And then, there is the last step, making a commercial game. But Im currently just making my first one, so I dont have any experience.
Thank you again for your response! One year may be too much, but that’ll probably be the worst case scenario. Honestly, if things work out right, I’ll hopefully take half that time. Also, as I’ve mentioned previously, I’m not planning on making any games after this one - just one small game for the learning experience, publish it, and I’ll probably be done with game development. This is the reason I want to spend more time on it (so it can be somewhat OK at least), and because I’m working on it less often than most people would. My hope is maybe two hundred downloads and 4 stars (even if only by 15 people) - as I said, I want it to be a small but decent game, and it’s just a side project. Right now, I’m working to getting to a prototype (I’ve been working for 1.5 months, 7-10 hrs a week). I so far have music and sound, a spaceship with UI to move left/right, a pause feature, enemies that move towards a “planet”, lasers that can be continuously fired, and a starting UI. I’ll likely spend the next few weeks polishing it up, and then I’ll spend a couple of months to add features (like power ups) at a slower pace. Thank you for your help!