A few weeks ago, I started on a basic tutorial for developing games in Godot: “Ultimate Instruction to Godot 4” on YouTube by Clear Code. My goal was to not just finish the tutorial, but to build on it and create a small game with semi-professional standards. Here is said game, my first attempt not only at developing in Godot, but also my first attempt at creating a game.

If you know what you are doing, a playthrough is around 20-40 minutes, more on higher difficulties. On easy, it is possible to be reckless, while on higher difficulties, the game forces you to be quite considerate of your resources.

As this is my first game ever, I would greatly appreciate any and all feedback. I hope that, if you try it out, you will have as much fun with the game as I had making it!

  • Wxnzxn@lemmy.mlOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 months ago

    Thank you so much for having a look and giving feedback, it really does mean a lot to me. 😊 Like, seriously, this is basically just a small thing I threw into the void, having people see it and care enough to give feedback gives me a lot.

    Yeah, I do agree with your points, a lot of it stems from the basic design being carried over from how the tutorial was set up. It was very basic, did not finish with anything close to a full game. I mostly decided to build upon it into a short game, because I wanted to develop that as a standard for myself from the beginning of doing this - makes it easier to learn and keep up continuing.

    Most of the download size is basically from just using unmodified assets from both the tutorial itself and a few things I downloaded on top of that, this is really something I will look into for my next project(s). I think it wouldn’t be as egregious if the game itself had more content built from the assets, but I was definitely ready to move on to other things by the end. Same with the boss at the end of the inside level - I thought about giving it proper patterns and phases, but it remained a simple bullet sponge, because I wanted to start on my next project.

    thank you for the Linux export

    No problem at all, I am developing on Linux, and rely on friends to test on Windows 😅 - I have no one that could help me out there for Mac, so I left that one out.

    the non-round collision on the player can lead to getting (partially) stuck when rotating+moving due to position being shifted (getting over it, maybe?)

    Yeah, that one basically was a compromise between either having a huge circle as a hitbox (which felt strange and awkward), or having a separate one for the gun part of the sprite to prevent more cheese like shooting through walls (and weird behaviour with the torch on the gun). But I do agree, it is a suboptimal solution. I tested it for a bit and at least didn’t manage to get stuck properly without being able to get out anywhere, but I fear it might end up being possible somewhere.

    the room being zoomed doesn’t seem quite great (and also makes it seem like a significant thing), but again this is a thing that I know is tied to the tutorial

    Yupp, goes back to the tutorial and how it teaches zooming when entering/exiting trigger areas. I tried to somewhat give it a design purpose to foreshadow/teach about the zoom in the inside level, but it remained feeling a bit suboptimal, I must admit. I was thinking about maybe adjusting it a bit, so I might end up doing that on an update 🤔

    even outside the camera would benefit from some aim shifting particularly vertically when aiming near the top/bottom of the screen

    Oh, yes, that is something I thought about and ended up not doing - and then forgot. It was not brought up in the tutorial, but I think I do know how I could implement that. I should definitely revisit this - especially with how I ended up structuring the design around exploiting range.

    something like the steam vent might me more interesting if the player could walk through/under the steam instead of blocked

    I think I ended up not using it to its full potential, because early on I had not figured out how to properly set the Z index for particles. I agree, that would have added a lot to the atmosphere and could have opened up some interesting design potential.

    the throwable range seems too short for the mega-turrets esp w/current radius.

    This one actually might be due to me testing it too often and getting too good at throwing grenades with the player’s momentum added onto the throwing range. It ended up as a conscious decision to leave it too short when not using that, but I might increase it just a tad bit.

    maybe do this on button release to allow a charged throw (or cooking mechanic) and possibly (optionally?) to prevent misfiring.

    That’s actually a good idea, a friend of mine had some misfires when adjusting the mouse, where she accidentally ended up throwing grenades. Definitely something I will revisit.

    or something else like some amount of proximity and/or some stickiness instead of bouncing

    Yeah, I thought about reducing the bounce but ended up not doing it because it felt “good enough” - I will have a look there again.

    distance is kind of cheesy. Both for how quick enemies can spawn endlessly and for the opposite reason being able to snipe the mega-turrets

    Believe it or not, that was actually a conscious decision. 😅 I thought about how the player could best be forced into not rushing and carefully assessing and then clearing threats, and kiting back enemies and/or using range ended up being what I landed on. I can definitely see it only worked partially, but this would require some fundamental changes, that, to be honest, I don’t think I’ll implement. There also actually is a limit to how many of those bugs can spawn, but it might be too high 🤔

    spawners can be a bit annoying and maybe could use some behavior changes/variance

    Agree. To a certain extent, they were meant to be annoying roadblocks, but I guess I ended up going a bit overboard. They were the first enemy I created myself (as the tutorial itself did not cover spawning, and I wanted to look into how to implement it), and I at several points thought I should probably revisit them. I ended up not doing that, and it shows.

    The chest and ammo situation is something that has come up several times in feedback I got from friends, with conflicting points of view. 🤔 I heard both that discovering chests without them being highlighted feels rewarding, and on the other hand, the points you brought up. I tried to design the very first area in a way, where the player is somewhat guided to them (with the item near the starting point guiding the player down, and a bug placed in a way where a missed shot will end up opening the chest[s] that are illuminated). I’m still not entirely sure how to handle that situation, to be honest, but I agree that running out of ammo at the moment is unfortunately just frustrating with no real rewarding way to overcome it - at most you can try to kite one of the alien scout or infested zombie enemies to the chest and make them fire into it.

    Side-note definitely with what you’re working with: the top-down 2D/gritty Armor-Games style is one I can respect but also one that always seemed hard to read (like the angle/satellite-view just sort of makes everything feel unidentifiable unless it is really used carefully).

    100% agree, I personally never quite liked the style, to be honest. For what I’m currently working on, I am going with a more retro but also more readable pixel style (with the added benefit that I can reasonably create assets in that style myself, even though my lack of talent and experience in the art department does shine through.) It stems from the assets provided with the tutorial, and I don’t think I will end up redoing any of that from the ground up.

    Again, thank you so, so much. Genuinely made me smile and giddy to see someone having a closer look and leaving feedback. I hope even with the frustrations, you had a bit of fun while playing. Updates will be coming - although I don’t think there will be any that can fundamentally do away with all the issues. It’s more that I want to hold myself to the standard of supporting a project, instead of just dropping and forgetting about it, while I learn game development.