1 Year of Indie Game Development - Starmaul

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ธ.ค. 2024

ความคิดเห็น • 164

  • @NickCastonNZ
    @NickCastonNZ  3 ปีที่แล้ว +12

    There are some reports of issues with the sign up form on the Starmaul website when using certain devices. If you're having issues, I've set up a temporary form which can be accessed here: mailchi.mp/efac731f8090/starmaul . Sorry for any inconvenience!

  • @NamidaSai
    @NamidaSai 3 ปีที่แล้ว +58

    Wow. Absolutely insane the amount of work you’ve managed to do, building your engine from scratch as well, with no previous game dev-ing experience! And the game looks super neat as well, count me in! 👌

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +5

      Thank you!
      I checked out your TH-cam channel, really cool stuff! Keep it up!

  • @p199a
    @p199a 3 ปีที่แล้ว +22

    wow thats impresive to do all that from scratch

  • @francoiswouts
    @francoiswouts 3 ปีที่แล้ว +41

    Nice work!
    Here are a couple of tech topics I'd love to see explored in more depth:
    - How you went from CPU ray tracing to CUDA (and maybe how the ray tracing engine works in the first place?)
    - How you went from gRPC to plain TCP and other server-side optimisations (maybe a separate video on data-oriented architecture?)

    • @Timooooooooooooooo
      @Timooooooooooooooo 3 ปีที่แล้ว +1

      I'm also interested in hearing more about the server-side optimisations

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +13

      Thanks! Those topics are good ones. I'll put them on the top of the list

    • @Baumgarten295
      @Baumgarten295 3 ปีที่แล้ว +1

      +1, Separate video on data-oriented architecture would be great.

    • @ns2qhd520
      @ns2qhd520 3 ปีที่แล้ว +1

      @@NickCastonNZ hey! Just stumbled across your channel and I love it. In comp sci and will probably never start game dev personally but find it incredibly interesting to learn about either way. Just joining in with these guys on the request for exactly what server optimizations you did and how you went about doing them, maybe even how you find/know about different optimizations to teach yourself? Anyway, keep up the great work! I had as a kid and even still do sometimes play wc3 wintermaul, power towers, and troll and elves and such, so I can’t wait to see how your game turns out! Always nice to see a fellow fan haha

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      @@ns2qhd520 Howdy! Thanks for the kind words! I really appreciate it. I'm a bit behind on my TH-cam at the moment, but when I get around to making the server optimisation video I'll make sure to touch on that point too. All the best for your studies!

  • @lucygao2296
    @lucygao2296 3 ปีที่แล้ว +15

    This is the funniest video about game development I've ever seen...I think I actually learnt something! Please release on mobile!!!

  • @Cibeization
    @Cibeization 3 ปีที่แล้ว +3

    Found your channel through your older DOTS comparison video.
    Really glad I decided to click through to your channel and watch this video, because I really enjoyed it.
    Honestly your editing style / humor made me laugh quite a lot.
    It's awesome to watch someone with expertise in C++ and OpenGL, who likes to build from scratch, there doesn't seem to be much of that these days on TH-cam, indie dev wise that is.
    As someone who is currently studying to build up their math skills to persist further into OpenGL, it's quite motivating to watch your videos, so thanks for making them and I hope you continue to make them and that your game succeeds!
    BTW, your 3 step comparison of your loading screen enhancement was awesome!

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      Thanks so much for saying that! It means a lot to me :)
      It's cool to hear that you're learning more about this kinda stuff. I've found it to be pretty fun working at a reasonably low-level like this, and it opens up a lot of interesting ways to solve problems when you have so much control.
      I'm glad you enjoyed the video! I'm still very new to making videos but I'm trying to improve as much as I can with each one that I make. Hopefully the next one will be even better!

    • @Elrog3
      @Elrog3 3 ปีที่แล้ว

      The channel MollyRocket has thousands of hours of building a game from scratch in (limited) C++, but its more focused on showing the coding process than it is showing the game.

  • @AndrewDavidJ
    @AndrewDavidJ 3 ปีที่แล้ว +14

    Great progress! It’s really cool to see the process and watch the project evolve!
    Being this dedicated to working on one project for twelve months is really impressive, especially since you’re doing it all from scratch. I’m trying to do the one-game-a-month challenge, using Unity to make it easier, with video devlogs to keep me accountable but, despite all that, just one month in and I’m feeling like I may be over my head.
    Keep it up, I’ll be keeping an eye on this one :)

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +2

      Thank you! I originally planned to do the game-a-month challenge too! But I never made a single game for it because I got too excited about the idea of making this tower defense game haha.
      Good luck! Happy coding!

  • @sabbyrizzle
    @sabbyrizzle 3 ปีที่แล้ว +3

    That was really great man - awesome work and entertaining video!

  • @deckermv7530
    @deckermv7530 3 ปีที่แล้ว +2

    You work was very inspirational for me. I wish you a bright future with this project!
    Thanks for sharing !!!

  • @hvanmegen
    @hvanmegen 2 ปีที่แล้ว +1

    Very interesting videos, and I'm commenting on all of them to improve their metrics based on engagement.. thank you for all your effort, I love these videos!

  • @FabiulousGames
    @FabiulousGames 2 ปีที่แล้ว +1

    Great stuff man!

  • @thompsonevergreen8006
    @thompsonevergreen8006 3 ปีที่แล้ว +2

    Your biggest flaw was not prototyping, coming up with different ideas and then making a quick game with just the basics

  • @BeheadedKamikaze
    @BeheadedKamikaze 3 ปีที่แล้ว +3

    Hi Nick, just wondering why you built your own ray tracer when you can use the path tracer that comes built into Blender for free - Cycles? For example, your "expectation" image from the artist who designed your tower model, surely used an off-the-shelf render engine such as this. Cycles supports not only PBR materials and HDRI lighting maps, but you can preview it in realtime right from the Blender viewport.

  • @benruniko
    @benruniko 2 ปีที่แล้ว +2

    As a developer myself (c#, golang, php, sql for me) I really enjoy seeing how this project unfolds! The game was a pretty good idea I think. I was a little shocked when you said “I know the game I want to make so its time to start coding” but I think that was only because my dev style is different. I thought “wait no there is so much to do first before we write code!” But then I realized you are exploring and experimenting with that code and not expecting it to be the final product without rewriting.
    Also, writing your own rendering engine is ambitious and I think very cool, but I am curious to know why you chose to reinvent this particularly shiny wheel. When I tried building a rendering engine it was out of curiosity and wanting to learn, but I eventually became discouraged when there were some concepts I simply could not wrap my head around (I was a teen in the late 90s and early 2000s). Are you doing it to learn and experiment, or is there another advantage you are trying to get?
    I discovered your channel just now from the “underperforming” steam game video about linelight, and I am very interested to see how things go for you. Definitely worth a sub. Keep up the great work! Good luck!!

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว +2

      Hey! Thanks for your thoughts! In regards to just diving in to the code, I did do some basic planning initially (desirability, feasibility, viability kinda stuff) and looked into existing games and such. Although admittedly I probably should have done a touch more of this, but it's a new industry to me so I figured there were so many unknown unknowns I'd just get stuck into making it and see what happens.
      In terms of making my own engine there were a couple of reasons.
      1) I wasn't super enthusiastic about any of the engines I tried for various reasons (e.g. lack of control, bugs/unreliability, ran poorly on my crappy computer)
      2) I enjoy writing the low-level stuff so thought it would be good for motivation and enthusiasm
      These have both worked out well so far. With the pre-rendered ray tracing approach I'm basically taking over all of the rendering anyway, and for multiplayer I'm relying on consistent deterministic simulation on all clients so having a lot of control helps (both of these things would be achievable with a third-party engine, but reduce their value proposition if that makes sense). And I have been enjoying writing the code (I sometimes use Unity for game jams and get frustrated with it pretty quickly). But who knows, maybe I'll regret this by the time I'm done. Time will tell!
      Thanks for the encouragement!

  • @emikochan13
    @emikochan13 2 ปีที่แล้ว +1

    wow i've never heard of any tower def game where they actually explain why you can't block attacks (when you have the chance to build on their path), that is absolutely genius.

  • @2002budokan
    @2002budokan 2 ปีที่แล้ว

    Making everything from scratch is achievable in my opinion. According to some, those who think like us should be masochists, but spending time on your own (game engine) design instead of spending time to learn someone else's design, should not be a wasteful investment. For a programmer with experience in this field, it is not surprising that such a project could be accomplished in a year. But it is an incredible achievement to start such a project with zero experience and bring it to this state. It would be very helpful if you share with us the resources (or your background) that make it possible for you to learn in such a short time. You are extremely productive, congratulations!

  • @DerMannInDerWand
    @DerMannInDerWand 3 ปีที่แล้ว +1

    Really cool work so far!

  • @GriMdotexe
    @GriMdotexe 2 ปีที่แล้ว

    Really looking forward to updates!

  • @ollie-d
    @ollie-d 3 ปีที่แล้ว

    I knew you were going to have a WC3 influence the second I saw the game name as an avid WC3 TD player. Was never a big LTW player but I did play hero line wars a lot and managing creeps to send to your opponents was a fun strategic choice. I was planning on working on a TD inspired from WC3 myself and it's cool to see somebody with similar inspirations making progress. I love that you took the time to have thematic reasons for the economy and anti-blocking!

  • @Merlibiiiii
    @Merlibiiiii 3 ปีที่แล้ว

    The most clear explanation that i ever seen .How you can built from from scratch without game engines but i think its more easier to implement ideas in game engine (see how it goes) than built game from scratch i realise that on the way there will be a lot of obstacles , but it will be cool at the end .

  • @weidiocrow
    @weidiocrow ปีที่แล้ว

    Real big dog status using the UML smiley.

  • @Elrog3
    @Elrog3 3 ปีที่แล้ว +2

    Awarding money for creating units isn't a system I am familiar with. It seems like it would easily makes the best strategy to focus on offense and upgrading your units rather than placing towers. I was skeptical of it at first, but after some thought, I think it could work. A crucial point here is that both players units bypass each other (not fighting in the middle), meaning they still have to place towers. It will be a battle of who can delay spending on their defenses the longest without having their base destroyed.
    I'm going to play devil's advocate a bit here. Feel free to address or dismiss these as you like.
    - If water is heavily fortified, at some point it would make sense to make land units and go around.
    - A player could theoretically build a grate to let hydrozine flow through while blocking enemy units. Maybe if they do this, the enemy units are able to destroy the grate? (which would be a lot easier than destroying the foundation of a tower)
    - Could it be cheaper and also increase your production faster to not turn the contaminants into units and to just take it and dump it into your enemies river? (maybe a starter unit is quite literally just a mini dump truck?)
    - A player doesn't want their flow of hydrozine blocked. This idea could be weaponized. If one player left a gap of one space in their defenses, the other player could theoretically block off that last square and ruin them. Perhaps ground could be created/destroyed independently of placing towers on it and some towers could even float on water letting enemies pass under them, so these towers couldn't be destroyed by breaking their foundation. The starting rocks could be indestructible places to place towers and prioritize upgrades on.

    • @Elrog3
      @Elrog3 3 ปีที่แล้ว

      Edited this btw. Edits don't show up in notifications on desktop. Idk about mobile.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      Thanks for the feedback! I really appreciate you taking the time to share your thoughts. That's a pretty impressive analysis without even playing the game.
      You pretty much nailed it for the money award for creating units. It encourages players to maximise their aggression and minimise spending (be efficient) on their defense spending. Combined with upgrades it also makes sure the game doesn't drag on forever.
      To your other points:
      - Land attacks are an interesting one. I haven't completely decided how to address this but I have a few ideas. One idea is to have the land terrain be very dangerous and unusable as an attack path (could also be a good opportunity for cool graphics, "lava" bursts or crumbling ground or such).
      - I was playing around with the idea of grates too! I haven't actually play tested it yet though, but I think it could provide interesting defensive options. I'd probably have to make sure it leaves a pile of passable, but un-buildable, rubble behind so players don't just spam them to stall out the game... or maybe a cooldown on it.
      - The dump truck idea is cool! I hadn't thought of that. It would add different dimensions of attacking (their economy instead of their "health"). I'll add it to the list of mechanics to try out!
      - The interactions around not wanting to block the river could definitely be elaborated on more, and I like a lot of those ideas. I was thinking about having a "builder" kind of attacker to mess with the opponent's mazing, so it's cool to hear you were thinking that also. One key thing I want to get from these kinds of mechanics is more direct interaction between the players - currently it feels a bit like two players playing their own games of solitaire, so reacting more to the specifics of what the opponent is doing would help a lot.

  • @yanxili7543
    @yanxili7543 3 ปีที่แล้ว +1

    Nice work!!!

  • @thomasipad7719
    @thomasipad7719 3 ปีที่แล้ว

    Yes please, more details 🤗

  • @chrimony
    @chrimony 2 ปีที่แล้ว

    To be honest, I like the way the game looked in month two as 2d art, with the exception of the obvious placeholder UI buttons. For a first indie game project, you could have polished it up and released easily within your 6 month plan. Instead you took on a massive workload as a solo developer and art designer. There's a reason even indie game studios have multiple people when trying to take on fidelity of this scale.

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      I think that would have been a valid approach. I wanted to make sure the game was visually distinct from the more "casual games" market so people will hopefully see it as the more serious competitive game I'm making. I also wanted to take the time to learn how to make a really great game instead of just an adequate one, and I figured pushing the game further would allow for that.
      On the other hand, this is classic scope creep ¯\_(ツ)_/¯

  • @Katze822228
    @Katze822228 2 ปีที่แล้ว

    gameplay wise it looks a lot like creep smash/creep td exept with a non predetermined path for the attackers. I loved that game and played it a lot 10 or 15 years ago. It'd be awesome to play a game like that again. I hope that you are going to successfully launch it one day and that there will be enough people interested in it!

  • @charlotteli3159
    @charlotteli3159 3 ปีที่แล้ว +2

    Awesome video!!!!!

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว

      Thank you, kind stranger!

  • @Turtwiggyyy
    @Turtwiggyyy 3 ปีที่แล้ว +1

    Love the vids

  • @neckkeys5251
    @neckkeys5251 3 ปีที่แล้ว +1

    Hi Nick,
    Very inspiring story, and the flexibility you get when you work from scratch like the ability to pre-render models and gain performance.
    I have a little question: @12:38 what is this tool you are using to draw your UIs, it seems to be an interesting browser-based tool.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      Hello. Thanks for the kind words! The tool I'm using is Gravit Designer (www.designer.io/en/). I have mixed feelings about it. It's quite easy to make things that look good, but I ran into a lot of stability issues. Sometimes I couldn't log in. Sometimes I couldn't save my work. There's a downloadable client which seems a bit more reliable than the web version.

    • @neckkeys5251
      @neckkeys5251 3 ปีที่แล้ว

      @@NickCastonNZ Thanks for the answer dude :) keep the good work.

  • @botbeamer
    @botbeamer 3 ปีที่แล้ว +2

    Very good, I'm saidwho13 from twitch, you making very nice videos :-)

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว

      Hey! Thank you very much! :D

  • @eboatwright_
    @eboatwright_ 3 ปีที่แล้ว +1

    This is really cool, and very impressive for being done in C++! What graphics API are you using?

  • @melonetankberry5211
    @melonetankberry5211 2 ปีที่แล้ว +2

    very interesting. i love td games and am one of the sad fools who were really saddened when flashplayer seized operation, since that meant a whole host of great games were no longer to be enjoyed. i unfortunately never cared for multiplayer tower defense. i hope you find decent success. maybe it will help for td games to rebloom on steam like the ninja kiwi archive did. i really enjoyed your last video too. subbed and look forward what you will show me next. take your time, i will get a notification^^

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว +1

      Thank you! I totally understand about not being as enthusiastic about multiplayer TDs. Maybe I can make something good enough to change your mind :P

  • @thehonestdude1067
    @thehonestdude1067 3 ปีที่แล้ว +1

    It looks good 😃😃

  • @jdeleca
    @jdeleca 3 ปีที่แล้ว +1

    Cool! I was watching your stream days ago but sadly my internet sucks so I can only watch when is 360p and your stream was 1080p

  • @dinushkam2444
    @dinushkam2444 3 ปีที่แล้ว +2

    Great stuff..
    Wish you recorded everything from day one...

  • @charlie-e3o1x
    @charlie-e3o1x 3 ปีที่แล้ว

    amazing
    did you already have all those knowledge or you just pick them up as you go?

  • @mirokko
    @mirokko 2 ปีที่แล้ว

    lets imagine that this "river" is some material that you can construct towers with. every tower shot is subtracting your material amount. if you cut that material river, you will cut your income, but can defend current vawe. nice idea to explore

  • @anilwins6415
    @anilwins6415 2 ปีที่แล้ว

    super ,,❤️❤️

  • @UnidayStudio
    @UnidayStudio 3 ปีที่แล้ว +7

    Impressive work! Keep it up! I'd like to ask you how you manage to compile your C++ code to android so easily... I've been trying that for ages with not a single clue of what I'm doing.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +3

      Thank you! I got a Android native "hello world" working by following one of the examples. I don't remember exactly which example I used, I think it might be this one github.com/android/ndk-samples/tree/master/native-activity.
      After that I had to start porting over game systems. The first was making my OpenGL code compatible with OpenGL ES, fortunately that was straightforward in my case because I wasn't doing anything too crazy. The second was loading assets from the filesystem, I already had an abstraction in place for that so I just had to fill out a new version of "load the bytes from the file at this path" (see developer.android.com/ndk/reference/group/asset). Third was the networking library, I was struggling to get gRPC to work so I switched to mbedtls for a little while and that worked fine in Android native code (I think mbedtls probably wasn't the best choice, but it did the job for the time being).
      I hope that helped!

  • @hagen.360
    @hagen.360 2 ปีที่แล้ว

    Nice

  • @freighttrain7143
    @freighttrain7143 2 ปีที่แล้ว

    My experience on this page:
    0:07
    Paused here to make a funny comment about the first statement being funny... but really 6 months was an unrealistic goal so 12 months isn't bad.
    *_Saw a comment about the fact that you aren't ON an engine, you MADE an engine, with no prior experience_*
    WHAT THE
    in 12 months?? Insane.
    Can't wait for the rest of the video, the first 7 seconds were THRILLING, LOL
    Edit: It keeps getting better:
    1:38
    So, my best friend and I's experience with StarCraft II demo:
    -Man, this is awesome! Everything is an upgrade! So fun! Let's try Comp Stomp Co-Op
    -Man, that was tough, but we're getting better.
    -Man we are killing this AI now. We are pretty good!
    -Dude, we are ready! Let's play some ranked Co-Op!
    *_3 minutes later_*
    - $(*&# Korean kids, Man!
    -Yah man #@$& THIS GAME
    *_We never bought the game_*
    5:37
    This part was pretty inspiring. It is very similar to how I try to form my own game design ideas:
    1. Never do anything because another game did it that way.
    2. Never do anything unless it makes sense in the world. If you start making(simple, lazy, arbitrary) decisions that make the game better, but make no effort to make them make sense in the game world, you miss opportunities. You also start breaking immersion for the player. And having a somewhat immersive game world and lore is important not just to THIS game, but to the popularity of possible sequels. You want players to look forward to RETURNING to your world.
    3. What does that mean - missing opportunities? Well. If you A. Never put in randomized barriers like you cleverly chose to do, you never lose player adaptation. No single min-max. But you did add those, so then you find, as a result of A, that B. Players must place towers only in locations with no barrier and because of A and B you find an opportunity like - well, C. Why should a player ever leave ANY block open? The concept is DEFENSE not GIVE THEM A CHANCE, and the A, B, and C having existed, creates an opportunity - If all blocks can have SOMETHING on it, what about the attackers having the ability to tear down barriers, or towers? Suddenly the gameplay becomes EXTREMELY VARIED, because you dared to be creative in your design and defy just ONE old thought process. Now you went another way - have a reason why the path stays open, but just by you creating those questions - WHY does it have to be THIS WAY? - got me thinking and suddenly I had a design variant for your game where attackers destroying barriers might circumvent half your re-direction strategy, the enemy player might choose which barriers to destroy - more strategy.... or start destroying your towers, sapping both your defense and economy.... so much added gameplay for just 1 decision not to settle on How Did Other Games Do It?

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      Thanks for the feedback! I think what you're saying makes a lot of sense. I've been thinking about this more too and I've started questioning some of these concepts more thoroughly (I did look into it in the past, but not enough). For example blocking the defences/river completely could cause the river to overflow and open up additional pathways on the sides, or would divert more flow (and resources) to the opponent's side so there's an economic trade off. I still need to play around with it more, but I agree that the game responding in an interesting way is probably better than finding justification prevent something (although I guess still drawing the line somewhere so it doesn't get too out of control).

    • @freighttrain7143
      @freighttrain7143 2 ปีที่แล้ว

      @@NickCastonNZ Definitely. Never be afraid of innovation. One of the best examples EVER? Diablo was turn-based and the lead designer wanted to keep it turn-based. His team wanted to try making it real time. He tried to convince them it was a bad idea, tried to convince them it would be super difficult, but after all that wasted time, he gave in because he was out-voted. He started coding making it turn-based. Later the same day, it worked. Turned out to be a quite easy change to make, even. He started playing it and found himself playing the prototype into the wee hours, because suddenly the game was INCREDIBLY MORE EXCITING. Why? Because instead of just iteration, he was working in INNOVATION. Which is inherently more exciting. You can say you were the first to do something. You can see something new for the first time ever. You feel like you have a secret noone else knows.
      Now, to clarify what I was saying before "Never do anything because another game did it that way." Just to be clear - it's not that you should ALWAYS do things differently than any other game in your genre. No - thats a recipe for disaster. But DO take a moment to consider WHY they did things such and such a way, and if that's REALLY the best way to do it, or just another area they ITERATED on other games in their genre, instead of burning a few brain cells on INNOVATING in their genre.
      And if it sounds like I'm a bit more plugged in on this than the average TH-cam commenter, it's because we are on a very similar journey(meaning, our first game ever); my prototype is not quite as far along as your game, for sure, but its in Unreal Engine 5 and I'm hoping for a release date in about 2 years.
      *Edit: here is the video covering the overnight change with Diablo.
      th-cam.com/video/huPF3Gid7DE/w-d-xo.html
      I find this line of videos very inspirational.

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      Yeah, I totally agree. I was familiar with the Diablo case too (their GDC post-mortem was also quite good th-cam.com/video/VscdPA6sUkc/w-d-xo.html) - it's a really interesting one!
      In case it's of any interest, or a useful thought for your own game dev journey, I'd noticed how quite a few of these "just do the default thing" ended up making their way into my game as a result of my process. I very often use the development approach of first just getting things working, with the intent of coming back and adjusting later. The problem I ran into was there were just so many of these and I started to lose track. E.g. square cells, rectangular board, left vs right, how the economy works, victory conditions... so many things. And some of the early assumptions made sense, but then I change something else and they are no longer necessary. I kinda wish I'd kept a list of these sorts of decisions I'd made as I went - at least some of them anyway.
      Good luck with your project! If you happen to have any dev logs or anything about what you're making it'd be cool to see what you're up to.

    • @freighttrain7143
      @freighttrain7143 2 ปีที่แล้ว

      @@NickCastonNZ I will share some eventually. However I have some quirks in my project style that will prove interesting, if not problematic:
      1. I love to share progress and talk about the project, but also VERY concerned with talking about it too much- I've NO interest in building ANY hype for this as its a long way away and I would never wanna get into a Pressure/Rush situation. I have a full time job so this is a side project and I will never have the kind of time to really crank anything out quickly. I'm also building a house right now so LOL yeah its going to move pretty slowly until the house is done.
      2. Your approach to prototyping is probably ideal: Building a good baseline of defaults to get a functional prototype and then iterating new features from there. Mine is quite different, and I have no idea how well it will work in the game dev space so we will see, but so far its worked out well for me in my main job(I am an Engineer in the IT dept of a major bank). My style can take some time, but I've found it solves some issues in the other style most seem to use. See, for me, I don't mind at all spending alot of time coding and iterating to build new features, but I LOATHE repeating work. And so building to defaults and rebuilding for more uniqueness would be frustrating for me. I'd rather brainstorm, design on a whiteboard, and put the unique twist of my features down first, playtest just that feature, bug smash at that level, and polish it out, before going on to other features. It's just my style and it works well in my Engineering/Pseudo development 9-5 job. I tend to end up with my first version being very close to a finished version, with little bugfixing to do at the end. And not much re-writing of code/scripts.

  • @anantakusumap2459
    @anantakusumap2459 3 ปีที่แล้ว +2

    I want to ask, recommended learn vulkan or opengl first? Because I'm worry that opengl will die soon.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +2

      Between those two, probably OpenGL. I used learnopengl.com/ when I was learning this, and most of the time is learning the general concepts which are also applicable to other graphics APIs. Vulkan has a pretty crazy learning curve. Worrying about opengl dying is a reasonable concern, it does still have some use though, such as OpenGL ES for Android (Vulkan support on Android is still pretty scarce).
      Happy coding!

  • @blazbohinc4964
    @blazbohinc4964 3 ปีที่แล้ว

    You're talented enough that you could optimize Unity/UE4 to your liking and make the games 4 times as fast. I don't think you need the overhead clearance that C++ can provide in comparison to established game engines..
    I don't know what you hope to achieve with this game.. A nice resume entry perhaps.. Idk.. I'd like to see what you can do if you don't have to code everything from scratch. I think you'd be unstoppable.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      Thanks for the feedback! I use third-party engines occasionally for game jams and alike, but for this game I'm pretty happy with my decision so far. Having fine-grained control has been good for deterministic sim for multiplayer, and getting my pre-rendered assets to line up perfectly with correct perspective etc at runtime.
      I am open to using engines though. Some of the other games I have in mind I'd probably use an existing engine.

  • @cerocero2817
    @cerocero2817 3 ปีที่แล้ว

    Considering how little the gameplay has changed for a long time and that the game is already somewhat presentable, wouldn't it be a good time to get some people to test it and see if it's actually fun? I imagine any major gameplay change will only get harder the more polished the game is.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      Thanks for the feedback! Prioritising tasks is a constant struggle for me, I'm never sure if I've got it completely correct. The reason for focusing on graphics for a while is because I've been trying to get good screenshots for my website and build my TH-cam and Twitch channel - I think visual quality is important for these. I think this approach makes sense, but time will tell!

    • @cerocero2817
      @cerocero2817 3 ปีที่แล้ว +1

      @@NickCastonNZ makes sense, getting people to care about your game before it releases can be very important for an indy. Good luck with your project.

  • @beanmr8643
    @beanmr8643 3 ปีที่แล้ว

    👍

  • @LukeAps
    @LukeAps 2 ปีที่แล้ว +1

    Engine: No
    Language: C++
    Team: Solo
    [ *Are you sure you want to enter Ironman Hard Mode?* Y/N ]

  • @davewirchak5953
    @davewirchak5953 3 ปีที่แล้ว

    What tool chain did you use for android port, c++ or Java. Visual Studio or Android studio.

  • @randompillow5146
    @randompillow5146 2 ปีที่แล้ว +1

    I found your channel through your most recent video, but have stumbled upon this one too. I see you haven’t made a video on it in over a year. Are you still working on this game?

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว +1

      Yup! Still working on it. Had to take a bit of a break last year but back at it now. I plan for my next video to be a Starmaul dev log

    • @randompillow5146
      @randompillow5146 2 ปีที่แล้ว

      @@NickCastonNZ good to hear. Looking forward to it!

  • @delphicdescant
    @delphicdescant 3 ปีที่แล้ว

    And here I am sitting on my gamedev project that's been moving at a discouragingly glacial pace for the past 4 or 5 years...

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว

      It can definitely be tough. Good on you for sticking to it!

  • @ShinDMitsuki
    @ShinDMitsuki 2 ปีที่แล้ว

    Why do ray tracing with cuda instead of just using compute shaders or something more agnostic?

  • @rklehm
    @rklehm 2 ปีที่แล้ว

    Hey! Congrats on your work so far. Don't know if you are aware or not, but "Hydrazine" is a real substance, but it is vastly different from the one in your game. Shameless copying from Wikipedia it is described as: "Hydrazine is an inorganic compound with the chemical formula N2H4. It is a simple pnictogen hydride, and is a colourless flammable liquid with an ammonia-like odour". I think it might be a good idea to rethink the name of the substance.

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      Hey! Thank you! Yeah, that naming is a bit unfortunate. It was meant to be "hydro" + "terrazine" (which is a purple resource in the StarCraft 2 campaign). I think you're right though, I might need to rename it... Aquazine? Hmmm need to think more haha

  • @DemoEvolvedGaming
    @DemoEvolvedGaming 2 ปีที่แล้ว +1

    How would this game change if both enemy bases were at the same end of the river and players had to compete for territory when placing towers? Aka I put a tower in a square, so my opponent cannot put a tower there. My tower only shoots my enemies, and lets my minions pass unharmed. This could create a reactive strategy that could do more to make player interaction more influential on your outcomes.
    It seems like you do not have a selection of different towers that do different things? This is a standard feature of these games.
    It seems like you do not have the ability to choose to upgrade a tower individually, or specialize a tower into a certain role? This is a standard feature of these games.
    For multiplayer, have you considered how to keep players entertained WHILE they wait for another player to show up? This is sometimes called "seeding". Typically this is an implementation that allows a player to play against the computer while indicating matchmaking, and then saving the CPU game to load into the multiplayer game automagically when another player enters matchmaking.
    You may wish to create a small system tray app that notifies players when someone is looking for a multiplayer game. Because most players will not want to wait a long time in an empty game before abandoning matchmaking.
    Do you have a Supers mechanic where a player has a sidebar of special (bombs) where he can click to place a bomb summon on the map and it does an outsize transient effect at that location a few moments? These are commonly used to "Turn the tables" in matches.
    Do you have any cross game player progression implemented: aka earn tokens when you get wins. Use tokens to unlock skins or other customizations. Cross game progression gives players a reason to make the game a daily habit instead of feeling like they have learned everything after playing the game only a few times.
    How will players communicate with each other during the match, eg Taunts, or compliments?
    Hope that helps

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      Hey! Thanks for sharing your thoughts! I really appreciate you taking the time to do this. I'll go through them 1 by 1
      I have tried a version where players build towers in the same area. Towers could also shoot at each other and there were different tower types (not shown in the video as you noted). It was pretty interesting, it kinda felt like a combination of Go and Chess, but I couldn't find a nice way to stop degenerate strategies. At the moment it's not in the game but it might find its way back in.
      In regards to standard features (different tower types, tower upgrading). I have been playing around with both of these since this video. I'll probably go more into this in a future dev log.
      For something to do while waiting, my plan is to have single player modes (vs AI, or crazy challenge modes, etc) playable while searching. The state will all be saved if you find a match while you're in the middle of this so you'll be able to continue after.
      I do have a list of special abilities to consider. I've only tried a couple of them ("orbital strike" which is basically a bomb, and mass teleport for all of your attackers) and they were pretty fun. I still need to work on these more.
      No cross-game player progression at the moment and I'm not sure if I will add it. I'm trying to keep the game very light on the extrinsic rewards, so players will preferably just play because they want to and not because they're chasing a reward.
      Communication will either be non-existent or basic taunts. I don't want full text chat due to all the toxicity that tends to come from this in competitive games.
      I hope that answers all your questions!

    • @DemoEvolvedGaming
      @DemoEvolvedGaming 2 ปีที่แล้ว

      @@NickCastonNZ thanks! Are there any more recent design progress videos?

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      @@DemoEvolvedGaming unfortunately not, this is the most recent video. I'm planning for my next video to be a Starmaul dev log, although not sure on the topic yet (might be about rendering). I do want to do a game design one in the near future though

  • @qwertyuuytrewq825
    @qwertyuuytrewq825 2 ปีที่แล้ว

    I wonder how to use UI made in Gravit Designer in C++? ))

  • @forasago
    @forasago 3 ปีที่แล้ว

    Pre-rendered models + 3D perspective camera = you prerendered the tower model (for example) for each and every position possible on the board? or for half of them and then mirror the image, and the red and blue are overlaid transparently?? What about the moving enemies? You can't pre-render a specific perspective for those.

  • @stephenkamenar
    @stephenkamenar 2 ปีที่แล้ว

    this is epic. i considered making the same thing. but the decision making / interaction behind sending creeps wasn't interesting enough.
    Random TD was my favorite starcraft 2 map. (i don't remember anything similar in warcraft 3)
    but while the decision making is more interesting, the multiplayer interaction is even less, it's basically a single player game.

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      I think your observation is fair, I have been running into that too. Fortunately I've been starting to make some good progress on this problem! I'm thinking I could go into this on my next dev log.

  • @novemberdev8292
    @novemberdev8292 3 ปีที่แล้ว

    I miss starcraft2 so much, I want to go back to 2013

  • @jacob26referibles
    @jacob26referibles 2 ปีที่แล้ว

    What resources did you use to learn how to make an interact-able grid?

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      No specific resources. Did the rendering math "backwards" to convert from mouse screen position back into world position to find which grid element it lined up with.

  • @kukukachu
    @kukukachu 2 ปีที่แล้ว

    kittens. Cute.

  • @SecureGM
    @SecureGM 2 ปีที่แล้ว

    Won't ray tracing tank performance on mobile and non RTX GPUs?

  • @redokus
    @redokus 3 ปีที่แล้ว +1

    are you Jarrod'sTech ? you have the same voice xD

  • @LuiDeca
    @LuiDeca 2 ปีที่แล้ว

    Cool stuff. No doubt having a programmer/developer background helps a lot when making a game. Not so straightforward to me unfortunately (musician!)... If you ever need anyone to make music for your games feel free to hit me up, I can make you a good price!

  • @x.khann.x
    @x.khann.x 3 ปีที่แล้ว

    This game is giving me Net Storm vibes

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      I hadn't heard of Net Storm before. I'll check it out!

  • @suber36g
    @suber36g 3 ปีที่แล้ว

    If you were porting this to console with the ray tracing, will you try to optimise for AMD ray tracing? I heard it runs very differently to RTX and CUDA.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +2

      Howdy. The ray tracing is all done as part of that "prerender" step, so it doesn't matter which GPU the player has

    • @suber36g
      @suber36g 3 ปีที่แล้ว

      @@NickCastonNZ oh, thank you

  • @okal7706
    @okal7706 3 ปีที่แล้ว +1

    I like what you are doing here, and wish you success with your endeavours. But I do also have some feedback... Do not over-do the graphics. Make sure your game can run on even potato devices. I think time is much better spent focusing on gameplay than on fancy graphics or user interfaces. Good luck!

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +2

      Thanks for the feedback! Because I'm a no-name developer making a free game, I'm trying to avoid the game being perceived as low quality and people dismissing it before even trying it. I think having impressive visuals will go a long way in avoiding that perception. You are right though, performance is something I need to be mindful of and gameplay trumps everything. I'm pretty confident I can achieve all of that, maybe I'm overly optimistic :P time will tell!

  • @jeroenj
    @jeroenj 2 ปีที่แล้ว

    What did you use to code the UI ingame?

  • @zildeos9858
    @zildeos9858 3 ปีที่แล้ว +1

    How come the title says 1 year but the video is actually only 14 minutes
    Great journey btw
    Also i think we actually spoke once on discord it was only one message tho

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +3

      Thanks! I tried uploading the 8,760 hour version but it exceeded the file size limit.
      Oh cool! Perhaps we'll bump into each other again :D

    • @zildeos9858
      @zildeos9858 3 ปีที่แล้ว

      @@NickCastonNZ hopefully we will
      Best of luck with your project

  • @tabletbrothers3477
    @tabletbrothers3477 2 ปีที่แล้ว +1

    Did this project stagnate? I've thought of so many cool ideas for the game, but I don't know if it's even still alive. :P

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      It's still alive! I had to take a bit of a break last year, but I'm back on it now :)

    • @tabletbrothers3477
      @tabletbrothers3477 2 ปีที่แล้ว

      @@NickCastonNZ I have some cool (imo) ideas! Do you want to hear them?

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      Yup! I'm always keen to hear any ideas or feedback. If you want to share it here in the comments that works, or if you'd prefer email mine can be found at the bottom of starmaul.net (I'm not sure if putting my email in YT comments is kosher), or whatever's easiest for you

    • @tabletbrothers3477
      @tabletbrothers3477 2 ปีที่แล้ว

      @@NickCastonNZ Cool! I just sent you an email.

  • @atorrres
    @atorrres 3 ปีที่แล้ว

    Wow, really nice! Hahaha

  • @Blazemore6
    @Blazemore6 3 ปีที่แล้ว

    What was that UI GUI you were using if I may ask?

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว

      That's called Gravit Designer. It's pretty nice and the free version still has a lot of functionality.

  • @talanock
    @talanock 3 ปีที่แล้ว +2

    well if you wanted to do this in 6 months, making your own engine probably wasn't a good idea. With that said, 99.9 percent of the time if you want to make a game, creating your own engine is a mistake and it's finally nice to see the .1 that pulls it off. I hope you knock this out of the part, good luck.

    • @k6l2t
      @k6l2t 3 ปีที่แล้ว +2

      Cute story, but did you know that over 99.9% of all statistics are made up?

  • @travis3479
    @travis3479 2 ปีที่แล้ว

    i'd recommend using black screens instead of white. late at night watching this video getting flashbanged. 😱😝

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      Whoops! My bad. But yeah I agree. I'll adjust future videos

  • @GonziHere
    @GonziHere 3 ปีที่แล้ว +2

    calculateOptimal... buy(gme) :-D

  • @dusturbator
    @dusturbator 2 ปีที่แล้ว

    I wonder where this game is now

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว +2

      Had a bit of a break last year but back at it now. I'm planning for my next video to be a Starmaul dev log. Stay tuned!

    • @dusturbator
      @dusturbator 2 ปีที่แล้ว

      @@NickCastonNZ Nice to hear and happy to see the upcoming Video

  • @microcolonel
    @microcolonel 3 ปีที่แล้ว

    NO RUTH

  • @thomasipad7719
    @thomasipad7719 3 ปีที่แล้ว

    I tried to preregister, but it is not possible. The "Pre-Register" button does nothing. Can you please fix this? There is only some text and the button, but nothing else. iPad Air 3, iPadOS 14.4 with Safari

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      Sorry it's not working! Thanks for letting me know and giving the details. I'm tracking down an iPad now to get this sorted.

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว +1

      Hey Thomas. I've managed to track down an iPad Air 3 and it should be working now. Let me know if you're still having issues. If need be, I can add you manually if you'd like.

    • @thomasipad7719
      @thomasipad7719 3 ปีที่แล้ว

      Many thanks, but sadly no...
      The pre-registration is shown at the very bottom of the website and shows exactly thos texts (going write several replies as i have problems sending a bigger one):

    • @thomasipad7719
      @thomasipad7719 3 ปีที่แล้ว

      I cannot copy the text from the website to paste it here. Probably some invisible code.
      Just the name of the App, two times pre-register and a line about signing up for news and updates

    • @thomasipad7719
      @thomasipad7719 3 ปีที่แล้ว

      The first "Pre-Register" is a button on the upper right, but it does nothing but scroll down to that part of the website.
      There is no other effect and no other field or something

  • @moses986
    @moses986 3 ปีที่แล้ว

    Will this work on AMD gpus?

    • @NickCastonNZ
      @NickCastonNZ  3 ปีที่แล้ว

      Yup! Will work just fine

  • @morgan0
    @morgan0 2 ปีที่แล้ว

    so i hear hydrazine and idr if it’s hypergolic on its own or with another chemical but i know it’s explosive and also toxic, but if it’s flowing in a river that would be an easy power source lol

    • @morgan0
      @morgan0 2 ปีที่แล้ว

      also the pre-register would be a great place for a form for where you’d play it, to get an idea of what devices/OSes/specific hardware combinations/etc people want to play it on. you’ve said in the videos you want to have it on many platforms, though maybe it would be helpful to see like what android devices are common in your existing interested playerbase. personally as a mac user, having it run on macos would significantly increase my likelihood of buying it

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว +1

      Good point. That definitely would be useful data. On the flipside though, I have found that adding even minor additional steps (even optional) to a form will often significantly decrease the number of people who actually finish/submit it. I decided to just err on the side of making it as easy to sign up as possible.

    • @morgan0
      @morgan0 2 ปีที่แล้ว

      @@NickCastonNZ makes sense. maybe an optional second form, like submit the email and whatever, then after showing the end screen, have a second one with more questions, maybe that could reduce any drop off on the email signup, since that’s all you see until you submit that first one

  • @OmarKillzHackz
    @OmarKillzHackz 3 ปีที่แล้ว

    So basically bloonds td battlets but sauce

  • @yellowskrub
    @yellowskrub 2 ปีที่แล้ว

    Have you thought about opening a discord server?

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      I think I'll probably do that once I've got early versions of the game in people's hands (which hopefully won't take too much longer...)

  • @davidmcbride5357
    @davidmcbride5357 2 ปีที่แล้ว

    I feel lack of Hdri sky.

  • @Noqtis
    @Noqtis 2 ปีที่แล้ว

    did you release the game yet?

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      Nope! Had to have a bit of a break last year, but I'm working on it again now. I'm planning to make my next video be an update on Starmaul

    • @Noqtis
      @Noqtis 2 ปีที่แล้ว

      @@NickCastonNZ
      I'm kinda similar to you in some ways. We played and enjoyed the same games and we both are really deep into making them. well, you write a 3D game in your own engine, so you are a million times better than me in actually doing them but the fascination should be similar :)
      I wondered if you would be interested in a talk about your game with me in discord.
      I played a lot of tower defense games in WC3 and especially the pvp ones.
      I also thought already a lot about a similar concept because I always dreamed to make such a game. I'm just too scared of the multiplayer aspects so I never left single player games (in terms of development).
      I think I could be helpful in providing an interesting new perspective on some things related to this specific idea. but only if you're interested of course. Not going to be mad if you can't find the time to talk to a rando like me ^^"
      Wish you a good day and a lot of motivation for you next video. I'm excited :)

    • @NickCastonNZ
      @NickCastonNZ  2 ปีที่แล้ว

      It's great to hear from another enthusiast! And thank you for the encouragement :)
      I'm keen for any thoughts or feedback you have. I really appreciate it! My schedule is a bit hectic these days so I prefer something like email so I can fit in reading & replying when I have time (also, apologies if it takes me a little while to reply!). My email address is listed in this channel's "About" page if that works for you. But if email isn't your jam that's totally cool too - no pressure at all.
      Thanks again! I hope your project is going well

  • @svj666
    @svj666 3 ปีที่แล้ว

    Hey! This is cool, you've got a like and subscribe from me! - Suj

  • @termisher5676
    @termisher5676 2 ปีที่แล้ว

    Wow youbamke game without engine.
    I struggle with unity and still cant make movement controller.

  • @termisher5676
    @termisher5676 2 ปีที่แล้ว

    Youbcouldbsimply make rocks go under water so there is no unrralistic land in middle of river.

  • @symmetrie_bruch
    @symmetrie_bruch 2 ปีที่แล้ว

    you invented hydrazine? well seeing that it´s a 350 million market, you should have a nice bit of cash to fund your game dev ambitions ;)

  • @thomasipad7719
    @thomasipad7719 3 ปีที่แล้ว

    iOS / iPadOS, PLEASE!!!

  • @jackadevil9746
    @jackadevil9746 3 ปีที่แล้ว

    You're being really really out-competed by a roblox game rn. (tower defense sim & eclipses LOL). (als raymarching cool)

  • @llVIU
    @llVIU 3 ปีที่แล้ว

    hydrazine... and here I was imagining americans trying to steal the oil. I think you're a bit too logical with the storyline... I mean it's fictional, it doesn't have to make so much sense. The point is to be able to do things in a game that you can't do in real life. I'm just saying, it's restraining, which is why kids and teenagers can be a lot more creative than adults.
    Glad to see an indie game developer, I wish I was one too. I don't have the money, talent or ambition for it. Your game looks promising