Тёмный

Programming Mazes 

javidx9
Подписаться 315 тыс.
Просмотров 191 тыс.
50% 1

I'm tired, hot and sun-burnt, holidays are never that relaxing. Anyway, here I introduce one of my favorite algorithms - the Recursive Back-tracker, to generate a maze. I love how perfectly complete this algorithm is, it can be used in all situations where you need to guarantee your network has all paths traversed. It's also my first video with the olcConsoleGameEngine class, so it's a bit of an experiment.
GitHub: github.com/OneLoneCoder/Javid...
Blog: www.onelonecoder.com

Наука

Опубликовано:

 

2 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 357   
@H2CO3Szifon
@H2CO3Szifon 6 лет назад
This video is a mazing.
@Erebus2075
@Erebus2075 5 лет назад
haha such dad humor :P
@christophergeorgi6419
@christophergeorgi6419 4 года назад
This video is indeed a maze thing.
@TheRealTrimBrady
@TheRealTrimBrady 4 года назад
You little...
@skipfred
@skipfred 3 года назад
☹️
@greenkerbal632
@greenkerbal632 2 года назад
Listen here you little sh..
@Jetpans
@Jetpans 3 года назад
Now the man makes an algorithm to solve your maze in under 1 minute. The everlasting competition of coders.
@emjizone
@emjizone 11 месяцев назад
If you are in a hurry and like to clone code, you can use almost *the same algorithm* as this generator, and *replace the random direction part with exploration test.* But you'd better use *_double-ends-A_** algorithm instead. Feel free to prove me wrong, or to call me to work together on *amazing* 2D, 3D, nD maze generators and solvers.
@marksandles259
@marksandles259 6 лет назад
just discovered your channel today... Don't normally write in comments sections... but.. really enjoying your videos. please continue the good work.
@javidx9
@javidx9 6 лет назад
Hey thanks Mark. Comments like that make it worthwhile.
@Noone-rc9wf
@Noone-rc9wf 4 года назад
You cannot tell me this isn't the same guy talking to himself
@qoobes
@qoobes 4 года назад
About two years later, I discovered it today. Same impression, love it.
@Richard_is_cool
@Richard_is_cool 4 года назад
Very true. This is, for example, the first time I saw a comment of yours.
@marksandles259
@marksandles259 4 года назад
@@Noone-rc9wf I can tell you it isn't the same guy... My coding sucks ass.... if I make a asterisk bounce round the screen I start dancing around the room.... I'm just a nice person giving someone positive feedback...
@sebe3243
@sebe3243 Год назад
I found a new use for this algorithm! It's really good at generating oceans/continents. Visited cells are water cells, unvisited are land cells. If the algorithm stops after visiting about 60% of the cells you can get smaller and larger islands, continents, even some rivers! Really cool stuff 👍
@FinBoyXD
@FinBoyXD 4 года назад
I dont believe you did that in two minutes.
@konstantinrebrov675
@konstantinrebrov675 4 года назад
The algorithm runs in two minutes and creates the maze for you.
@Freakhealer
@Freakhealer 3 года назад
Of course he did, then he slow down to explain it to us mortals
@matschbirne5363
@matschbirne5363 3 года назад
Salu omnidentidade The only thing limiting him is the speed of light lol.
@nadiequintero9981
@nadiequintero9981 4 года назад
I absolutely love your coding style! So clean and understandable, without unnecessary complications. I'll try to learn from you, thank you for all your content!
@oliverdacracker
@oliverdacracker 4 года назад
This is the greatest RU-vid channel that I have had the pleasure to stumble upon.
@iMamoMC
@iMamoMC 5 лет назад
I just discovered your channel, and I must say that you're doing a great job at explaining. I especially love how you always take a simple, effective approach (I especially appreciated the method you used for rotation in Tetris). Keep it up! ^^
@weisjerry
@weisjerry Год назад
Excellent explanation! I like how you went over the algorithm first before dropping into code. I’ve always marveled how the best algorithms are often the most clean and simple.
@Codejoy
@Codejoy 6 лет назад
One of my more favorite videos I have seen. Subscribed a while ago, just a really enjoyable view, everyone of these !
@javidx9
@javidx9 5 лет назад
Hey thanks Shane!
@altheahicks9574
@altheahicks9574 4 года назад
Hey, just want to say thanks! I've learned so much from your videos, and continue to learn more.
@MuratMaman
@MuratMaman 2 года назад
This is a amazing video, it has been a while since I was looking for. Thank you for your great work.
@nailbomb420
@nailbomb420 6 лет назад
great video, just going through you're stuff at random - it's a treasure trove! You have a great sense of humour, and manage to choose the most interesting topics :)
@javidx9
@javidx9 6 лет назад
Thanks CodeyThings!
@ravensncrows
@ravensncrows Год назад
Boo gplv3 boooo
@erichenriquez3641
@erichenriquez3641 4 года назад
I'm really enjoying your videos, took me a long time to discover this channel, hope you keep making this.
@javidx9
@javidx9 4 года назад
Thanks Eric, will do!
@T3RRY_T3RR0R
@T3RRY_T3RR0R 3 года назад
Never ceases to impress me how you can take a advanced concept and break it down to very simple terminology. In just the first five minutes you've broken the method by which the algorithm operates down enough for me to understand how to implement it programmaticly.
@Drogba402
@Drogba402 6 лет назад
This channel deserves more subscribers
@javidx9
@javidx9 6 лет назад
Giant Panda Thanks!
@AndreiNeacsu
@AndreiNeacsu 5 лет назад
While I agree that this channel should have more than 10 million subscribers, I realize that maybe there are simply not that many smart people in the whole world. It would require something like more than 10 mega smart people.
@johnpenner5182
@johnpenner5182 2 года назад
using the stack to pop back the path, whilst keeping tracking of total visited cells is a very nice elegant algorithm. thanks for this! 🙏🏻
@javidx9
@javidx9 2 года назад
Yeah it is. Breadth First Searches like this are a staple computer algorithm that have been around since the dawn of programming. By eliminating the need to recurse, it also removes all the problems associated with recursion too.
@vadimdidenko1443
@vadimdidenko1443 2 года назад
thanks to this video I learned bitwise operations and better understood hex numbers, thank you!) First two days I only understood the general operation of the code while struggling to figure out what |= and & means in the particular case but on the third day I finally figured out everything Had to spend some time with pen and notebook studying code symbol by symbol. I am very grateful for your videos and the fealing of satisfaction after understanding everything!
@overratedprogrammer
@overratedprogrammer Год назад
This video was so helpful and inspiring. I came here for a maze for my genetic algorithm but also got inspiration for a mining tunnel game. Everytime I think of mazes I will think of this video for the rest of my life
@didaloca
@didaloca 3 года назад
I read an article a while back where someone created a similar maze using only template meta programming, which was randomised each time it was re-compiled. Pretty mind blowing really.
@daskonstrukt8392
@daskonstrukt8392 6 лет назад
As always, i cant believe this video has "only" 300 views. Keep up the awesome work!
@javidx9
@javidx9 6 лет назад
Cheers Konstrukt! I'm not very good at promoting the channel. Sure I'd love more views, but I'm not monetising so there's little incentive for RU-vid to promote the channel either. As long as people engage with the content - I'm happy! No "Hey Guys! What is up?" dodgy thumbnail click-bait rubbish from me..
@javidx9
@javidx9 6 лет назад
Thanks Riptide! :")
@FredM80
@FredM80 6 лет назад
Too few people like programming and understanding old algorithms. Actually, many programmers like "not to re-invent the wheel". sad...
@tahwnikcufos
@tahwnikcufos 6 лет назад
2,810 views... this is a good "code along" video.
@81gamer81
@81gamer81 6 лет назад
Great videos indeed. wish yt suggested the channel sooner
@fzac
@fzac 3 года назад
This video is incredible. Thank you.
@likeyou3317
@likeyou3317 5 лет назад
Good ol' mazes, happy to see ur channel grow :)
@javidx9
@javidx9 5 лет назад
lol yeah, the oldies are the best ones. Thanks man!
@levchyk10
@levchyk10 6 лет назад
Thank you for making such good videos and motivating others to make their own! Keep on :)
@javidx9
@javidx9 6 лет назад
My Mykola, thank you very much for watching and enjoying them! I will!
@udoc.7528
@udoc.7528 4 года назад
I found this channel while I was looking for how a game coder works - not a video with visual impressive graphical presentation, but the "ugly" unspectacular hard part of coding thousends of lines and how it is possible to keep an overview. Then stuck to your channel because the quality of your videos especially the content (programs and explanations) is excellent and I learned much here (for example the use of the modulo operator and many other "tricks") I like how you concentrate on what matters - the ideas and algorithms and how smart you code. Today I finished my own (primitive) maze program with the 15 unicode chars 0x2554, 0x2557 and so on, without using one of your game engines but with parts of your code and ideas. It creates the maze in one tick so it is not as good for visualisation as yours but it shows me that I really understood your code. To repeat all calculations in every single frame (OnUserUpdate function) is very time consuming and only possible in that ultrafast C/C++ language (or maybe assembler if one is capable of coding in this). Greetings from Germany and I wish you many good ideas for more programs to show.
@code-dredd
@code-dredd 5 лет назад
Great video. I wrote a sudoku solver using a backtracking algorithm as well, but instead of using a stack object, I relied on the function stack frames by using a recursive backtracking approach. I like that the solving function looks simpler when using recursion :D
@barmetler
@barmetler 5 лет назад
Absolutely beautiful.
@vascoalmeida4839
@vascoalmeida4839 4 года назад
A couple of years ago, this video of yours inspired me to writing my first Python/Tkinter application: my idea of coding something useful for practice and keeping my grandchildren quietly entertained. Little did I know that after all this time, a discussion in redditt's r/learnpython thread led me to tell the world about it. The response was amazing, and I have felt compelled to use Github for the first time to make available my first clumsy effort. The code starts with a couple of sentences where I told this story and show my indebtedness to your original presentation; coupled with a proviso that you are not responsible for the 'quality' of the coding. Thank you so much.
@javidx9
@javidx9 4 года назад
Hey that's great Vasco, well done!
@amancalledbob
@amancalledbob 7 лет назад
Really enjoying these videos. Time to dust of my programming head and have a play.
@javidx9
@javidx9 7 лет назад
Hi Bob. Thanks for the great response. Comments like that make it all worth while!
@12012004
@12012004 4 года назад
you are the best!!! Thank you for realeasing such great content
@alexnovik6223
@alexnovik6223 2 года назад
It's a real appreciate video!!! Excellent explanation !!!
@dorjderemnamsraijav5182
@dorjderemnamsraijav5182 4 года назад
This is the greatest channel i have ever seen on youtube! All of your contents are amazing. Can you show us how to make fluid simulation in c++?
@Queer_Nerd_For_Human_Justice
This was a very friendly and helpful video, thank you very much ^^
@snork_games
@snork_games 6 лет назад
First video I've seen of yours, sub earned!
@javidx9
@javidx9 6 лет назад
Hey thanks 0x5E! I appreciate that!
@BeerBong97
@BeerBong97 3 года назад
This is the absolute best channel on the internet
@AcceleratingUniverse
@AcceleratingUniverse 5 лет назад
this was our final project for "introduction to computer science 2" in college; we used both a dfs/stack and bfs/queue (and we had to make the stack and queue). we also had to find the shortest path from the entrance to the exit. ours used ncurses in a gnu/linux terminal! if you have been programming for a couple months, i'd strongly recommend trying that out, it taught me a ton about a programming.
@sergiojimenez3445
@sergiojimenez3445 7 лет назад
you should have more views, I feel lucky to find this channel
@javidx9
@javidx9 7 лет назад
Hi Sergio, thanks for the compliment. I agree, more views would be nice, and I think finding quality, hidden youtube channels is rewarding too.
@Komagb
@Komagb 4 года назад
Excellent video, loved it!
@scififan698
@scififan698 3 года назад
ah, such fun! I coded something very similar when I was a little kid, and I still like to watch you make algorithms like this. more, we want more! ;-) subscribed.
@javidx9
@javidx9 3 года назад
Glad you enjoyed it, thanks!
@22rw
@22rw 3 года назад
wow, this video helped me out so much, thank you!
@haltarys
@haltarys 5 лет назад
"Two minutes to create a maze that would take one minutes to solve" ? That's a line from Inception !
@TheAngelOfDeath01
@TheAngelOfDeath01 3 года назад
Yes.
@samuelmaucaille702
@samuelmaucaille702 6 лет назад
Thanks! What a precious video!
@javidx9
@javidx9 6 лет назад
Thanks Samuel, I'm pleased you found it useful!
@killermonkey1392
@killermonkey1392 4 года назад
The way you‘re using bitwise operations has somewhat opened my eyes. I knew about bitwise operations and I also knew about using sums of powers of 2 to store information (e.g. in chmod commands), but I never thought about using it to essentially store several booleans in a single value. Thank you for this video!
@DFPercush
@DFPercush 4 года назад
Yep, bit flags are very useful, especially for passing a single argument to a function that toggles several different modes of operation. Modern C++ also has bit fields: struct something { int a:1; int b:2; int c:3;} etc. a is basically a boolean, but c:3 could have a value from 0-7. If you need very small integer values you can pack them into a single byte or the smallest integer type that will fit them all. You can't pass pointers or references to them though, only by value.
@botsjeh
@botsjeh 3 года назад
@@DFPercush bit fields aren't modern C++, bit fields existed in C since it was created in the 70's
@QouteOfTheDay
@QouteOfTheDay 5 лет назад
Thank you for this wonderful video.
@javidx9
@javidx9 5 лет назад
Hey Thanks First Mill, my pleasure!
@stichtingyimak9695
@stichtingyimak9695 4 года назад
1:57 into this video and im already convinced that this is awesome.
@ddman12345678910
@ddman12345678910 6 лет назад
loving these videos
@javidx9
@javidx9 6 лет назад
Thanks Revi09!
@warmdk9536
@warmdk9536 4 года назад
Thanks for the tips :D Great work!
@Rx7man
@Rx7man Год назад
aMAZEing.. I did a similar thing for solving an arbitrary maze.. this inspired me to go look at that again and make it make a maze
@alastairbowie
@alastairbowie 5 лет назад
This vid was so cool and helpful. Cheers!!
@javidx9
@javidx9 5 лет назад
Hey thanks Alastair!
@EmajlPL
@EmajlPL 6 лет назад
Damm why this channel has so little subs and views. Good work man!
@javidx9
@javidx9 6 лет назад
Hey thanks Emajl, glad you find some of it interesting! You've stumbled across our secret society. Welcome to the club!
@mannyx2796
@mannyx2796 2 года назад
Very useful video implementing this into my game
@MrSinedddd
@MrSinedddd 3 года назад
This guy is the greates teacher I have ever met.
@thesanctuary225
@thesanctuary225 5 лет назад
You are a Wizard of C++.
@truthteller4689
@truthteller4689 4 года назад
I like your setup. It looks like the Matrix.
@FrankWilleke
@FrankWilleke Год назад
What a fun algorithm! Really simple to implement, and it also provides the solution route for the maze, if the goal position is known upfront. I couldn’t find a clever way of multithreading it yet, though.
@cedricfiege7880
@cedricfiege7880 5 лет назад
Your videos are amazing !
@javidx9
@javidx9 5 лет назад
Thanks Cedric!
@jensBendig
@jensBendig 4 года назад
Good explained!
@ayushman_sinhaa
@ayushman_sinhaa 3 года назад
Damn ! You explain things really well..
@joaocesarlima7339
@joaocesarlima7339 4 года назад
Great video! Thank you!
@neozoan
@neozoan 6 лет назад
Your videos are very well made. Keep it up! :-)
@javidx9
@javidx9 6 лет назад
Thanks Daniel!
@EmanueleMicciulla
@EmanueleMicciulla 3 года назад
I learned this from the same magazine! In italy it was distributed by De Agostini with the name "Input"
@gregorymeadows3572
@gregorymeadows3572 5 лет назад
Really good explanation. I recently converted the example code on the Wikipedia page from c to C++ to use in my game. I could follow the code alright, but this was a nice explanation of the stack and how that can make it a bit easier to follow. Stack is still there in mine, just implemented differently.
@javidx9
@javidx9 5 лет назад
Thanks Gregory! There are "stackless" implementations also, but they just emulate a stack with numbers and offsets anyway :D
@helicon2ify
@helicon2ify 6 лет назад
Amazing and well detailed video ! since I found your channel, I start every morning with one of your videos ! Keep up the great work !
@javidx9
@javidx9 6 лет назад
Hi Lukas, thanks, I hope I don't ruin your breakfast!
@professorracc.9780
@professorracc.9780 2 года назад
that algorithm is pretty ingenious
@scottcooper3107
@scottcooper3107 Месяц назад
Thanks. Really good information. I don't understand some of the newer C++ syntax, but that's ok. I understand the algorithm, thanks to your video. I decided to make this algorithm work on the old color computer from Radio Shack in basic with 64k. But only 32k is available. I wanted to make a maze of grid size 127x95 in a resolution of 256x192. I needed a array of 12065 bytes to hold the grid. Then another 24k for the stack. That is roughly 36K. Way over the amount I have to work with. I came up with a different way to save space .So instead of using a stack to hold x and y locations of cell, I decided to use 2 bits in the cell array data to hold a number between 0-3. Those numbers would represent the direction that the cell came from. Now, each byte in cell array has 4 bits for the walls, 1 bit for visited or not.1 bit for backtrack or not and 2 bits for direction cell came from. Some crazy reason, it worked. :) Anyway, I thought I would share my algorithm modification info in case anyone else ran into memory constraints on old retro computers. I was able to cut memory usage from 36K to 12K.
@shadowdragon7362
@shadowdragon7362 27 дней назад
Personally I also did this but instead of keeping which direction each cell came from I actually while generating the maze have all walls built, meaning it's just a grid of squares and each time I move to a cell I break the wall in the direction I went, that way I do not need to store any direction but instead just perform it instantly.
@bobbymarley5111
@bobbymarley5111 Год назад
Thank you for your fascinating video, it inspired me. 👍😃
@danielalvesldiniz
@danielalvesldiniz 3 года назад
you are fantastic!
@nxone9903
@nxone9903 4 года назад
Great video
@BluesManPeich
@BluesManPeich 4 года назад
"rarely the programs did actually work" - can confirm this. Good times!
@solemnwaltz
@solemnwaltz 2 года назад
Beautiful
@skyhorn9070
@skyhorn9070 6 лет назад
So good and calm explanation! I personally think, that it would be awesome that you break down those long lines of code into separate functions and teach people how not to make a blob! :D But overall, its great man
@javidx9
@javidx9 6 лет назад
Thanks Skyhorn! I try to avoid excessive encapsulation where I can as it bloats the code, but it's a difficult balance to get right I agree.
@OxygenMagnet
@OxygenMagnet 6 лет назад
excellent video!
@javidx9
@javidx9 6 лет назад
Thanks OxygenMagnet!
@francescopiazza4882
@francescopiazza4882 4 года назад
Very nice!
@Ascendance2001
@Ascendance2001 3 года назад
Clicking on random videos cool to see this one in my recomended the first one you used OLC on
@DarkEgo2468
@DarkEgo2468 3 года назад
My first maze was done on a RadioShack model 1. I used a string variable as the stack. Back in 1980
@alexandrelefebvre8627
@alexandrelefebvre8627 4 года назад
I really like the way you explain things. Always clean and simple (from a programmer perspective, should I say). Have you ever consider teaching ? Good work, by the way.
@javidx9
@javidx9 4 года назад
Thanks Alexandre! I have taught in the past, but decided to leave academia.
@kevnar
@kevnar 5 лет назад
I once made a 4D maze. At every location of the maze, you could go up, down, left, right, backward, or forward, but you could also warp to an alternate maze and continue from there. Very easy to design with this algorithm, but very confusing to solve, especially since the display was only 2D.
@javidx9
@javidx9 5 лет назад
Errrrr. Yeah now my brain hurts. Thanks! XD
@johnvonhorn2942
@johnvonhorn2942 4 года назад
Hahaha, you strike me as an evil genius. You're operating on a higher plane #GodLike
@BichaelStevens
@BichaelStevens 2 года назад
But can you create your own kernel from scratch?
@100Amida
@100Amida 5 лет назад
Just something small I noticed. You don't need to keep a count of the number of cells visited. If you reach the bottom of the stack and there are no neighbors, then you know the maze is done. Upon further reflection, I think reaching the bottom of the stack will always leave you with no neighbors. Say everywhere in the maze is filled in, except one cell directly neighboring the start cell. As the stack pops, it will encounter a different neighbor of that cell before returning to the start cell, and this different neighbor will generate the path instead. Similarly for any larger empty region, we must fill it in before we can pop the stack to the bottom.
@Xymarue
@Xymarue 5 лет назад
If you got a stack of 2000 cells, you repeat the same code till your stack is empty, using a count variable would automatically stop the algorithm when it's done
@paulomoreira5268
@paulomoreira5268 3 года назад
Amazing, love it, Thanks a lot. BTW a Unity version for this will ne great.
@hex1795
@hex1795 Год назад
W guy, W video. LETS GOOOOOOOOOO
@MasterOfMisc
@MasterOfMisc 3 года назад
2 mins to create a maze that would take him longer than 1 minute to solve. I see your a Christopher Nolan fan. :) Great video and content. I love how you explain these algorithms. I hope you plan on doing more algorithms.
@jsflood
@jsflood 6 лет назад
Excellent video :-)
@javidx9
@javidx9 6 лет назад
Thanks John!
@tahwnikcufos
@tahwnikcufos 6 лет назад
Saw 8bits of C++ first, ehh, then this one, subbed... might be a good idea to close any unused toolbox and explorer windows, to get more code on screen, as well as roll back the zoom a bit, and hide the main menu... great video, thanks!
@javidx9
@javidx9 6 лет назад
Cheers, yeah, I was still finding my feet with the whole making videos back then (still am to be fair!) Thanks!
@tahwnikcufos
@tahwnikcufos 6 лет назад
I take that back, 8 bits was second - I watched "What is Assembly Language?" first. Inspired me to start using OneNote again... now that I have a Surface. I gave up on C++ years ago, in favor of VBA, Ruby, and other "scripting" type languages, that satisfied my impatient nature to, "do stuff now", vs getting lost in what seemed to be an endless pit of dependencies, includes, and compiler settings... it was like learning how to build the the tools and the toolbox they go in, when I just wanted to tighten a bolt, but I had to make the bolt too.
@SourceCodeDeleted
@SourceCodeDeleted 4 года назад
This is really awesome. Have you looked a the dungeon room generation algorithm in Diablo? I think a video on this would be popular and fun too.
@Asimov16
@Asimov16 5 лет назад
I remember this algorithm from Sinclair User, and you are correct, it didn't work after 3 pages of typing in the code LOL
@nickorsini7239
@nickorsini7239 3 года назад
Interesting adaptation of depth first search, would think to use it here.
@alfiewhitson7726
@alfiewhitson7726 5 лет назад
this video was a maze-ing
@javidx9
@javidx9 5 лет назад
Ba boom tish!
@GiboonCloudSmoker
@GiboonCloudSmoker 4 года назад
Super interesting
@emjizone
@emjizone 11 месяцев назад
*Stacks of tiles are fun* because they make generating mazes look like solving mazes, but otherwise I don't see the point of *wasting computation time and energy* using them for maze generation. 1. You could link new tiles to the existing graph in *any fucking (or even non-fucking) arbitrary order,* including random and discontinuous, as long as you *mark each tile's branch* well, which can be done in a single step each time a tile is added. 2. Even if you want to go through the graph in a particular order for whatever reason of controlling the maze's properties (e.g. limiting the length of straight corridors, or the number of consecutive turns on the same side, or the distance between two branches, etc.), backtracking is *extremely quicker from one **_branching_** node to the next, than from any one tile to the next.* Feel free to prove me wrong, or to call me to work together on *amazing* 2D, 3D, nD maze generators and solvers.
@goat5249
@goat5249 4 года назад
I can't tell if you're faking going outside or being a programmer... Whichever it is, you are a good, my friend.
@kalleskit
@kalleskit 6 лет назад
Amazing channel!
@javidx9
@javidx9 6 лет назад
Yes it is Kalleskit, Thanks! ;)
@kalleskit
@kalleskit 6 лет назад
Do you think you will ever create tutorials for creating games with more advanced graphics? Such as SDL, OpenGL or DirectX? :) Let's say you want to create a nice-looking 3D RPG. Also, a tutorial for a simple strategy game might be fun!
@javidx9
@javidx9 6 лет назад
Yes probably, but I would not focus on "how to do a directx game" for example. The console is nice because I dont have to explain about how to set anything up, using advanced libraries starts making the video about the advanced library, and not the techniques used in the algorithms and games. I can say there is a strategy game in the works! and a 2D RPG game, and some console based 3D graphics too! A lot of projects fail because there is initial excitement about making it look pretty and doing fun things like sprites and models, but then the dev has no idea what to do with the pretty things - I'm just as guilty of this than anyone else! :D
@kalleskit
@kalleskit 6 лет назад
I understand! Where should I go if I want to learn how to make a game engine? :)
@jo_nm9484
@jo_nm9484 5 лет назад
This was entertaining
@Erebus2075
@Erebus2075 5 лет назад
all your stuff is very good and enjoyable to follow ^^. it would be very helpful for this vid if when you use your console drawing lib that you put a link-mark to a short vid of how to structure this draw from std::cout ^^ for those who are just trying to get the alg in ^^ (took me longer than i want to admit to restructure for cout output approach, but didn't want to do draws etc. and wanted it to be something where i could just create a 1d-array for usage and send to another module which then figures out what graphic is needed where etc ^^)
@monolyth421
@monolyth421 3 года назад
I learned about random number generators from a maze generating game on a DOS computer when I was 5
@trungthanhbp
@trungthanhbp 5 лет назад
you are awesome xD
@javidx9
@javidx9 5 лет назад
lol thanks ThanhPT!
@olegat
@olegat 4 года назад
Very cool :-) If I remember correctly I think that you can actually use a queue instead of a stack. Using a queue generates a maze using breath-first traversal, whereas the stack uses depth-first traversal. I would you have liked to see how different the maze looks with a queue instead of a stack :-)
@DFPercush
@DFPercush 4 года назад
std::list can push and pull from front or back, so you can use it as either a LIFO or a FIFO. Fork the repo and try it out. ;) Although, you might need additional state for each direction on each cell, because the history will be consumed after you take the first branch. I'm sure there are plenty of articles about doing something like that.
@whynotanyting
@whynotanyting 2 года назад
Just realized I have the same exact keyboard!
@tfsunit
@tfsunit 4 года назад
That console window reminds me of the old maze game xd
@OneSaile
@OneSaile 6 лет назад
this channel will have 70k subscribers by the end of 2018
@javidx9
@javidx9 6 лет назад
Hi OneSaile, i love the optimism, but as long as people find it and the community useful Im happy.
@abandoned7501
@abandoned7501 5 лет назад
@@javidx9 sadly but not =(
@longjohn7992
@longjohn7992 3 года назад
You are a living GENUIS Pls do Bsp Trees Tutorial
Далее
What Is Assembly Language?
24:56
Просмотров 451 тыс.
Path Planning - A* (A-Star)
31:18
Просмотров 158 тыс.
What School Didn't Tell You About Mazes #SoMEpi
12:49
Просмотров 129 тыс.
Tinkering With Spirographs in C++
22:01
Просмотров 11 тыс.
A Comparison of Pathfinding Algorithms
7:54
Просмотров 709 тыс.
Programming Perlin-like Noise (C++)
27:54
Просмотров 102 тыс.
Maze Solving - Computerphile
17:15
Просмотров 1,1 млн
The Fastest Maze-Solving Competition On Earth
25:22
Просмотров 19 млн
T2S5 John Kilmister - Maze Generation for Fun in C#
41:47
OZON РАЗБИЛИ 3 КОМПЬЮТЕРА
0:57
Просмотров 14 тыс.