🎮 Ren'py RPG Combat Engine! 🎮

Поділитися
Вставка
  • Опубліковано 7 лют 2025

КОМЕНТАРІ • 229

  • @hopeeverest
    @hopeeverest 2 роки тому +300

    Now we're one step closer to creating fun RPG games WITHIN a visual novel!

    • @vimi
      @vimi  2 роки тому +41

      THE DAY OF PROPHECY!

  • @BeepBoop-z2v
    @BeepBoop-z2v Рік тому +42

    RENPY HAS A 3D Thing NOW?!? HOLY IM BEHIND IM MOVING BACK YO REN PY

  • @user-cm2np9mf6j
    @user-cm2np9mf6j 2 роки тому +119

    Man, I can't belive how underrated you are. Your videos are so well made and extreeeemly helpful. I assume it's because of the small renpy community, you're one of the only good ren'py creators, I would even go as far and call you THE best renpy tutor. I'm so thankful for your videos!!!

    • @vimi
      @vimi  2 роки тому +8

      Thank you!

    • @nihilistick
      @nihilistick 2 роки тому +10

      @@vimi He is indeed correct! You're unbelievably small in comparison to the level of professionalism you put up in your videos. Keep it up and you'll grow in no time!

    • @vimi
      @vimi  2 роки тому +4

      @@nihilistick Thanks! I'll try!

  • @servlet5374
    @servlet5374 2 роки тому +74

    Although I already know how to do this, its still so nice to see that you're covering it in barebones.
    Some people who're new to this might find it very challenging to pursue this kind of game mechanic but your explanation definitely paints a clear picture of how the logic works.
    Well done good sir!

    • @vimi
      @vimi  2 роки тому +3

      Thanks!

    • @sohlasattelite
      @sohlasattelite 9 місяців тому

      Same. While i have enough programming knowledge to code pretty much anything i would want it was mindblowing how a simple back-and-forth mechanics got visually stimulating and entertaining with addition of the camera changes and basic animations. Good food for thought.

  • @alexanderbean7737
    @alexanderbean7737 2 роки тому +50

    I cannot BELIEVE how perfect this tutorial is. I figured having combat elements in my visual novel was a pipe dream because of my n00b level skills but now I'm going to pursue it. Thank you!

  • @jmh6559
    @jmh6559 2 роки тому +19

    This, This is exactly what I always wondered about the potentials of Ren'py. This video just fried away all of my concerns about the limitaions of Ren'py and I finally got my decision to choice of which game making tools to use. I really appreciate you to make this video.

    • @vimi
      @vimi  2 роки тому +1

      No problem!

  • @ghosterntt7183
    @ghosterntt7183 2 роки тому +27

    This is awesome!
    I watched lots of tutorials, but it's a struggle for me to understand coding, I can see people building blocks but never quite understand the principle behind it.
    This video finally made me understand all those tricky code names. I didn't see before but they are actually class variable changings.
    I'm really bad at coding, sometimes I can't even understand why I should code like this or that. So it's awesome to finally find a tutorial willing to take a noobie's hand.
    I would love to see your tutorials about inventory, and more stuff about basic coding!

    • @vimi
      @vimi  2 роки тому +7

      The inventory video is in the works!
      I'll be highlighting a drag and drop inventory system somebody has already built and shared, but I'll also break down what goes into an "inventory system", so hopefully nobody builds a gargantuan system for a game that really only requires a little flag!
      In the meantime, my Day/Night Cycle video covers some other variations on loops, and if you check out my Ren'py Cookbook series, I show how you can at least delve into code other people have written, and adapt it for your needs!

  • @EpyksLion
    @EpyksLion 5 місяців тому +2

    This tutorial has been immensely helpful! I've been trying to figure out how to build a randomized encounter system and how classes work for awhile now. Really looking forward to that video on building that inventory system!

  • @codeargent
    @codeargent 2 роки тому +15

    Ohhhhh my God, I am SO happy about this video. I know Ren'py isn't really for making complex turn-based games, but I love seeing how far its functionality can stretch. I'm currently studying Python on its own, so I'm super excited about learning more about Python in relation to Ren'py! Thank you! 🙏 RIP to the canaries, lol.

    • @vimi
      @vimi  2 роки тому +4

      There's so much weird, cool stuff you can do with Ren'py, and I'm never going to do even a fraction of what it's capable of doing on this channel!
      All I can hope for is that I'm giving devs the tools and knowledge to make newer, weirder visual novels.

    • @codeargent
      @codeargent 2 роки тому +1

      @@vimi You are doing an excellent service, my friend. ✨️

  • @SPkiller31
    @SPkiller31 2 роки тому +11

    There are probably too many words I wan't to say so I will limit myself to just: Thank you. Really, those tutorials, this whole channel is God-sent for people who want to work with RenPy. I started some time ago, creating my first game and basic Renpy stuff is very simple, after all you just write for most part. But things like night/day cycle or timers on choice are such a nice addition. Thank you again and wishing you all best for dedication to this niche but beatiful engine.

    • @vimi
      @vimi  2 роки тому +1

      Aw, thank you so much!

  • @MaybePlato
    @MaybePlato 2 роки тому +4

    Somehow I've just found you despite messing around with renpy for 2 years. Awesome tutorial. It's always nice to see how other devs do things.

    • @vimi
      @vimi  2 роки тому

      ❤❤❤

  • @mrdarkcatofficial
    @mrdarkcatofficial Рік тому +5

    Maybe this isn't a big deal now, but remember, Twice Devil Studios Team watched your videos to improve ours visual novels level, thank you so much for your videos and keep working on this, you have a bright future 💯💭

  • @eunicehan5380
    @eunicehan5380 2 роки тому +7

    Thank you for posting this Vimis :) I really appreciate all your tutorials, they help me learn a lot!

    • @vimi
      @vimi  2 роки тому +1

      I'm glad to be of service!

  • @Zero0Zero0000
    @Zero0Zero0000 Рік тому +3

    Damn, I just found your channel today and I'm loving it! Can't wait for the inventory video and I would love to see more parts on this fighting system to see just how complex it could get (rip canaries)

  • @loudiamonds5888
    @loudiamonds5888 Рік тому +2

    I thoroughly enjoyed this, thanks.
    I'm currently building a card-style combat system from scratch and I could really use the novice version of this video.

  • @Fahrenheit451.
    @Fahrenheit451. Рік тому +5

    Just discovered your channel recently and love your videos.

    • @vimi
      @vimi  Рік тому +1

      Glad you like them!

  • @Darlnezz
    @Darlnezz 2 роки тому +4

    Just found you today, not coded or written in Ren'Py for 2 years and your tutorials would been a godsend back then. There is one thing I looked at your videos and wondered if maybe you could potentially take time with and that is Layered Images.
    I remember having a really tough time figuring out how that works. It is also supposed to be useful for individual animations such as "eyes" or etc. I think you could really help people figure that one out with how well you explain and showcase stuff!

    • @vimi
      @vimi  2 роки тому +2

      The toughest part about a Layered Images tutorial is just grabbing some files that can work for layered images!
      I just talked with a fellow dev, Ari, who is nice enough to loan me some of her art, so I can get started on that pretty soon!

    • @Darlnezz
      @Darlnezz 2 роки тому

      @@vimi that would be really awesum! Keep up the amazing work!

  • @keyzack
    @keyzack 2 роки тому +3

    Best content creator Game dev/Visual novel/ RenPy related 🙏❤️ please keep the wonderful job. Hope your Patreon starts growing big!

  • @yannickchristianmuller214
    @yannickchristianmuller214 2 роки тому +13

    The bird spoke: "I want Jiggle physics"🤣

  • @master11050
    @master11050 2 роки тому +4

    Great video! On minor nitpick is at 5:46 is that a d20 rolling 19-20 is a 10% chance, not a 20% one. So your skeleton really has a 10% chance of wild attack, 10% chance of heal and an 80% of normal attack.
    By the way, I'm really happy to find this channel. I've been playing D&D for years and wanted to try making Visual Novels inspired by Tabletop RPGs so finding your videos is really helpful, especially this one about implementing a combat system.

    • @vimi
      @vimi  2 роки тому +1

      D'oh!
      Regarding the tabletop thing, I am also a big TTRPG fan, and I have a video in the works that you might be interested in, in the semi-near future :)

  • @kaczybut
    @kaczybut Рік тому +1

    im so happy that i started working with basics in renpy so now i know that it's actually easy stuff

  • @issacthompson330
    @issacthompson330 2 роки тому +6

    Renpy has classes? Good to know. As someone more used to unity but likely to make visual novels in the future it will come in handy.

  • @nc131-m9j
    @nc131-m9j 2 роки тому +2

    The only tutorial i was looking for!
    you made soooo much SUPER HELPFUL renpy tutorial ngl! i love how you explain the code aswell, thank you so much !

    • @vimi
      @vimi  2 роки тому +1

      I'm glad I could help!

    • @nc131-m9j
      @nc131-m9j 2 роки тому +1

      @@vimi please consider the jiggle physics code XDD

  • @miserablepumpkin9453
    @miserablepumpkin9453 2 роки тому +2

    This was super helpful and I'm hyped about the next batch of episodes! Also on a slightly unrelated note, if anyone in these comments wants to make a huge rpg game, Ren'py might not be the best engine for that...you're welcome to try, though

    • @vimi
      @vimi  2 роки тому

      It's a very related note!

    • @ZiaSatazaki
      @ZiaSatazaki 2 роки тому +1

      Doing it in Ren'py is largely if you want to have a robust storytelling system for all your story scene content, and then want to just kind of treat it like middleware for all the more interactive parts (and, importantly, if you want to do a lot of rolling-your-own regardless! RPG Maker and the like make a lot of assumptions about what you want to do; most of them are "safe" assumptions, but assumptions nonetheless)

  • @cronicasdeeberron8782
    @cronicasdeeberron8782 2 роки тому +1

    Hi! First of all: THANK YOU. This series has been a life saver for me.
    Little question/request, though:
    I DO get a LOT lost at the process around 2:15 where you talk about layers and camera angles/depth, and the video where you tackle how to use the Action Editor doesn't really cover how to manage the 3D enviroment (or even how to access it, since it's disabled by default).
    Would it even be possible to have a video of you explaining HOW do you actually manage this? It's crazy hard to fiddle around with your code and not to mess everything up with any slight adjustment.
    And, of course: THANKS AGAIN. You're great.

    • @vimi
      @vimi  2 роки тому +1

      I think "camera: perspective True" turns on most of the 3d functionality, and from there, the action editor's "3d" category should handle most of complicated stuff. From there, it's just a LOT of really finicky adjustments to get things where you need them to be, and adjusting the camera itself to be at an angle where you can see things from the right angle.
      But yeah, I'm probably due for another Action Editor Video :)
      www.renpy.org/doc/html/3dstage.html#using-the-3d-stage

    • @cronicasdeeberron8782
      @cronicasdeeberron8782 2 роки тому +1

      @@vimi Thank you so much! Let me tell you that it's refreshing to see the level of commitment that you have with your audience. We all greatly appreciate it, and your fantastic work.

    • @vimi
      @vimi  2 роки тому +1

      @@cronicasdeeberron8782 Thank you very much for your kind words! It really means a lot!

  • @melissam6931
    @melissam6931 Рік тому +2

    Great Tutorial thanks! I was able to make a simple turn based battle mini game and had it work how I wanted thanks to your guide + a bit of experimenting on my part

    • @vimi
      @vimi  Рік тому +1

      I'm glad you got the chance to build something like this in your own game! Great Job!

  • @sensmediaweb
    @sensmediaweb 2 роки тому +2

    Just Subbed mate. Thank you very much for the love into RenPy!

  • @animatingtherealm1683
    @animatingtherealm1683 Рік тому +3

    I’d be very interested in an in-depth Pokemon combat tutorial on RenPy

  • @samueleprencipe7310
    @samueleprencipe7310 7 місяців тому +1

    I’m new to game making and still learning Godot. But man being that GDScript is very similar to python I can now understand how to implement those things. Thank you so much!

  • @misozio
    @misozio Рік тому +2

    とても参考になりました。ありがとうございます。That was really helpful. Thanks a lot!😀

  • @lucieolantern4204
    @lucieolantern4204 2 роки тому +2

    YEEEEEEEAH BABY THIS IS WHAT I’VE BEEN WAITING FOR!!!!!!!!

    • @vimi
      @vimi  2 роки тому +2

      LET'S GOOOOOOO!!!

  • @brunoais
    @brunoais 2 роки тому +3

    14:30: That class is still procedural. Just using classes doesn't change code from being procedural or object-oriented.
    In order to make that, you need to make use of methods, multipluralism (different classes that can be used the same way) and possibly concrete inheritance (instead of just interfaces)

  • @shaynsnyolo
    @shaynsnyolo 2 роки тому +2

    I will watch this video 6000 times so it gets to 10k tomorrow aaaaaaa

    • @vimi
      @vimi  2 роки тому +1

      🙏

  • @clayjar7636
    @clayjar7636 Рік тому +1

    I am looking forward to the inventory video!

    • @vimi
      @vimi  Рік тому +1

      I'm slowly plugging away at it!

  • @lildog5360
    @lildog5360 2 роки тому +2

    you deserve a like and sub for that thumbnail alone haha love it!

    • @vimi
      @vimi  2 роки тому +2

      my thumbnail game is STRONG

  • @DJaycerOfficial
    @DJaycerOfficial 7 місяців тому

    In my RPG (which is being made in game maker) there’s a huge elements/effects system I’ve implemented. For starters, you have your basic element stuff which does what you expect them to do. Using spells can guarantee effects based on the element of its user. Then you have the weirder side of it which is the hardcode functions. If I want a certain enemy to have a constant damage multiplier against everyone, then they will get this hardcode functionality, which ignores all element checks. Then I check for if both the enemy and attacker are elemental, if the attacker is and the enemy isn’t, if the enemy is and the attacker isn’t, or if both aren’t elemental. That check gets run 4 separate times, each changing the damage value by a percentage. For case 1, (both elemental) damage is reduced by 5%, for case 2, damage is increased by 5%, for case 3, damage is reduced by 5%, and for the final case there is no change. This check gets run on the base elements of the attacker and the enemy, then on the weapon’s element and the enemy, then on the weapons element and the enemy’s armor. Also weapons with elements can stack onto effects during spells so if you have say fire on an electric elemental, you do “charge” as the effect.
    All of this is to say I put a lot of thought into my elements system because the whole premise of the game is elements. Everything gets taken into account. (Also magic defense will decrease damage taken significantly more than basic armor points. 1 magic point is 0.3 reduction and 1 armor point is 0.142856… reduction.)

  • @NeonKix
    @NeonKix 8 місяців тому +2

    Damnit... the birb intro bit got me... Laughed My Dumb Cloaca Off.

    • @vimi
      @vimi  8 місяців тому

      I bought a six pack of those birds, thinking it'd be my "thing".

  • @brunoandrade5957
    @brunoandrade5957 9 місяців тому +1

    Amaziiiiiiiiiiiiiiiiiiiiiiiiing!!!! OMG!

  • @Proceleon
    @Proceleon 2 роки тому +4

    Ah yes, a canary of culture.

    • @vimi
      @vimi  2 роки тому +1

      I think I'm gonna keep it on my head. It feels right.

  • @sirifys-al
    @sirifys-al 8 місяців тому +1

    Really cool and helpful tutorial, I finally made my battle system good enough. I have only one question: WHAT IS THIS SUPER CONVENIENT 3D STAGE EDITOR? Is it something built-in?

    • @vimi
      @vimi  8 місяців тому +1

      Watch my video on it here:
      ua-cam.com/video/KoYXzREFx4A/v-deo.html

    • @sirifys-al
      @sirifys-al 8 місяців тому +1

      @@vimi oh, so it's Ren'Py action editor? I saw that video, but probably missed that part about 3D...

    • @vimi
      @vimi  8 місяців тому

      @@sirifys-al It's towards the end - if you vary the placement of several items in the z-axis, that's what it'll look like on screen.

  • @jinzolaamenazadelamaquina8287
    @jinzolaamenazadelamaquina8287 2 роки тому +1

    I have so much trouble with this! Thank you so much for the vid! It means a ton.

    • @vimi
      @vimi  2 роки тому

      Happy to be of service!

  • @kittygardenva2741
    @kittygardenva2741 2 роки тому +3

    It's like the insult fights from Monkey Island all over again!

    • @vimi
      @vimi  2 роки тому +2

      and AGAIN and AGAIN and AGAIN until everyone knows how awesome that combat system was!!!

  • @5naf_plushies482
    @5naf_plushies482 2 роки тому +2

    Pretty neat! I might end up using a system like this in my games.
    Also poor birds lol

    • @vimi
      @vimi  2 роки тому +1

      All of the birds were just ONE day from retirement, too...

  • @شربتليدوخي-م7ب
    @شربتليدوخي-م7ب 2 роки тому +1

    Thank you, the topic is important and the explanation is very simple

    • @vimi
      @vimi  2 роки тому

      I'm glad I managed to pare down this very complicated topic into something manageable!

  • @Dizzydizzydizzy7
    @Dizzydizzydizzy7 2 роки тому +2

    Great video as always

    • @vimi
      @vimi  2 роки тому

      I'm still working hard at them 😤

  • @entevirtual
    @entevirtual 2 роки тому +6

    $ explosion = 0
    $ bird = explode
    If bird == explode:
    $ explosion += 1

    • @vimi
      @vimi  2 роки тому +2

      you get it

  • @FelixTheAnimator
    @FelixTheAnimator 2 роки тому +6

    F for all the lost birdies out there.

    • @vimi
      @vimi  2 роки тому +1

      F

  • @TrueMonkeyNinja
    @TrueMonkeyNinja Рік тому +1

    Awhile ago I saw a snippet of a Renpy example you had I think of the character able to move in a side scroller, and a tutorial was going to be made for that (I think). Do you know which video this could be of yours? It wasn’t released yet at the time I think. Unless the Renpy action editor will discuss this. Or this battle one does xD I mostly just wanted to see how to walk around in the vn and try it out!

    • @vimi
      @vimi  Рік тому +1

      I ended up dropping it - I could never get it to "feel" right when controlling a character. I might revisit it later on.

    • @marc13bautista
      @marc13bautista Рік тому

      @vimi ​
      Please do cover this. I really wanna do a sidescroller type of thing in Ren'Py-
      much like the game Kingdom Two Crowns (2.5D) or- a combat system like Autumn War (flash game). I REALLY wanna do a fun combat system that still sticks with Ren'Py's visual novel functionality (as I don't wanna go through the hassle of learning another game engine... and building vn functionalities there from scratch or $$$). Cool new stuff like maybe motion parallax and I think you covered editing scenes in Ren'Py 3d space (with sprite locations closer or further from the literal background) methods could be used in conjunction with what's covered with this video?
      This RPG Maker youtuber sort of covers this for the RPG Maker Engine in their own process, although I'm wishing for a Ren'Py version. Maybe even utilizing the call functions to transition between maps and such. That'd be amazing.
      www.youtube.com/@sidemv
      ua-cam.com/video/1j1pdk5rNic/v-deo.htmlsi=DkrZrfFGP1oxJD1G&t=129
      Hope you cover something so amazing to kickstart my passion for Ren'Py combat+VN hybrid game making with such a video.

    • @TrueMonkeyNinja
      @TrueMonkeyNinja Рік тому

      @@vimi Ah, I see! If you do revisit it, please definitely do release a video!

  • @alexsan305
    @alexsan305 2 роки тому +1

    dang, thank you so much man! you escapes me from my suffering :,D.

    • @vimi
      @vimi  2 роки тому +1

      i'll throw you a rope anytime, buddy

  • @sairu5277
    @sairu5277 Місяць тому +1

    my only question is.. how do you insert a combat scenario in a visual novel game

  • @matsu1140
    @matsu1140 2 роки тому +4

    So when it comes to classes, do you just create them all within the script and set conditions that trigger them in the script as well. Still new to RenPy and having everything on "one page" is just crazy. Must be a nightmare to organize.

    • @vimi
      @vimi  2 роки тому +1

      Ren'oy will parse through every .rpy file to find every label/class/definition/variable it needs to, so feel free to make as many new .rpy files as you need to best organize your game!
      I'll have a sheet of predefined images, variables, and classes; a sheet for every major chapter of my game; a separate sheet for each major module I build for my game; and my script.rpy file usually will be a short snippet of code that references out to all the modules on all those other sheets.

    • @matsu1140
      @matsu1140 2 роки тому

      @@vimi That makes more sense. Thank you!

  • @anpucamilla
    @anpucamilla 2 роки тому +2

    Correct me if I'm wrong, but wouldn't the OOP solution presented in this video break with rollback?
    I was using it as a reference for a game jam project I'm working on, and it seemed like if I made a call to damage a character the changed hit points would persist beyond rollback (and beyond the point of saving and loading, until I closed and re-opened the game), meaning I could damage a character repeatedly just by going back and forth between two lines.
    Regardless, loved the video! I've been watching your videos for a while and it's been very helpful and entertaining as a ren'py newbie.

    • @keyzack
      @keyzack 2 роки тому

      In this case I would recommend to disable "rollback" function when these kind of mechanics are involved

  • @lugotorix6911
    @lugotorix6911 2 роки тому +2

    Thanks for the tutorial, can you give some information about multi-language support sometime?

    • @vimi
      @vimi  2 роки тому +2

      Yes!

  • @watchandlearnLboard
    @watchandlearnLboard Рік тому +1

    quick question about the gameplay shown at 2:45, how do you make it move smoothly between two moving camera shots? i have a camera transform that's constantly moving, and im trying to get a smooth move from that to another camera angle, but it's scuffed every time.

    • @vimi
      @vimi  Рік тому +1

      If you start the camera with an ease, it will move the camera from whatever position it's currently at to the new transform that you just wrote.
      If you look at the code, "label camera_playerattack" covers that.
      I didn't use that a lot though! I find it a lot easier to do quick camera cuts before quick action!

  • @KimZaru
    @KimZaru Рік тому

    that bird speak for me
    Ps: thanks for the great video

  • @watchandlearnLboard
    @watchandlearnLboard 2 роки тому +1

    I've been working on a renpy game for 2 years now (no prior knowledge) and this video is the FIRST I'm seeing about 3d renpy stuff, do you have video / referral for that type of stuff? it looks SO COOL

    • @vimi
      @vimi  2 роки тому +1

      Yup! You can check out my Ren'py Action Editor video over here: ua-cam.com/video/KoYXzREFx4A/v-deo.html

    • @watchandlearnLboard
      @watchandlearnLboard 2 роки тому

      @@vimi my mind is blown, I absolutely love your renpy videos. thaNK YOU

  • @angeldutchess2996
    @angeldutchess2996 2 роки тому +2

    Thank yooou- this is so helpful!
    ps: do you think you can cover quick time events in an action scene in the future?

    • @vimi
      @vimi  2 роки тому

      You'll want to watch my "Timed Choices" video!
      Instead of a visible timer and some choices, you'll want to replace it with a custom screen overlay that prompts the user for the inputs you need from them, and whatever visual spice you want to add!

    • @angeldutchess2996
      @angeldutchess2996 2 роки тому

      @@vimi Oh! That makes sense! Thank yooou!🙂

  • @tjreed7797
    @tjreed7797 10 місяців тому

    I've been thinking about turning a project of mine into a visual/kinetic novel but I'm having trouble figuring out what sort of combat system I want to include. ATM I know I don't want to include a rpg like gear and leveling system since they seem like a hassle and I do want to include comic panel scenes with the combat system.
    Actually, as I'm typing this, I just thought that I could have the player select a panel to react and attack the enemy.

  • @drawingkhaganate
    @drawingkhaganate Рік тому

    I have two questions for you. 1) If I want to make a space game in renpy, how can I do it?
    2) Can we transfer the python output of a game we made in Microsoft Makecode to renpy?

  • @RH-zb4fu
    @RH-zb4fu Рік тому

    Really good stuff, keep it up :)

  • @Lars_Ziah_Zawkian
    @Lars_Ziah_Zawkian 3 місяці тому

    YES this video is a game changer!
    No pun intended. XD

  • @eleyaculadordelaverno1502
    @eleyaculadordelaverno1502 Рік тому

    Great video Friend!

  • @JohnSmith-xq1pz
    @JohnSmith-xq1pz Рік тому +1

    Question
    Is it possible to add a formula modifier that would rely on a number based on your choices doing the story?
    Each choose would have a point value something like this
    Choice a -2
    Choice b -1
    Choice c 0
    Choice d +1
    Choice e +2

    • @vimi
      @vimi  Рік тому +1

      Yup! Lots of different ways to do it! www.renpy.org/doc/html/python.html

    • @JohnSmith-xq1pz
      @JohnSmith-xq1pz Рік тому

      @@vimi excellent, Thank you 👍

  • @stawalahwun
    @stawalahwun Рік тому +1

    I know this is an old vid, but I tried to follow through this on an exercise and ran into something I didn't know how to find the answer to. When you've designed your fighter/combatant/character, whatever- Class. You use it to streamline stats and everything. But *how* do you make it so that for your battle loop, you can call which object/instance of that class as you need it?
    Like in the middle of the video you programmed that block of text of "if enemy_element == etc" then "$ enemy_(etc)_hp -= value" That's basically like, coding a variable for each enemy in your class.
    But is it possible to make like, a variable be "target" or something- so that you wouldn't have to code the numerous variables for each enemy?
    I tried to do like, ren'py simplified code $ target = "ghoul", and then $ [target].hp -= damage. But you can't combine ren'py streamlining with python code.
    Anyway! This video was great, really inspiring and led to lots of googling and experimenting. :D

    • @vimi
      @vimi  Рік тому +1

      Yeah, there's a lot of ways to do that, but I didn't want to get too into the weeds with Python classes and how they're used; I just wanted to touch on the general concept of what they are.
      Creating an actual, robust RPG fight system in Ren'py is pretty elaborate, and there are limitless ways you can structure them dependent on your needs. You can create a series of temporary variables that pull info from called out class functions on at a time, or create new class objects from scratch with every combat, or create a series of pre-defined encounters that minimize the unique variables needed.
      Take the time to think stuff out step by step, and try to write psuedo code to think of how you can structure what you know together, to create something that functions close to how you want it. Even if I tell you a solution, it might not be what you are looking for, or need!
      (for example, if I wanted to create a more elaborate version of this RPG fight code, I'd make four enemies, "enemy1, enemy2, enemy3, and enemy4", that can be populated with all the class variables of whatever enemies I call from a long list of class objects, including images I can define in the objects. The player is always fighting the "same" four enemies, but they'll always have stats and appearances according to how I define them, and if they fight less than four enemies, any enemies I define as "none" will simply never have their turn. Simple!)

    • @stawalahwun
      @stawalahwun Рік тому

      Thank you so much for the reply! Your videos are really good at getting one inspired and on a path to practice, without just hammering out a "here's how you do it" that's rigid and inflexible. Even just the notion of temporary variables that pull from classes has me realizing I have to think more about this!

  • @huynhvubaonhan6158
    @huynhvubaonhan6158 2 роки тому +4

    How about fight scene with jiggle physics?

    • @vimi
      @vimi  2 роки тому +1

      no thank you

  • @peterxyz3541
    @peterxyz3541 2 роки тому +1

    Thanks! You’re saving my life (slight exaggeration but I am ready to die if I don’t chase my dream, quit my day job)

    • @vimi
      @vimi  2 роки тому

      Keep chasing that dream!!!

  • @RikardRynoson
    @RikardRynoson 2 роки тому +1

    Awesome stuff! Thanks a lot.

    • @vimi
      @vimi  2 роки тому

      You're welcome!

  • @SOLOM0N
    @SOLOM0N 2 роки тому +1

    Thank you so much for all the effort you put in your tutorials! I have a question, do you know if you can add game borders in Ren'py? Like the PC-98 ones?

    • @vimi
      @vimi  2 роки тому

      Can you link to an example of what you mean?

  • @duckcluck123
    @duckcluck123 2 роки тому +2

    Commenting for the algorithm

    • @vimi
      @vimi  2 роки тому +2

      I already made a goat sacrifice for the algorithm, so hopefully I'm already covered

  • @ivanfoxxd4041
    @ivanfoxxd4041 Рік тому +1

    Just a quiestion, all of that code is made on separated scripts, or can be together in one?

    • @vimi
      @vimi  Рік тому +1

      Either - Ren'py will parse your project for all .rpy files, so you can split your ren'py code into as many .rpy files as you want. I tend to split my code into different sheets depending on what makes sense to me for that particular functionality, or different large sections of narrative.

  • @SeongCastle
    @SeongCastle 2 роки тому +1

    This is SO useful!!Thank you very much!!!
    PS: Do you think it'd be possible to create a SRPG (Ala Fire Emblem/Final Fantasy Tactics) engine using Ren'py?

    • @vimi
      @vimi  2 роки тому +1

      Yes, but you're gonna have to reinvent the wheel when it comes to unit placement! It's honestly a LOT easier and faster to find an engine built in Unity or other game engine than to build it in Ren'py!

  • @samanthamontoya9670
    @samanthamontoya9670 2 роки тому +1

    If I want to add a move like regeneration for my character to heal up how should I do it? I've been trying for days

    • @vimi
      @vimi  2 роки тому +1

      One way to do it is to have a variable that just says if a character has points in regeneration, and every turn, you'd want to check for that variable for that character.
      A regeneration check like this would be put in before every turn:
      if char1_regeneration >= 1:
      $ char1_health += [number of health points you want to add]
      $ char1_regeneration -= 1
      And the actual move would just give you some points in regeneration, plus maybe an initial health boost.
      There are a few other ways to do it, but this is probably the easiest to understand!

    • @samanthamontoya9670
      @samanthamontoya9670 2 роки тому

      @@vimi Thank you very much!! You're awesome!

  • @mirageparticle
    @mirageparticle 29 днів тому +1

    thank you so much

  • @kiindogames
    @kiindogames 2 роки тому +2

    Could you create a tutorial on how to make a navigation screen?

    • @vimi
      @vimi  2 роки тому +2

      Probably at some point, but that can mean a lot of different things!
      When people are looking up "Ren'py Navigation Screen", would it refer to a map with clickable icons or areas? Is it Myst-style rotation and movement? Can it just be a list of areas you can select from?
      I'll likely tackle all of these at some point (My Day/Night cycle video already covers the "choose from a list of locations" type of navigation), but each of them have very different requirements!

    • @kiindogames
      @kiindogames 2 роки тому

      @@vimi By navigation screen I am particularly looking for a way to create a menu to switch to different locations at any given moment, similar to Ace Attorney where you can go to crime scenes and visit/question your clients

    • @vimi
      @vimi  2 роки тому +1

      @@kiindogames I cover that in my day/night cycle video. ua-cam.com/video/m_-RtSlEAmA/v-deo.html

    • @kiindogames
      @kiindogames 2 роки тому

      Thanks!

  • @hazels_emporium
    @hazels_emporium 4 місяці тому

    I NEED a tutorial on the 3d functionality bit! I can't find anything for it!!

    • @vimi
      @vimi  4 місяці тому +1

      Ren'py is about to get a totally different type of 3d support, so I'm preparing for that.

  • @KumoSubs
    @KumoSubs 5 місяців тому +1

    Hi! I downloaded the sample code but had hard time trying to make it work. Could you, by any chance, help with that? I'm not a good programmer so I can't really build on top of this, but as I have it right now, it doesn't work at all. The game refuses to launch even

    • @vimi
      @vimi  5 місяців тому +1

      I didn't even want to share the code, honestly, but people kept asking for it, even after I told them "it will not work". The top commented lines of code explicitly say "this code will not work".
      I knew everyone had their own ideas of how an rpg fight engine should operate, so I made the focus of the video on taking a simple, central game loop, and then building on it over time.
      I'd recommend doing the same thing; do not use this to build on top of, use it as reference for building your own combat engine from scratch.

    • @KumoSubs
      @KumoSubs 5 місяців тому +1

      ​@@vimi Oh, I spent this entire day working on this and completely forgot about this comment('^w^). I actually change a bunch of things in this but building on top of it still and managed to get this to work pretty well. I want to expand on this later on and I think I am somewhat able to do that, cause it turned out easier than I thought at first. I really understand why you didn't want to share it, but in the end even tho I changed a lot already, it really made it easier for me^^
      I have only a few issues I don't yet know how to solve. 1. When I launch the game it completely ignores all the dialogues before the fight and goes straight to it. 2. When after the fight I go back to dialogues they appear, but the camera is completely broken. 3. When I try to add a custom health bar it gets cut in half (the bottom half) and I can't get why
      But really, this code helped me a lot and your videos are really helpful in general. I don't know how I would start this project without it^^

  • @rogerbaker9353
    @rogerbaker9353 7 місяців тому +1

    This is cool, but how do we throw in classes and skills?

    • @rogerbaker9353
      @rogerbaker9353 7 місяців тому

      okay, so 14 hours and one hyperfocus session later, classes and lists, not so bad. skills and items are pretty similar programming wise. still working out initiative and turn order. the video's code was good for checking that I structured my classes right. working on getting the battles ready so I reuse and recycle the label. got any ideas?

    • @rogerbaker9353
      @rogerbaker9353 7 місяців тому

      actually, what's stopping from using classes in your code example Visual Novel Design?

  • @depotemkin
    @depotemkin Рік тому

    Выглядит действительно круто

  • @ewaineee
    @ewaineee 2 роки тому +2

    Is it possible to develop type racing using renpy?

    • @vimi
      @vimi  2 роки тому +2

      Yes, but "possible" is a very different word than "feasible" or "advisable".

  • @brooketraver250
    @brooketraver250 Рік тому

    Question, You talk about adding classes, I see that part in the code you link, but how do you then add that into the RPG mechanics code. What code is needed so those variables translate into stats??

    • @vimi
      @vimi  Рік тому

      That's what I explain at 15:20: once you set up a class, you can define an object using that class, and then when you need to make any value adjustments to the class attributes of that object, you can treat it like any other variable with the naming convention [objectname].[attributename] - I used p1.hp to refer to the hp value of the first player character, for instance.

    • @brooketraver250
      @brooketraver250 Рік тому

      @@vimi thank you. Something wasn't clicking in my head at first but rewatching that part, I think I got it now. Thank you again

  • @ShadowWolf1307
    @ShadowWolf1307 2 роки тому +2

    I have a request! Can you do an indepth tutorial about how saving works and how we can use it in code etc?
    Like how we can save at certain points for story purposes etc
    I looked at the documentation but its still very complicated for me & at times not well explained there so i think i'd be a great topic

    • @vimi
      @vimi  2 роки тому

      Are you asking about autosaving, specifically?

    • @ShadowWolf1307
      @ShadowWolf1307 2 роки тому +1

      @@vimi not really, at least if you mean something with a frequency like "automatically make a save every 10 mins". Thats not what i meant but it would be a nice inclusion.
      I was more thinking of situations were a save would be good, like before a hard fight. Or right before a choice (but i think theres a command for this one? Didnt figure it out yet :( ).
      EDIT:::::::::::
      I just realized that the name should be "checkpoint system" as i want a save at a certain point of progress of the game
      :::::::::::::::::::::
      Example:
      Like in RPGs theres sometimes a big door to a bossroom and the little icon pops up "your game has been saved" - but like for VN. Meaning: you want the user to not lose the whole chapter worth of progress. Or want to save between chapters automatically, but via commands in the script.
      I really really want to do it but i just casnt make it happen haha.
      Been stuck FOR DAYS NOW on this and permanet/persistent variables that just wont be saved no matter what i do
      Oh and awesome that you responded, you always make great videos! Have a great day! ^^

    • @vimi
      @vimi  2 роки тому

      @@ShadowWolf1307 Yup, that's just an autosave system!
      www.renpy.org/doc/html/config.html?highlight=autosave#var-config.autosave_frequency
      This covers a variety of ways you can implement autosaves, but the important lines are:
      define config.has_autosave = True
      ^^^ Turns autosaves on
      define config.autosave_on_choice = True
      ^^^ This makes the game automatically autosave at each choice (might not be what you want)
      $ renpy.force_autosave()
      ^^ And this autosaves at certain moments you designate
      In addition to this, you'll want to make sure you manually give a little indication whenever the game autosaves - on my first game, I forgot about this detail, and users thought they could NEVER save the game, when really, I was autosaving the game for them every chapter!

    • @ShadowWolf1307
      @ShadowWolf1307 2 роки тому +1

      @@vimi Yes i've found these commands but somehow they didnt help my problem with saving variables.
      Because of your comment thought i went through my scrip again and found my problem! Its that i start a new game every time i fire up my project, i think, so it never loads the save/checkpoint i guess
      Have to figure out how i can fix that now!
      Thanks for the help though :)

    • @kuroihitsuji444
      @kuroihitsuji444 Рік тому

      ​@@vimi i think what they mean is also something that i personally want, which is the option to have "save points" but not "quick save". being given the option to save only at specific points of the story. i don't know how to do that but it's something i want to have in my game

  • @sihirbaz_arttzz3297
    @sihirbaz_arttzz3297 2 роки тому +1

    Hi, I'm wondering how to add an intro when entering the game in renpy. I would be very happy if you could help me. 👑

    • @vimi
      @vimi  2 роки тому +1

      Check out the splashcreen functionality :)
      www.renpy.org/doc/html/splashscreen_presplash.html

    • @sihirbaz_arttzz3297
      @sihirbaz_arttzz3297 2 роки тому

      @@vimi thank you so much i'm grateful

  • @angelselix5641
    @angelselix5641 2 роки тому

    Hello! I was wondering if you could make a video on how to shake a sprite or background! Thanks.

    • @vimi
      @vimi  2 роки тому

      My transitions and animations video should cover most of the basics!

  • @lovidicus1555
    @lovidicus1555 Рік тому

    i typed everything exactly as you did but still getting errors am i missing something?

    • @vimi
      @vimi  Рік тому

      This video is primarily here to give you the basic ideas to build your own combat sections from scratch, and I generally encourage beginner devs to start with a simple structure, and build off of that in your own direction.
      In the code I provided at the github link, I mentioned everything would break because it doesn't include the associated images, but it could also break for a myriad of other reasons; this isn't an in-the-box renpy rpg combat engine, it's just extra reference.

    • @lovidicus1555
      @lovidicus1555 Рік тому +1

      @vimi ohh I get get it. I hope one day you could make a tutorial for absolute beginners. I saw your vid on renpy beginners tutorial but no offence I got lost as I don't know anything about coding. I hope you can make a simple dungeon tutorial where you can go forward, back, left and right with random enemy encounters. Anyway thanks for responding to such an old video!

  • @Egg_and_Cress1
    @Egg_and_Cress1 Місяць тому

    I don't know if this is possible, but for the final boss I wanted to have the player aiming to "attack" 5 hearts. Essentially two hits per heart, 50 damage per hit to defeat the 500 health boss. Would it be possible to somehow achieve this with Ren'Py? (for someone who literally can't code - just let me know if im in over my head lol)

    • @vimi
      @vimi  Місяць тому +1

      It's possible, but for RPGs with Visual Novel elements, it's usually easier to build your game in an engine like RPGMaker.

    • @Egg_and_Cress1
      @Egg_and_Cress1 Місяць тому

      Ahh ok thank you so much :))

  • @seiikei
    @seiikei Рік тому +1

    Could there be a healing system?

    • @vimi
      @vimi  Рік тому

      Yeah! There just needs to be an action that adds to an HP total.

    • @seiikei
      @seiikei Рік тому

      @@vimi could we get a tutorial on that?

  • @embi3182
    @embi3182 2 роки тому

    thank you!
    Do you know how to put in app purchase consumables with renpy?

    • @vimi
      @vimi  2 роки тому

      Not well enough to make a video on it!
      Ren'py supports unlockable in-app purchases, but I think getting an app purchase consumable system integrated in your game would take some work!

  • @systarth
    @systarth Рік тому

    I get an error saying "name 'player_max_hp' is not defined", can someone please help?

    • @vimi
      @vimi  Рік тому +1

      It sounds like you didn't define the variable before it was called. Try going through your own code and make sure you understand the overall flow, so you can think of where you may have possible errors.

    • @systarth
      @systarth Рік тому

      @@vimi i put a default value for player_max_hp and enemy_max_hp and that fixed it. Thank you so much for this amazing tutorial, now I can implement some fun little minigames in my VN!

  • @Heksapoda
    @Heksapoda Рік тому

    Hope there are section where the last part are more in depth. Since I don't like the look of earlier part code, like, ew.

  • @KiNASuki
    @KiNASuki Рік тому

    I'm that canary!

  • @Pawlo370
    @Pawlo370 2 роки тому +1

    Is this possible to create minecraft in renpy?

    • @vimi
      @vimi  2 роки тому +2

      No.

  • @Jenneviv
    @Jenneviv 2 роки тому

    Hey Vimis! Do you have any idea about make a game with Live2D animated characters since Ren'Py support that feature? Like set up some basic stuff to use it properly (like a turn on/off button for animations and other things).

    • @vimi
      @vimi  2 роки тому +1

      I'll make a video on it soon! If you check out my livestream this sunday (2pm EST, abouts), I'll be getting into it a bit then, but a comprehensive video will be coming later on!

    • @Jenneviv
      @Jenneviv 2 роки тому

      @@vimi Okay! I'll be waiting :)

  • @MxVerdaArt
    @MxVerdaArt Рік тому

    Ok but how do I recreate Wizardry: Tale of the Forsaken Land? Is Ren'Py beter or RPG Maker?

    • @vimi
      @vimi  Рік тому

      I'd recommend RPG maker over Ren'py.

    • @MxVerdaArt
      @MxVerdaArt Рік тому

      Yeah, makes sense. I think I was half-asleep when I wrote that question @@vimi

  • @cringylegend2082
    @cringylegend2082 Рік тому

    Is the inventory system still planned to come out?

    • @vimi
      @vimi  Рік тому +2

      It's in the pipeline - I have a VERY long video coming out in mid-May that has taken a lot of time.
      When I get to inventory, it will probably be an overview of this system: www.lezcave.com/lezinventory-framework/

    • @cringylegend2082
      @cringylegend2082 Рік тому

      @@vimi alright thanks

  • @VoltitanDev
    @VoltitanDev Рік тому

    Thanks for the tips definetly using this for Voltitan Vol.2's update.

  • @yokoyapen
    @yokoyapen 2 роки тому

    but the real question is how to make the overworld/worldmap system

    • @vimi
      @vimi  2 роки тому

      It's harder than you'd think! If you need combat + overworld travel, it's probably better to switch to RPGMaker, or use Unity!

  • @TheSmsm16
    @TheSmsm16 Рік тому +1

    here after unity last announcement lol

    • @vimi
      @vimi  Рік тому

      I will say the tweets have been delicious. Tons of hot goss with my fellow game devs. Bunch of Phaser devs at my day job have been walking around with puffed out chests. Exciting times!

  • @checktheuploads7852
    @checktheuploads7852 Місяць тому

    yeah you lost me 5 minutes in but i appreciate the guide

  • @weltonn
    @weltonn 2 роки тому +1

    Wow

  • @dirtmonkeyal
    @dirtmonkeyal 7 місяців тому +1

    Do what the birb says.