this video went from difficulty 6 to 100 very fast.
@robertstoner620011 күн бұрын
First off Tank You for the videos. It has been interesting to see how you go about solving the problems vs how I went about it as a non programmer. I got this game for my son who has showed some interest in coding and thought it would be a fun way for him to learn instead of just staring at lines of code. When I watched your first video I was like ok a K.I.S.S. then refactor approach this will be a good video for getting the toes wet. Then POW curve ball out of not where LAMBDA LOL. I did have a question for you. In the traverse farm function you are doing the for i in range(get_world_size()) and for j in range(get_world_size()) then you use get_pos_x() and get_pos_y() but with the structure you have i = x axis cord and j = y axis cord. You use Move_to_origin () before you start your loop could you not put your move_to(i,j) inside the j loop at the top and it would move you to 0, 0 at the start of the loop and then move you across the farm as it loops the remove the move(North) and move(East)?
@Zwaydi18 күн бұрын
Need more episodes! You have that public void main(String[] args) energy. Way better than main char energy…
@XBOkiXD18 күн бұрын
Still waiting for the next part , hope you're doing good, you've been a great help in learning to code
@IndonesiaEmpire519 күн бұрын
24:50 Him:*not gonna use can_harvest* Him also:types can_Harvest*
@sphinctor120819 күн бұрын
Sittning here like an abstinenced junkie when I now realized that you haven't yet released the next part of this series... Please hurry, I love to follow your coding logic with this game, learning so much. Awesome videos and commentary man, 100%.
@magahzinyo703326 күн бұрын
But you are too fast...
@IbensucksАй бұрын
nice!! i saw a video about this game!
@loj2252Ай бұрын
woodworm ( i think that’s the name of the game)
@joshmhelamadorАй бұрын
GAME NAME!!!!!!!!!
@jack.hodkinsonАй бұрын
Woodworm spratt.itch.io/woodworm
@LongGone2Ай бұрын
"new addicting rougelike of 2024. say goodbye to your free time" gasp. A GAME I CAN PLAY?!?!
@davenl5495Ай бұрын
These videos are insanely clear oh my god. Please keep releasing these! (I especially would love to see other common design patterns applied in Java, examples of them, and common use cases for them). Subscribed :)
@zitta7413Ай бұрын
Glad you like it, and appreciate the in-depth critiques!
@ayelceeeАй бұрын
just played the game and it is addicting ngl
@patricksfriendbobthesponge8256Ай бұрын
glad I gave this video a chance, hope your channel gets more traction in the future
@JUSKTH_RDDАй бұрын
19:36 NO, NONONO GET OUT OF MY HEAD
@aleksanderwasowicz8499Ай бұрын
Nice idea for a game, but puzzles are way too easy for puzzle games players and game is too unintersting for general player base
@slylou321Ай бұрын
This sounds like Runecape music...Is this the in-game music?
@limeboatАй бұрын
You can tell this is a real developer! Skimming through documents and going at it, missing minor things like wrapping around edges ;)
@asparagusofficeАй бұрын
cool idea, hope the devs expand it
@splittingheadache5990Ай бұрын
A hidden gem of a channel
@drew8947Ай бұрын
this comment made me subscrive cuz i trust you so dont be wrong
@knuffidimi1086Ай бұрын
My Friend told me to watch this video after I started my new job as programmer. What i rly love about this video is the fact how easy it is to follow along. Keep it pls up!
@jack.hodkinsonАй бұрын
Your friend is a legend
@Bobby.TablesАй бұрын
you can plant trees in 1-1, 1-3, 3,1 and 3,3 as well. if (x+y) % 2 == 0 plant tree => 0-0, 0-2, 1-1, 1-3, 2-0, 2-2, 3-1, 3-3 and it will automatically scale if the grid grows
@seblund2 ай бұрын
For the power/sunflowers you should consider replanting the sunflower immediately after harvesting it (reordering your queue), so you keep getting sqrt(n*n) each harvest instead of diminishing returns. Great work on the series so far!
@xJustForKiicks2 ай бұрын
Very excited for the next episode!!😊
@jack.hodkinson2 ай бұрын
Working on it!
@xJustForKiicks2 ай бұрын
@@jack.hodkinson take your time. The depth you're going to with your playthrough surely takes time
@jack.hodkinson2 ай бұрын
Check out the full video here: kzbin.info/www/bejne/hqvYY5V-h5aZhpo
@lucifergaming94912 ай бұрын
Thank you so much your video helped me in getting good marks in my presentation at my College.
@gj4king12 ай бұрын
I understand alot of the concept however my school is not teaching me anything.... what website would you suggest I go to strengthen my skills?
@gj4king12 ай бұрын
I love your generics explanation and you were straight to the point...
@DenerWitt2 ай бұрын
this makes want to programm again. So fun and colorful
@keejay981952 ай бұрын
13:25 you noticed there is an inbuilt get_ground_type so you rename your custom function instead of using the inbuilt one? 😅
@jack.hodkinson2 ай бұрын
They do different things - the inbuilt one gets the ground type currently underneath the drone
@keejay981952 ай бұрын
@@jack.hodkinson ahhh thank you! i was confused about that. great series 🙏🏼
@jack.hodkinson2 ай бұрын
@@keejay98195 Thank you!
@Johan-iw6mb2 ай бұрын
I´ve played this game quite alot and is waiting for the optimization stage which I need to step up. Thanks for showing a Senior Dev way of developing. 😛
@Warlord982 ай бұрын
Sunflowers can be measured before fully grown so plant measure cuts out the extra traverse
@billy65bob2 ай бұрын
If you want to make the pumpkins super efficient, you need to water them and then babysit them until can_harvest is true before moving on. There's probably an argument to be made for babysitting an entire horizontal/vertical strip at a time before moving to the next.
@candybluebird2 ай бұрын
Other people have mentioned planting after harvesting, but I'd also like to share the idea of buying seeds instead of flipping while harvesting carrots. Like flipping, trading gives time for the carrot to grow, but it also reduces the amount of buying you need to do at the start of each cycle, giving you an overall decrease in the time per cycle
@Rouverius2 ай бұрын
Why am I suddenly nostalgic for Runescape🤣
@AllHailMafakas2 ай бұрын
I love the Runescape music in the background.
@tannermuro77562 ай бұрын
You don’t need the conditional in traverse farm, you can just pass state in. If it’s None, then it was same as the default value anyways, and if not, then you are passing state in just as you wanted.
@jack.hodkinson2 ай бұрын
I think you do because of the way number of arguments works in this language, but I’ll check next time I open the game - thanks
@zakbenson55082 ай бұрын
Man I am really loving this series. Enjoying seeing the way you assess problems and work through the solutions. As someone who enjoys programming on a beginner/hobbiest level it is really interesting to see the logic applied!
@oldnight53372 ай бұрын
I can't understand this position_tuple thing at all. Why is it there, and what does it do? Anyone can help?
@jack.hodkinson2 ай бұрын
A tuple is like a fixed sized list. It's a way of carrying around multiple items in one variable. When we talk about positions, we're often going to want to refer to pairs of x and y coordinates. It's useful to be able to define a variable that contains both the x and y coordinate together, rather than needing two variables. So instead of this: x = 3 y = 4 you can create a tuple like this: position = (3, 4) and pass the position around in one go. When you eventually need to access the x coordinate, you do position[0], which gives you the value 3.
@jack.hodkinson2 ай бұрын
For the move_to function, I decided that I would like to have options when I call it. Either I'm typing in literal values into my code (like `move_to(0, 0)`), or I'm passing in a variable (like the sunflower positions). In the first case, it's nice to be able to call `move_to(0, 0)` rather than needing to pack the position into a tuple (which would be `move_to((0, 0))`). For the second case, it's useful to pass in the tuple. But that's just for style points, it only saves a couple of characters when calling it.
@jack.hodkinson2 ай бұрын
Finally, just to confuse matters, sometimes the brackets are optional when you define tuples. So you can actually write: position = 3, 4 Like we do in the return value for get_pos() More info here: docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences
@oldnight53372 ай бұрын
@@jack.hodkinson Thank you for this explanation, now I seem to get it. Love your let's play. Hope you will continiue this series ^^
@robin14892 ай бұрын
I loved the game I'm not an real programmer but my best automated run was like 1, 5 hours, the journey was amasming but my code doesn't looks so organized like yours.
@morphide33592 ай бұрын
I've just started to learn coding, with a goal of becoming a dev in the near future. And even tho I find it hard to follow what you are doing, I do understand the logic behind it. I know I have a long way to go to get to your level, but just got to keep grinding. Thanks for such entertaining and informative vids. Keep it up!
@joshuamostyn60462 ай бұрын
I've just started learning how to code in python but the speed at which your problem solving is amazing but no one seems as shocked as me. Is being able to problem solve like this a norm at this level of coding?
@luisdss2 ай бұрын
Honestly as a CS student once you got functions I was left amused, awesome stuff I’ll have to play around with the game myself
@РуменИвановАндреев2 ай бұрын
Apart from measuring right after planting you can just plant the full grid and then after harvesting the sunflower with most petals plant a new one, measure it and add it to the list. After that its just going to the next one with most petals, but that means that after each harvest you have a full grid planted. That way the amount harvested is always maxed instead of going down with each harvest.
@smjonas86162 ай бұрын
Right, that's the best approach since the amount of energy you get is higher the more total sunflowers there are
@smjonas86162 ай бұрын
Right, that's the best approach since the amount of energy you get is higher the more total sunflowers there are
@robertstoner620011 күн бұрын
This looks like it could be faster if you have fertilizer to use on newly planted sunflowers otherwise it would be slower I think. Let say you plant the farm and harvest all the ones with 15 petals and only the last one came back as 15 petals you will have to wait for it to grow to harvest it and in that time you could have harvested the entire farm and started to replant giving a higher return on the energy than the one plant.
@РуменИвановАндреев11 күн бұрын
@@robertstoner6200 Since the probability to get a new sunflower with max petals isnt 100% I still think its better this way
@Hoovy422 ай бұрын
Can't you measure the sunflowers after you plant them rather than traverse again?
@jack.hodkinson2 ай бұрын
Yes, good point
@Hoovy422 ай бұрын
@@jack.hodkinson although the overhead of traversing again isn't so high when you have to go back and forth to collect the sunflowers anyway. Since you're going more modular with the design perhaps that map inspection of state will be moved to a reusable module
@davyverbogt1492 ай бұрын
it might be worth while to use wattering or fertilizer when its waiting on the sun flowers growing. it could speed up the process
@maxmotion63712 ай бұрын
Something I found recently is that you can plant grass as well and you can even plant it on tilled soil! so if you are willing to plant the grass instead of tilling you could plant all crops on tilled soil! Another thing that could help you with sunflowers is that you can 'measure()' a sunflower right after planting, this way you don't have to traverse the grid again just to measure the sunflowers!
@replikvltyoutube37272 ай бұрын
Mazes are the most interesting part. Looking forward to it!