Coding ASCIIMON in Rust - Episode 2

Поделиться
HTML-код
  • Опубликовано: 21 окт 2024

Комментарии • 147

  • @MilkshakeDev
    @MilkshakeDev 6 лет назад +82

    MORE ASCIIMON! make part 3!

  • @TonyMichaelHead
    @TonyMichaelHead 4 года назад +2

    Finding this made my day. I hope you continue this project!

  • @Toble0
    @Toble0 6 лет назад +11

    Cool stuff, man. Love seeing you progress on these projects

  • @__mk_km__
    @__mk_km__ 6 лет назад +3

    Another fetature to add to the portal system: a variable that stores the coordinates you teleported from.
    This is how buildings work in pokemon games; it allows you to reuse the same map(eg. pokemon center, game corner) for different cities.
    You'll need to add a flag to the portal struct telling it to save/not save your coordinates before entering, and another one that tells the portal to use the stored coordinates as its destanation.

  • @mranonymous5268
    @mranonymous5268 6 лет назад +86

    This game has some serious potential. I get why you use the wasd + enter movement system, but wouldn't it be just a little more intuitive and user-friendly if you'd use the standard wasd control system? And then for dialogue and any other interaction the "console"?
    Also, how much time have you spent on this so far?

    • @wenxuanzhou5823
      @wenxuanzhou5823 6 лет назад +13

      It's in the console, because the game's in ASCII, so before any action the user must press enter. It's not possible to use the standard control system.

    • @Hopsonn
      @Hopsonn  6 лет назад +27

      I would add simple WASD commands, but it is just kinda awkward in Rust as far as I know, as there nothing in the standard library for this, and I believe no cross-platform third-party libraries exist for this purpose yet :(

    • @In2Mattle
      @In2Mattle 6 лет назад +15

      What about forcing the program to automatically press enter after every character typed? :)

    • @mincrmatt12
      @mincrmatt12 6 лет назад +1

      I know in C/C++ you have access to getchar() which pulls one char without waiting for enter, so that might work if you can find out how to use it in rust.

    • @thearmyofiron
      @thearmyofiron 6 лет назад

      Paweł Cholewa it appears like he wants a cross platform support

  • @jacobhaig2372
    @jacobhaig2372 6 лет назад +7

    I made a C++ game just like this. It even had purple portals like you have. My portals had `*` tho. I had a stationary map, but a sliding map, like you have, May allow for some interesting effects. Also, I had chars like `#`,`$`, and `%` representing enemies on the map that would be generated and move if you left the area. Those enemies had randomly generated names and text Icons when you went into a fight. At the end of the fight, you could steal a skill that they had to replace your own. Skills had a random damage amount given to them.

  • @timeslongpast
    @timeslongpast 6 лет назад +36

    Could you add a short delay in each step so it the player appears to walk that way instead of "teleport"

    • @thezipcreator
      @thezipcreator 6 лет назад +1

      yeah I agree

    • @maximkhanov4788
      @maximkhanov4788 6 лет назад +5

      That would require him to draw each time the player stepped which would look sloppy unless he didn't clear the screen which would be harder

    • @bamberghh1691
      @bamberghh1691 6 лет назад +4

      @@maximkhanov4788 he could just set the console cursor on the (0, 0) position using \x1b[H or \33[H escape sequence instead of clearing the console

    • @maximkhanov4788
      @maximkhanov4788 6 лет назад +3

      I think he should only update the parts of the screen where the actual tile needs to change.

    • @Name_cannot_be_blank
      @Name_cannot_be_blank 3 года назад

      @@maximkhanov4788 clearing screen isn’t noticable, *if you do it right*, i’ve seen terminal text editors, they were fine
      and my own text program with cars moving and screen clearing ALL THE TIME

  • @fastmovingvolcanomatter
    @fastmovingvolcanomatter 6 лет назад

    This is super cool, love your console interface especially. Working on a similar project in C++, seeing your approach to things is really interesting.

  • @Ivan-qb7kc
    @Ivan-qb7kc 6 лет назад +6

    my favorite programming language

  • @louissardarescu6937
    @louissardarescu6937 6 лет назад +28

    Continue !!

  • @NICK....
    @NICK.... 4 года назад

    I really like the ASCII aesthetic

  • @NotVeryRitch
    @NotVeryRitch 6 лет назад +1

    *James Ritchie ;)
    Loving this series, excited to see more :]

  • @DagaraLP
    @DagaraLP 6 лет назад

    This very cool to watch, please continue the series :)

  • @carneloot
    @carneloot 6 лет назад

    When you said about a system to automatically add portal coordinates, i initially thought of something in the world chunk file.
    Like, you would type "1" to indicate a portal, and it would expect some id after it to link it to another portal in the map.
    For example, i have 11 in chunk 0_0 and 11 in chunk 100_100. When the map loads, it would load them up and link them.
    I don't know if it would be more difficult to implement, but for me it sounds easier to use than the world editor.
    But of course, the world map editor has some great potential to future improvement.
    Anyways, love your videos! This series is awesome.

    • @Hopsonn
      @Hopsonn  6 лет назад +1

      That's actually a fantastic idea, I might give something similar a try. Thanks!

  • @shukishan
    @shukishan 6 лет назад

    hey, would you recommend anything in order to transition from java to c++? I just started studying computer science in university and I know some pretty basic java (OOP, inheritance, polymorphism and what not) but I want to get some fast learning in order to make a game in c++. Thanks.

  • @HermesPasser
    @HermesPasser 6 лет назад

    Is getting more interesting, nice editing btw

  • @flyingsquirrel3271
    @flyingsquirrel3271 6 лет назад

    This game could be amazing :D Please continue working on it!!! I think you should consider putting sleep & render commands in the loop that processes the keyboard input buffer. Although "realtime" WASD input is probably not possible the movements would look much smoother that way and the player couldn't travel infinitely fast. I'm pretty sure that everything the player would type while this loop is running would get buffered by the terminal window itself and get put in afterwards automatically.

  • @neb3611
    @neb3611 5 лет назад

    This is awesome! I hope you'll make a third part :)

  • @Tristen871
    @Tristen871 6 лет назад

    Please continue this series!

  • @Kitulous
    @Kitulous 6 лет назад

    Interesting video! I'm creating my own programming language, so I would like to implement that game in my programming language for, like, completeness test when I, well, finish the language!

  • @MrChickenpoulet
    @MrChickenpoulet 6 лет назад

    Really cool and interesting as always !

  • @martlesmartlesmartles
    @martlesmartlesmartles 6 лет назад

    Weird... I'm notified of your videos a day after their uploaded.

  • @noahcuroe
    @noahcuroe 6 лет назад

    Does Rust really have no getchar or readkey equivalent? That input system really sucks imo.

  • @cad97
    @cad97 6 лет назад

    The saga continues! :D

  • @miguelvieira3687
    @miguelvieira3687 5 лет назад

    Suggestions: Make the game grab all input and move the normal way (But I suggest Using arrow keys instead of wasd), then implement some action button (maybe a to confirm and s to cancel, or other convenient keys) and a third, console button that opens a small console to do any kind of console commands you wish to implement :3

    • @Hopsonn
      @Hopsonn  5 лет назад

      I would make it move.normal way, but as I said in the video,.it's not really very easy or even very possible

    • @miguelvieira3687
      @miguelvieira3687 5 лет назад

      @@Hopsonn what if you set the game to send enter key automatically every frame?
      Then you stop auto pressing enter when you open the console, you add any non command into an ignore list and all pressable buttons get handled 👍

    • @Hopsonn
      @Hopsonn  5 лет назад

      @@miguelvieira3687 don't think that's possible but I'll look into it thanks :}

  • @MiSt3300
    @MiSt3300 6 лет назад

    Wow, just ~200 more views and you'll have 4 million views on your channel! Congrats!

  • @ronitsinha564
    @ronitsinha564 6 лет назад

    good series. pls continue

  • @kevycatminecraftmore7721
    @kevycatminecraftmore7721 6 лет назад +7

    Btw what dev enviroment is this?

    • @Hopsonn
      @Hopsonn  6 лет назад +9

      Visual Studio Code
      This is not the same thing as "Visual Studio"

    • @kevycatminecraftmore7721
      @kevycatminecraftmore7721 6 лет назад +4

      Would you reccomend that over the the Rust extension for IntelliJ IDEA?

    • @Hopsonn
      @Hopsonn  6 лет назад +3

      I haven't used Rust on IntelliJ, but I would say yes as VS Code is a much "lighter" experience and doesn't take forever to open on startup :p

    • @cad97
      @cad97 6 лет назад +2

      It depends what you want from the IDE.
      If you're used to IDEA or any JetBrains IDE, I'd use the plugin (and, ideally, in CLion since it has debugger support (on Linux, macOS and MingW (not MSVC))). If not, the vscode RLS plugin is great as well.

    • @Gogglesofkrome
      @Gogglesofkrome 6 лет назад

      what do you think of codeblocks? Should I just switch to Visual studios code, or would codeblocks be suitable enough for practically everything needed?

  • @teezee9387
    @teezee9387 6 лет назад

    So cool Keep up the good work! btw i like the current way of movement but change it if you want

  • @Triavanicus
    @Triavanicus 6 лет назад

    So... I just made a wire world in the terminal with rust, which was definitely interesting.

  • @jaredesloch7810
    @jaredesloch7810 5 лет назад

    How do I actually open the game? I have the master file though?

  • @FireStillPlays
    @FireStillPlays 5 лет назад +1

    When is this project going to be continued???

  • @lolatomroflsinnlos
    @lolatomroflsinnlos 6 лет назад

    Music from that ice water level in DKC2 :)

  • @piecaruso97
    @piecaruso97 4 года назад

    I actually created something very similar in c and assembly which works on mac and linux and dos, it just uses keyboard commands, the oibjective is a full blown rpg, i have also created a port on the nintendo switch by rewriting everything on fuze (an amazing eshop program)

  • @WhosScaredOfDentists
    @WhosScaredOfDentists 6 лет назад

    Never stop with these wacky edits

  • @rader8022
    @rader8022 6 лет назад

    More Asciimon!

  • @redandcyanpower
    @redandcyanpower 6 лет назад +2

    Yay!

    • @redandcyanpower
      @redandcyanpower 6 лет назад +1

      Also Are you doing anything for Ludem Dare or will you do anything for some game making comps???

    • @miksuko
      @miksuko 6 лет назад

      Mike64 - TheRealPower you should join the Discord if you want to ask questions

  • @lilcatfriend4575
    @lilcatfriend4575 6 лет назад +11

    Is rust object oriented?

  • @KankaWasTaken
    @KankaWasTaken 6 лет назад

    cant wait for part 3! :)

  • @daliusgalbraith1206
    @daliusgalbraith1206 5 лет назад

    please keep this series going! EVERYONE AGREES WITH ME!

  • @mistycgc8492
    @mistycgc8492 6 лет назад

    Eait would'nt typing answers or "Help" mess with moving with wasd?

  • @iliasgkotsidis3204
    @iliasgkotsidis3204 4 года назад

    I love it

  • @harald921
    @harald921 6 лет назад

    I almost didn't recognize you because you weren't coding in Code::Blocks!

  • @benjjgovroom249
    @benjjgovroom249 5 лет назад

    Please continue

  • @shinevisionsv
    @shinevisionsv 6 лет назад +2

    Neat!

  • @av3stube480
    @av3stube480 4 года назад

    BRUH
    I want more how come you're not doing more ;-;

  • @sanderbos4243
    @sanderbos4243 6 лет назад +1

    At 4:43 you've written on the bottom of the console that 'waass' moves you left twice and down twice. Shouldn't it be left twice and down once?

    • @Hopsonn
      @Hopsonn  6 лет назад

      Sander Bos no, because it moves the player up first

    • @sanderbos4243
      @sanderbos4243 6 лет назад

      But 'waass' comes down to (w) y -= 1, (ss) y += 2, (aa) x -= 2. When added together you get y -= 1 + y +=2 is equal to y += 1, right?

    • @Hopsonn
      @Hopsonn  6 лет назад

      Sander Bos ye but that implies the player doesn't move using w if that makes sense, like
      ###
      #. #
      #@.
      #. .
      Imagine this scene and you type waass
      The player would move up first because of the w, but the aass would never happen as the player is blocked. Hence I say the whole thing :p

    • @sanderbos4243
      @sanderbos4243 6 лет назад

      ah, so the aa and ss gets ignored because the program failed to move to the left when it got to the first a, got it. thanks for explaining, could've gotten it if I had taken a little bit more time to think about how your program works internally. :p

  • @LukSilva12
    @LukSilva12 3 года назад

    No part 3? :(

  • @Koutsie
    @Koutsie 6 лет назад

    YES!

  • @tyronemw6713
    @tyronemw6713 3 года назад

    Any party 3?

  • @Rohrschacht
    @Rohrschacht 6 лет назад

    very nice

  • @rebornreaper194
    @rebornreaper194 5 лет назад +1

    Is this project abandoned?

  • @pchs
    @pchs 5 лет назад

    Part 3...?

  • @duxoakende
    @duxoakende 4 года назад

    What about part three?

  • @super4543
    @super4543 5 лет назад

    Impressive!

  • @LambOfDemyelination
    @LambOfDemyelination 6 лет назад

    You could give the characters background colour, making the game look more colourful, rather than being so dark due to the black background.

    • @LambOfDemyelination
      @LambOfDemyelination 6 лет назад

      Some consoles also support blinking characters, and bold characters.

  • @decreer4567
    @decreer4567 6 лет назад

    Dude you should try Metal, it’s lower level than OpenGL es

  • @MoustiluigiRandom
    @MoustiluigiRandom 6 лет назад

    Très bon.

  • @crafterbros8708
    @crafterbros8708 6 лет назад +4

    Do you have braces? Cause it sounds like you are talking a bit weirdly because of braces. Sorry if this comes off as rude, i’m just wondering.

    • @Hopsonn
      @Hopsonn  6 лет назад +8

      lol it is fine, I agree with you
      Yes I do have braces, they are hopefully off by the end of the year :)

    • @crafterbros8708
      @crafterbros8708 6 лет назад +1

      Hopson nice! Mine went off this march luckily, now my teeth feel really smooth in comparison

    • @DagaraLP
      @DagaraLP 6 лет назад

      ohh that makes a lot of sense
      looking forward to hearing your voice without the braces :P

  • @evyatarbaranga5624
    @evyatarbaranga5624 6 лет назад

    Thats so cool!

  • @gravitowl
    @gravitowl 4 года назад

    Please make a new episode!

  • @mistycgc8492
    @mistycgc8492 6 лет назад +1

    YEE

  • @valyplay4928
    @valyplay4928 5 лет назад

    Dwarf fortress in first person

  • @shekhawat5917
    @shekhawat5917 6 лет назад

    Make an part 3 pls

  • @apollogeist8513
    @apollogeist8513 6 лет назад

    If Rust were my grandchild I would squeeze its cheeks.

  • @dustyhob0
    @dustyhob0 6 лет назад +12

    [funny joke]

    • @juniusvaitkus8949
      @juniusvaitkus8949 6 лет назад +4

      the trashman [even funnier reply]

    • @Kitulous
      @Kitulous 6 лет назад +4

      [the reply of wondering why such a great joke did not get like a million likes]

    • @apollogeist8513
      @apollogeist8513 6 лет назад +1

      [comment on how genericizing youtube comment habits has already been done before and therefore is unoriginal in itself]

    • @1x5x7
      @1x5x7 5 лет назад

      [laughs in spanish]

    • @nekonip8473
      @nekonip8473 5 лет назад

      @@1x5x7 [laughs in C++]

  • @MelchiorPhilips
    @MelchiorPhilips 6 лет назад

    Anyone else hyped for Twitch Plays Asciimon?

  • @Luka116_
    @Luka116_ 6 лет назад +1

    can you PLEASE show how to make a character move by just clicking wasd or the arrow keys (not in a console, but like in "mayor" games, like portal, minecraft etc. etc.)

    • @Hopsonn
      @Hopsonn  6 лет назад +1

      I made a video on this a while ago.
      ruclips.net/video/GH7mN_BVVCs/видео.html&list=PLMZ_9w2XRxiZq1vfw1lrpCMRDufe2MKV_&index=17
      Please be aware the series is not great and ends at episode 27 (Before anything really useful is done)
      if you plan to watch it

    • @Luka116_
      @Luka116_ 6 лет назад

      tnx :D btw love your videos

  • @sirgrem2988
    @sirgrem2988 6 лет назад

    Recreate ELITE II or Elite: Dangerous?

  • @finlayl2505
    @finlayl2505 6 лет назад

    Make portals out of two square brackets it looks better. [ ]

  • @CharIie83
    @CharIie83 6 лет назад

    cool, but shouldnt it be in c++

    • @MarcinKralka
      @MarcinKralka 6 лет назад

      why

    • @CharIie83
      @CharIie83 6 лет назад

      its faster? cant catch them fast enough you know

    • @Hopsonn
      @Hopsonn  6 лет назад +3

      rust has basically the same performance as C++.
      Besides, performance is literally not a concern for an app like this lol

    • @Kitulous
      @Kitulous 6 лет назад

      Hopson so the interpreted language could potentially do the same speed as Rust or C++ in such type of games?

    • @Hopsonn
      @Hopsonn  6 лет назад +1

      Craftist yeah pretty much, there's nothing "heavy" going on here

  • @branimirkobescak7769
    @branimirkobescak7769 6 лет назад

    1/10 not enough ASCII

  • @tonipejic2645
    @tonipejic2645 6 лет назад

    I thought this would be in the game rust, like when people make calculators in minecraft. I'm disappointed :(

  • @joeb4167
    @joeb4167 5 лет назад

    Part 3??