Code-It-Yourself! Role Playing Game Part #2

  Рет қаралды 55,704

javidx9

javidx9

Күн бұрын

Пікірлер: 47
@javidx9
@javidx9 6 жыл бұрын
Please forgive the weird message later in this video. To make these videos I have the finished project, and basically rebuild it on-screen. In this case, to make it work and demonstrate it visually at that point, I had to "hack" in a file temporarily, which is addressed and resolved appropriately in Part#3. This is the main reason I'll only release the source code once the series is completed. This is often the way when developing larger projects, you resort to nasty stuff just to test a simple thing. You must of course eliminate this approach once the test results are satisfactory.
@andyruiz5850
@andyruiz5850 6 жыл бұрын
Sr me gustari que sus videos fueran mas explicativos ya que soy nuevo en este mundo me gustan mucho su videos
@javidx9
@javidx9 6 жыл бұрын
Hola Andy, volveré a un formato más explicativo una vez que termine esta serie de juegos de rol. Gracias por el apoyo, y espero que Google Translate no me haya fallado.
@andyruiz5850
@andyruiz5850 6 жыл бұрын
javidx9 Hello thank you for taking into account my opinion and I look forward to the new tutorials I would like you to see my videos because. my idea is to program in playstation 2
@Mz7xRy
@Mz7xRy 4 жыл бұрын
Your game design seems awesome, in 2015 i did try make 2D RPG on Delphi based on D&D5 and complete sprites set. And now i see weak points in my game design. You are awesome!
@saurabhmehta7681
@saurabhmehta7681 Жыл бұрын
David, thank you so much for making this content and making it publicly available on KZbin. Such high-quality, specialized resources are not usually readily available, not for free. Your videos are immensely helpful and enlightening.
@spjewkes
@spjewkes 6 жыл бұрын
Another great video, David. The game is starting to really take shape and I can't wait for the next part. I do love these longer, multi-video projects that you're starting to do.
@javidx9
@javidx9 6 жыл бұрын
Hey thanks Steve, I'm always a bit unsure about these bigger projects, but its pleasing to hear that someone out there enjoys them. The nice thing about this one is the community doing all of the artwork and additional tools to "make" the game, without those I would not have the time or motivation to take a project of this scale on.
@saurabhmehta7681
@saurabhmehta7681 Жыл бұрын
Great video, appreciate your effort! But at 36:34, the update() function could be made much simpler. You don't need to update object's positions px and py, just updating the velocities (vx and vy) would suffice. The game engine loop would take care of updating the position.
@MrKriegus
@MrKriegus 5 жыл бұрын
I have a really weird issue in my program up to 44:35 everything worked perfectly, I added dialog handling and the program gives an error "_main alredy defined" after commenting out all the changes I made to the code since the last working version it still throws the same error but commenting out the main function makes everything run perfectly :o
@AJSquirrel53
@AJSquirrel53 5 жыл бұрын
Same. I am making my own game in the PixelGameEngine that is more platform based but still uses a lot of RPG components, so I am going through this series to add the utilities and learn a LOT about OOP along the way. Anyways, I get the same error. I thought maybe it was due to the way the Pixel GE is structured compared to the Console GE, or perhaps a weird thing in VS 2019. If you go to the beginning of video #3 he fixes this and makes it comply with how you normally structure classes in C++. I'm guessing this will fix both our problems
@AJSquirrel53
@AJSquirrel53 5 жыл бұрын
In case anyone else sees this an is wondering, yes the problem with including a cpp file with pge is that you can't include the file that has #define olc_pge_application. That define statement helps pge be OOP compatible in a single file, but the logic still stands that you can't compile it more than once (like Javid explained in the first video). I'm going to split up my main engine file, but if anyone else is still wanting to do their engine in a single file and include it in the commands class, simply move the #define statement somewhere else and you should be fine. Hopefully this can help somebody!
@getrundelthd9807
@getrundelthd9807 6 жыл бұрын
Why do you use multiple public statements in your classes? You only need one or has it any deeper sense that im not understanding (I`m used to program in Java and only have very rudimentary knowledge about c++).
@javidx9
@javidx9 6 жыл бұрын
You are quite right, nesting them serves only one purpose, it breaks them into groups so they are clarified mentally for me. My style of programming is highly visual, and I sometimes do things just to enhance contextual understanding. Its not for everyone, but works for me :D
@seditt5146
@seditt5146 6 жыл бұрын
Yeah I tend to place public for my Members and another for my Members, It helps class my functions and Variables etc. I think it just looks better.
@PhilBoswell
@PhilBoswell 6 жыл бұрын
I would have gone with "Grr... Argh..." but maybe I'm betraying my age once again ;-) I'm looking forward to seeing how you code up ongoing background movement, like having the skeletons wander about at random until the player gets within range and then giving chase. As to that, I was also wondering how difficult it would be to spatchcock in a path planning algorithm (seeing as your video on A* is sitting right here) so that you could have the characters in a cut-scene react to the current layout of the screen rather than just walking through the scenery or-worse-getting hung up on bits of it! You could calculate the path on creation of the command object and only update it if the moving object collided with something…or instead of a target *position* you could specify a target *object* and re-calculate if that object moved…
@javidx9
@javidx9 6 жыл бұрын
lol, hmmm. perhaps you are on to something, I have not fused A* with anything yet, was saving it for my code it yourself real-time strategy game
@neuemage
@neuemage 6 жыл бұрын
In the moveTo() isnt it better to use (Direction, distance, speed) as parameters. Say in a dramatic cutscene: Move north, 10 steps, slowly -> moveTo(n, 10, 1) for action scene move fast. for diagonal use nw, ne, sw, se etc
@javidx9
@javidx9 6 жыл бұрын
It kind of already does this because I set the duration of the requested movement, so slow and fast just depend on the distance you travel and the time you request. I wanted to use an absolute coordinate system for the location as I feel (perhaps wrongly) that this would be easier to script. However your approach promotes consistency of movement speed, so walking and running can be defined. There is probably room for both techniques.
@neuemage
@neuemage 6 жыл бұрын
I feel that by indicating steps you have better control of the scene (vs coords), especially if the map's dimensions are dynamic (say you teleport to a smaller room) or if a character has to move off camera. This comes very useful when defining paths for NPCs you can almost just drop em on the map, or for scripted events (guard pacing left to right, talk to him and runs off camera)
@JustinK0
@JustinK0 3 жыл бұрын
51:24 this doesnt work for me because it says main is already defined inside of commands.cpp.
@plaguefreegames9044
@plaguefreegames9044 3 жыл бұрын
Love the tutorials and love the project. Don't love how ambiguous that "RPG_Main.cpp" file is though... Should have been an h file (you're right!) and now I have to figure out what to do with it in order to make my maps load. Could you please kindly tell me what I'm supposed to do with this file?
@Kevorama0205
@Kevorama0205 3 жыл бұрын
I think that file is old and is not used in the final project at all. I would delete it, and if your compiler doesn't complain, then it should all work fine.
@plaguefreegames9044
@plaguefreegames9044 3 жыл бұрын
@@Kevorama0205 Thank you. I thought as much made sense, but as it's sort of a weird situation concerning the g_engine pointers, I thought maybe perhaps he'd included this file here for a reason. Good to know I was on the right track before. Much appreciated.
@initfunction6961
@initfunction6961 3 жыл бұрын
This is ultimate 2D RPG development courses..
@noahbarger1
@noahbarger1 Жыл бұрын
i wonder, how would you go with making a turn based combat system for this?
@thefoolishgmodcube2644
@thefoolishgmodcube2644 6 жыл бұрын
Amazing video as always, javid, your contents are the best! I got a question, do you use other programming languages than C++ to make games like these? I'm not saying C++ is a bad language, but it could be nice to have some little variation time to time.
@javidx9
@javidx9 6 жыл бұрын
Thanks, lol, I hear you... OK, I'll do something non C++ just for you!
@AJSquirrel53
@AJSquirrel53 5 жыл бұрын
I know this is an old comment, but I think C++ is a good and interesting language to do things like this in, because it makes you think more about all of the logical steps, how things are structured, and why things work the way they do under the hood. Plus I'm sure sticking to mainly one language helps him develop a more steady community that can literally all speak the same language.
@ShkolnikPrahramist
@ShkolnikPrahramist 6 жыл бұрын
Very cool videos. From Russia with love :)
@javidx9
@javidx9 6 жыл бұрын
lol, Thanks Shkolnik!
@FrostGamingHype
@FrostGamingHype 2 жыл бұрын
how to add these type of sprites in the console as im working on an game engine if you tell me this it would be great
@prince5922
@prince5922 6 жыл бұрын
hey javid, I firstly would like to let you know that the content your providing is very much appreciated and you're doing a wonderful job at it. I've been studying program for a while it's been almost one year at a university and I want to know how good of a programmer one needs to be in order to get a job and a decent salary. Although your videos are quite insightful but it can also be intimidating. I have built a strong foundation with loops, arrays and strings, classes, objects etcs in C++ and have even made a snake game but I don't know how long will it take me to be good enough to work in an organisation. I don't want to be overly ambitious or idealistic. Your response would be much appreciated.
@javidx9
@javidx9 6 жыл бұрын
Hi Shahzad, thanks for the compliments! The truth is you dont have to be very strong to land a reasonable programming job. It depends on the industry. In my experience, most industries dont have a great deal of variation in the day to day code they create - meaning you've got time to get up to speed with the way they do things. However, this might not be very satisfying. If you want to be the guy that architects software, then that takes skill and experience. What I will say, is that if you have a portfolio of little examples and demos, then you will have more than most.
@uuu12343
@uuu12343 6 жыл бұрын
I see mario gliding around in a Zelda-esque world ...is this a new stage in the upcoming Super Smash Bros for switch?
@dopplegangerdavid
@dopplegangerdavid Жыл бұрын
Personally, I preferred Jario 2, the one where you can throw turnips and things.
@HairyPixels
@HairyPixels 5 жыл бұрын
Was there a video series on the engine itself, i.e. rendering sprites, getting a graphics context etc...?
@AJSquirrel53
@AJSquirrel53 5 жыл бұрын
Yes, have a brief look through his early videos, and you can see his progression of building the engine itself and using the console as a means to display graphics, sprites, etc. Nowadays his PixelGameEngine is used a lot more as it has better performance, resolution support, and is OpenGL based I believe
@nabilandadamslaboratory3422
@nabilandadamslaboratory3422 4 жыл бұрын
Why do you use "new" when creating instances of objects? Why not just assign it with "=" or curly braces?
@nabilandadamslaboratory3422
@nabilandadamslaboratory3422 4 жыл бұрын
@@chbrules why not just use the stack?
@eodico
@eodico 4 жыл бұрын
The problem with putting it on the stack is that it gets removed(popped) from the stack as soon as the program goes out of scope. When we call a function, that function's address goes on the stack as well as every variable in that function. As soon as the program returns from the function, the stack removes, one by one, everything in that function. So it gets deleted when we wanted it to remain. That's what the heap is for. If we store it on memory then it stays there for the rest of the program. In fact we gotta delete it manually to remove it completely.
@deltametaYT
@deltametaYT 5 жыл бұрын
EATS?! lol
@alexke3273
@alexke3273 6 жыл бұрын
i prefer gfortran...
Code-It-Yourself! Role Playing Game Part #3
51:46
javidx9
Рет қаралды 33 М.
Code-It-Yourself! Role Playing Game Part #4
53:02
javidx9
Рет қаралды 47 М.
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
Code-It-Yourself! Simple Tile Based Platform Game #1
39:41
javidx9
Рет қаралды 220 М.
Quirky Quad Trees Part1: Static Spatial Acceleration
44:01
javidx9
Рет қаралды 71 М.
Programming Balls #1 Circle Vs Circle Collisions C++
32:29
javidx9
Рет қаралды 140 М.
Where Has Javidx9 Gone? (and more important things)
8:58
javidx9
Рет қаралды 44 М.
Convex Polygon Collisions #1
36:40
javidx9
Рет қаралды 130 М.
Path Planning - A* (A-Star)
31:18
javidx9
Рет қаралды 162 М.
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН