Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

The first small victory: strange feelings

Discussion in 'Game Design' started by DanielDemidov, Aug 27, 2020.

  1. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Good afternoon everyone!
    So, as some people here may have guessed, I have never before managed to start a project and build it til a somewhat playable prototype. All of them were abandoned either because of the scope or because of the lack of the necessary skills.
    Today I've decided to try something until the end - or at least a playable prototype. And I've created a minimum viable product for Space Invaders. It works, it plays and it has score. This is my first playable prototype ever.
    But there's something wrong with it. It really feels not like a solid foundation of a game, but rather like a strangely built unstable house that's just about to collapse. I mean, it just doesn't generate this feeling that the prototype was done 'in the right way' (even though, I've watched several tutorials on every important mechanic in my prototype). While, as far as I understand, if you do it right, it gives that feeling of a solid base that can be expanded...
    Is it normal or I have missed something important in the process? What can be done about it?..
    Do I have to abandon it and start something new until I achieve that feeling?
     
    Last edited: Aug 28, 2020
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Yeah, given it's your first playable game, it's probably pretty crummy code. But most beginners can't sense that; if you can, then you are ahead of the game!

    My advice: call that a wrap, stick it into your "Projects - Completed" folder, and start something new. How about a nice Doodle Jump clone? You'll get better and better at it with every project you do.
     
    Lime_x, Ryiah, Red-Owl-Games and 4 others like this.
  3. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Thanks :)
    Frankly speaking, I'd like to try an idle game now. That's the simplest game possible and I wanna try to experiment with it to make it as interesting as possible. Don't know what the result will be like, but the process of trying to make something cool out of it sounds interesting
     
    JoeStrout likes this.
  4. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    First, I completely agree with @JoeStrout. If you can already sense that your stuff isn't solid then that's great. Many people just think "that's how programming is" and never tryo to improve. You already see it as a thing that could be better. You're on your way to becoming a good programmer.

    That only happens one step at a time, and it's ok to make lots of flawed or imperfect stuff along the way. I still do, regularly, after... many years. :)

    I suspect that this is a cause of the issue you're running into. There are a few reasons here.

    First up, tutorials about mechanics exist to explain how the mechanic works and ways to implement it. They don't look at overall project architecture from a software engineering perspective, just because it's out of their scope. A good bricklayer can still make a bad house if they're working to a bad design. Now that you're starting to recognise that there are flaws in the overall design (or maybe the lack of one) you can start to address that.

    Secondly, lots of tutorials just aren't very good. I don't know which ones you've been using, but when asked to help people find good online tutorials or resources which go past "here's how to implement <thing>" I've had trouble finding genuinely good stuff. Back when I was learning this stuff I resorted to books which cost money, because that's where the experienced professionals were sharing their experience. Unfortunately I haven't had to use such a book in a long time, so I can't give current recommendations.

    A few things I'd consider:
    - I'd suggest learning about software design and architecture. Don't go too nuts on this, take it one step at a time, but generally build up your awareness of tools you can use. Don't try to apply them all at once just because a book said so, instead try to recognise when you're running into an issue where something might help and then apply it and see how it goes.
    - Learning about data structures and algorithms is super useful. Good programming courses have a topic specifically covering this, for solid reason. I don't know a C# book about this because I learned this stuff in other languages, but it's 99% transferrable. This might be one I used?
    - For a general grounding in how game engines work under the hood, and how you might implement related systems yourself, the current version of Jason Gregory's Game Engine Architecture should be a great read. (I read an older version, and do recommend.) If you stick with tools like Unity you won't have to implement most of the stuff it talks about yourself, but knowing what they're doing is really useful because it gives you a solid model of what goes on behind one of your lines of code or in one of your scenes in Unity.
     
    Lime_x, Ryiah, DanielDemidov and 2 others like this.
  5. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Thanks a lot!
    Will learn about this. And now I have to try something simpler, yes? In order to learn how to avoid the issues mentioned above?
     
    angrypenguin likes this.
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    Simpler than what? If you've got to the point where you can finish stuff then keep doing that - picking projects and completing them. Make each one a little bigger than the last. :)
     
  7. jbnlwilliams1

    jbnlwilliams1

    Joined:
    May 21, 2019
    Posts:
    267
    Daniel, I'm with you here. I have started many projects, completed none...All for the silliest of reasons most times. I was looking to build the perfect project or nothing! No compromises. I have changed attitude and am finally building something. I will not be the game of the century, BUT, it encompasses many features that I have wanted to incorporate in my games. This is a huge step. The goal right now is to make a working prototype, no fancy graphics, just good code and solid foundation.
     
    DanielDemidov likes this.
  8. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Nice to hear! Good luck! Keep going and it will eventually lead to interesting games :)
     
  9. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Simpler than what I've created :)
     
  10. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    I think Space Invaders is a great sized starting point.

    Can you be a bit more specific about the kind of issues you ran into? People might be able to give more directed suggestions about where to focus your next steps.
     
    JoeStrout likes this.
  11. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Well, since these issues are not technical ones, I doubt I can describe them in a more specific way...
    It's just that it feel rightly made...
    Anyway, thanks for your support and all the warm words!
    Now I'm thinking about the next project :)
    Unfortunately, no ideas right now...
     
  12. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    Do you mean "doesn't feel", per the first post?

    To me the biggest cause of this is knowing that making a small change requires modifying a lot of code.

    To help with that I recommend learning about "SOLID". I don't recommend dogmatically following them all the time for everything, but they're very useful concepts to be aware of and to generally aim for in your design and code.
     
  13. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Yep, made a mistake in the previous post. Certainly 'doesn't feel' :)
    Thanks!
     
  14. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    I have a hunch that the thing you didn't nail is "gamefeel". Watch this talk, maybe it helps:

     
  15. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Finally got some free time to be able to return to game design :)
    Tried to make another game from scratch and failed. Now thinking, where I can go from my Space Invaders?
    Maybe a game about defending a country by moving armies between slots would be nice? Just like Space Invaders but with several armies at your disposal that you control by choosing their location instead of WASD. And some historical flavour :)

    Would it be nice or it would be better to make something else instead?
     
  16. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Every human has feelings but they aren't a useful thing to make decisions from.

    After you finish a project make a habit of having an After Action Review. Sit down for a few hours and write out everything that went good, bad, and then take a few days thinking of solutions to problems you faced - whether it was technical, personal, managerial, anything and everything. Write all of it down and not in a shorthand way. Got to make sense of it a year from now.

    Each time you finish a project go back and review your notes. Pretty soon you'll be your own best teacher because you'll know which lessons you need to learn and how to design the curriculum.

    Learning takes a lot of time and failure. Just keep going.

    And always remind yourself of the end goal. Make games that sale, turn a profit, so you can do it again and again, right? So clean code and efficient workflow are important to meet that end but they don't supersede it. That means if you shift goal post around or do sloppy work cause its the best you can do - doesn't matter. All's well that ends well.
     
    JoeStrout and Martin_H like this.
  17. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Thanks for the advice!
     
  18. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    What does this even mean?

    When I'm making creative stuff I throw out a lot of it as I go. I try a thing, if it doesn't work, or if it does work but it doesn't feel right, I drop it and try something else. I keep doing that until the thing I am making is good enough, and then I call it done.
     
    DanielDemidov and Martin_H like this.
  19. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Well, I tried to finish my old game about Gandhi and.. failed :)
    Have been trying to do it since 2015. But now I feel it's kind of normal - it would be a better idea to evolve ideas I managed to implement in Space Invaders clone. Like, take the core, change it a bit and add something new. While the game about Gandhi would require absolutely different mechanics
     
  20. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Just FYI, you don't need to think of it as failure.

    I've worked on a game off-and-on for a while. When I realized I'd have to make my own navmesh solution to allow walking, flying, and swimming, I put it on the backburner and started on something simpler with the intent to release and gain experience. I still plan to finish my other idea, but I'm waiting until the right time.

    You should figure out why you "failed" or are stopping. If it's because you need to do big things you're not ready for--great. Build up to it. If it's because you ran out of steam or were trapped by indecision--bad. That needs to be resolved or it'll follow you from project to project.
     
  21. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Thanks for sharing your story! Inspiring
    Well, the thing is that I simply can't understand, what the core mechanic of the India game should be. It should be simple and interesting and should (more or less) reflect what Gandhi did. But now it's really hard for me to understand, how such a game should be played to be interesting.
    And this leads to further problems. Like, should I make a turn-based game or a real-time game? Have the map of India or no? How many values? Etc...
    I suppose that's the "ran out of steam" situation?
     
  22. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    By "ran out of steam" I more meant just lost motivation, so not that necessarily.

    It sounds like you need to spend some time trying to design your main gameplay loop. That seems like it's in-between: you'd definitely benefit from more experience, but at some point you just have to sit down and focus on the problem.
     
    DanielDemidov likes this.
  23. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    I tried - and came up with about 3-4 different versions of the core loop. But none of them seems to be really conveying the desired atmosphere...
     
  24. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Have you shared them with others? An outside perspective can be invaluable.
     
  25. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    With one friend. But if you mean a professional community - then no. But I can try :)
     
  26. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Yeah, probably a good idea. It's possible the ideas aren't good, but it's also possible you're just stuck in the "idea phase," and are subconsciously rejecting them to keep from having to try to implement them.
     
    DanielDemidov likes this.
  27. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Can't judge anything you done as a failure or success until after you die. Until then it is all stepping stones toward... something. Learning, in other words.

    My major game project has a big technical hangup that I got to hire help to figure out. But to afford that I have to work for like, a year. And probably sell another smaller project in the meantime. But I believe the core game idea is good enough to warrant the investment because there is an audience waiting for it patiently.

    So if you really believe in your own game project I'd focus on finding that audience. They'll help you see past your own perspective - the game isn't for yourself to play after all.

    The only real "failure" is to quit something that you strongly believe in just because you got tired. Or to invest more money than you get back. But both of those are problems easily mitigated with careful planning.
     
    DanielDemidov likes this.
  28. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    So, continued learning some basic stuff. Build a minimum viable product of a platformer - basically a moving and jumping triangle and some platforms :)
    So, don't really know where to go from this. Ideally, I'd like to make strategic games. Or at least puzzle games (like "Mini-metro"). Though, Space Invaders and a platformer prototype aren't really useful here
    Should I stop making random basic tutorial-like stuff and try to make my first unique game? Or my current approach is of some use and it is better to gain experience through it?
     
    Last edited: Feb 17, 2021
    Martin_H likes this.
  29. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    You're definitely gaining experience and leveling up your skills with every project you do, whether or not it's unique or in any way related to your dream game. So doing more like that would not be a waste of your time.

    On the other hand, perhaps you're ready now to tackle something more along your own interests. I'm not familiar with mini-metro, but some quick googling suggests it's basically a railway sim. The hard parts of that are likely to be drawing lines to represent the tracks, getting trains to move along those lines, and computing what routes the trains should take.

    Can you simplify that in any way? What if your own puzzle game works on a square grid? You could do that with an array of Sprites, at least for starters. Or you could dig into Unity's new-ish Tilemap support.
     
    angrypenguin and Martin_H like this.
  30. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Thanks for the response!
    By referring to Mini-metro, I mean ot just "mechanics like here", but rather "in such style and scope". So as to imply that I'd like to make small strategic games and not something like "as cool and detailed as Civilization 5" :)
    So, I've created a short and undetailed list of themes that would be interesting for me as a player. It begins like this:

    Rome
    Cold War
    Future Energy
    Space

    Ideally, they are - strategic/puzzle + turn-based gameplay (since I have experience coding it and some base classes for turn-based games from my previous experiments)
    But the problem is I can't think of engaging core gameplay mechanics for any of these themes. So, a bit stuck
     
  31. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Well, yes. :) As a solo game developer, you have to be a good game designer and a good programmer. (And a good artist, too, though there are more ways to cheat on that one.)

    About the only way to cheat on game design is to copy some existing design. But maybe you can put your own spin on it.
     
    Martin_H likes this.
  32. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    Copying things is underrated as a learning experience imho. Through copying a game that you like you'll likely appreciate a lot about it that you didn't give much thought to before.
     
  33. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    Started saving code of the mechanics I've learned to implement in a separate folder. Hope it will be useful soon
     
  34. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    As a solo game developer, yes. If you work in a team then you can pick an area and just be good at that.
     
  35. DanielDemidov

    DanielDemidov

    Joined:
    Apr 23, 2020
    Posts:
    132
    So, ideally I´d like to try to make a resource-management game with strategic elements. Do I have to learn something before diving into it (like, trying some other genres that would serve as a preparatory stage) or is it just as simple as having enough consistency to start and finish it? Keeping the scope small, certainly
     
  36. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    Have you played any board games with mechanics similar to what you'd like to make? They're excellent reference because the mechanics can have complicated interactions, but the rules they arise from need to be simple enough to be implemented entirely in the players' heads.

    If you can come up with a design which is both simple and interesting then that'll help to keep the implementation scope small and/or manageable.
     
    Martin_H and Antypodish like this.