Recreating DOOM in Python. Ep1 - WAD DATA
HTML-код
- Опубликовано: 3 мар 2023
- Getting WAD file data and rendering DOOM maps in 2D mode.
Metallica - E1M1 (At Doom's Gate) @StateOfMercury
• Metallica - E1M1 (At D...
DOOM1.WAD
www.doomworld.com/idgames/inde...
SLADE 3
slade.mancubus.net/index.php?...
Code:
drive.google.com/file/d/1y6ig...
C++ DIY Doom:
github.com/amroibrahim/DIYDoom
#coderspace #doom #python
VERTICES or VERTEXES? It looks like both options are correct.
dictionary.cambridge.org/dictionary/english/vertexes
www.merriam-webster.com/dictionary/vertexes
how can i run this in android phone?
it seems that numba is not compatible with python 3.11
@@astaghfirullahalzimastaghf3648 Numba will only be used for texturing, but for version 3.11 you can use Cython
I really like the ideas you have on your channel and i think you wil be a youtube success i'm a developer in training and i've been using youtube videos as my course and i just wanted to thank you for the creativity on this youtube channel i hopw my channel could be as successful as yours
verticies.
Oxford Dictionary: plural: vertices, vertexes (equal in application)
Wiktionary: plural: vertices or vertexes
So choose what you like:)
@nitrgnsis1144 you are "stultus" ... The Latin vocative plural form is "verticēs"
The amount of things learned from and the value on your resume of something like this cannot be understated.
For most companies, having proven skills like this, is basically an instant hire.
Well, not all companies know how to utilize such good talent for their own benefit. That's why the best developers jump from one company to another for career growth and better salary.
Great job! You always surpirse me how you solve perfomance issues with python! Its nice to see engine development with languages other than C++. Honestly, your channel deserves much more views! You have lot of potential for teaching.
I have now watched a few of your videos. I must say, very good work...
On the shoulders of giants, we stand.
Man I had been thinking about this for a while. So glad someone is making this happen!
Very nicely explained !! Thank you for uploading!
this is awesome man! cant wait for part 2 !
Awesome project, thanks teach all this great things, specially about DooM
This is very complicated for me but wow just amazing waiting for the ep2
Love your content! Keep it up.
Wow awesome man, very good explanation and example thanks for your time
Amaaaazing vídeo brother!! I'll start coding it tomorrow in the evening!
I just love this.
You can do so many things with Python...
THIS IS AMAZING MAN.
I have to watch this video at least 10 times to undertand the 50% of this content! good news for you bro jajaja! its a great job! go on!
Very cool. The complexity on this very high even for me and I'm fortunate enough to work as a Software Developer. I work in business software so most of what I do is Front End/Back End, Rest APIs, Relational Database stuff. I'm looking for something different and challenging even thought I don't know Python. I found your channel just poking around and I am very excited to cull through the rest of your content and try and apply it!
Really good quality video and good stuff. Thank you very much!
Amazing video!
This video is seriously making me consider updating python to the new version
also I would love to see a Q&A video soon, do you have anything planned or maybe voice reveal ?
sounds like a nice idea!
Try updating the python interpreter with pyenv. I used to have multiple python version in my machine and it was a mess when it comes to chosing the interpreter when executing script
amazing video man, thanks
Good Job 🔥🔥
Could you make a video on your video making process, what tools you use and how you use them? Love the videos as well.
I couldn't finish the video after 1min of the damn ai robotic voice it hurts my ears
Yo broooo.......
Nice i loved it. Will start creating it in few days.
Just tell me how many episodes will be there in this series?
About 5 episodes
Finally! Amazing.
@9:28 I hate it when programmers sort a list just to get the minimal value. Non-programmers do it more efficiently: just walk through the list while keeping track of the lowest value. O(n log n) vs O(n)
Or just use the builtin min() and max() functions.
If the datasets need to be sorted in the future anyway, then sure, sort away. And, sure, walking through the list once to collect both min and max takes it from O(2n) to O(n), but your computer science professor will tell you to ignore constants in big-O calculations. At least in this case, I think that the obviousness of using min() and max() will trump both of the other methods.
really good content
Great video. Thanks
Thank you sooo much! :D
Now imagine doing this. In C. In the 90´s.
i am just unhappy that you can't easy (with void pointer "low level magic") serialize to and from binary file because: c structs can have padding and alignment to memory layout, also there is endianess etc. ... it could be so easy ... but it is not **Crying Out Loud**
Without chat.
this is just incredible, and you make it look so easy... how long have you been programming?
about 4 years
I've been programming for 15 years and I can write a Hello world program. Definitely not cut out for programming.
Very impressive
Hooray!
This is a great video! makes me want to understand different coding languages and invest more time learning.. Only thing that's holding me back is a lack of time to do this sorta thing and not being in the industry
I can't personally tell Mister Quaker himself, but I wanted you to know that before this video played, I was shown a video advertisement highlighting an oatmeal product produced by Mister Quaker, and I wish to convey my opinion that said aforementioned oats looked mighty scrumptious in this humble, maybe even naive, piccolo player's honest opinion. I may strum the strings of a mere instrument, but it strums the strings of the human soul. Transporting us. Making us whole, not unlike the oats themselves. He is in our hearts, now and forever. Rock on, soul brother. Rock on.
I see recreating Doom, I sub.
you are awsome!
Next episode when??? Epic video!!!
In a few days
@@CoderSpaceChannel nice, thank you
Awesome
Mans didn't want to compile numbas from source
This is awesome man! I am learning python and c++, but i still couldn't apply my knowledge to anything meaningful. I want to be able to make a game from scratch like you did in 52 minutes video. What do you suggest to a self-learner (Future)Software Engineer?
thanks just keep learning and programming
That's such a good version of doom's e1m1 soundtrack.. it sound as if metallica played it. What's that version called?
Ahhh yeah!!
This is great, but did he say "MS-DOSE"? I could swear he did.
It's text to speech
@@francisstoll5849 Whoops! I don't know how I didn't notice. I guess it's getting better and better.
This was very complex to me and I work in creating neural net driven music tools. I wish I understood all the lower level stuff like you do! Never thought of using Python in this way though. Looking forward to following these tutorials and maybe getting an AI to write some new music based on the original tracks!
I didn't understand a thing but really nice video 👌🏻
Why not use a struct to read the wad file?
Graduating here from the raycasting game. Wishing all yall luck!
The struct library is capable of reading entire structs in 1 function call. I'm surprised you didn't utilize this feature.
Godlike video! You are so underrated!
Starting simple, hope does not get more complex than that :) Wondering how your implementation will differ from the original one, I know whey did cut corners in order for everything to work, but you don't have to. Will you stick to the original logic (and bugs) or your will try to improvise where possible?
I'm not reinventing DOOM and it's basically an adaptation of the source code with some changes and simplifications, so let's say now these episodes are aimed at creating a DOOM level viewer. But I guess we can go further.
I see it's really interesting....
Really good content. Unfortunately it is spoiled by the text to speech voiceover.
You can mute it.
Its not that bad. Its better than someone Reading his script for the first time leading to having weird intonations and doing random pauses throughout the video which is slowly driving you crazy.
@@dntbther9298there are much better text to speech tools though that sound shockingly real. This one is bad but not intolerable like some other videos
I didn’t even notice it was tts regardless it hardly spoils the video at least for me.
I didn't even noticed that!... :/
Bro is making his own source port
4:19 im not getting the output and in my main file my self.wad_data is giving me a error
Your update() calls flip(), which put your drawn data to display. And your update() is called before draw(), so your update presents graphics from the previous frame. This is semantically wrong.
That's right, I'm one frame behind. I will put the flip() in the draw method 👍
10:27 "Lindedef"
I have a long way to go in python. This flew over me.😂😂😂
I did see/know it was E1M1 just from the map with the vertices only (no linedefs). :P
The speed of these videos is difficult to follow, the byte information is actually okay I understand these older games had to use some genius methods to consolidate their data.
Where did you get this version the m1e1 background music?
tuck at 04:14 where if I run wad_reader nothing prints so I think there's a problem getting data from the WAD file. My files and code look identical to yours
Omg how long did that take man
What is the program you are using to write the code in. I know python is the language but what are you using to run it?
PyCharm
@@CoderSpaceChannel Thank you so much!
The way code writes itself and displays is not very pleasant.
And maybe a primer on how Doom works could help general comprehension.
Apart from that, it's a nice video. Thanks for sharing.
linedefs from vertexes, are they drawn clock-wise ?
if you're trying to create polygons out of sectors using opengl i believe the order is counter clockewise
NA students: But what is a circle?
EU students: Is this GDPR safe?
AZ students: Yeah bro I know, Python is slow for this tho
You miss something important. Why don't You don't start from scratch? It would be better for viewers to understand if you just start everything from the very beginning like Creating Folders and putting image on the right directory and showing the images that you use and how you get them. Because I mess up configurations and get stuck at the middle.
Why is the class "Lindedef"? Is that just a misspelling that you stuck with?
yeah it's just misspelling
¡Gracias!
and thank you too!
9:25 Sorting an array just to get the min and max values... ouch ouch ouch 😄
(Yeah it works but it just hurts a programmer's eye)
The hired script reader/speech to text is super distracting. Just put subtitles in if you can't narrate.
can you please put a disclaimer somewhere that it's an ai voice
But would it run on a 386 with 4mb of ram?
What is that IDE?
Edit : Saw in the comments : *PyCharm*
I am devil, doom, incarnated, so dont be me, let God be in me, not me
Can Cython boost the perf ?
Yes, perf will increase many times.
Наткнулся случайно на видос, уже хотел бежать писать, что наглый плагиат у Standalone, потом до меня дошло. Друг, спасибо за твой вклад, ещё 2 года назад писал курсовую, создавая 3д игру на питоне по твоим гайдам, тогда все сидели открыв рот)) Ты заслуживаешь намного больше, чем те жалкие просмотра на родном канале, красава, что перешёл на англоязычный)
Is this a robot voice?
Bro why are you all complaining over the text to speech voice, nothing wrong with it bro
No offense intended but you sort of glossed over the purpose of the remap_x / y functions, are you able to explain the algorithm you use here?
this is a common formula for remapping numbers from one range to another
Robot narration?
EXE is not pronounced as ex! It's ex-ee as it's short for executable. Notice how it's the starting 3 letters of the word?
It's text-to-speech reading a script.
This is the LEGAL version of piracy
Is this narrated by a speech synthesizer, or do you just have an extremely consistent pronunciation and enunciation?
is this voice over done by a bot? speech inflections and cadence are all over the place wrong/weird
basically any user/person input in this video feels artificial for some reason, why is this?
@User you no have to say abut the scripting part they show it on tape
Is the narrator for this video a text to speech program? cause he doesn't sound human
I didn't know python has struct... LOL
WAD Data = Where's All the Data Data
Well, let's take perfect, super fast C code and make 100 times slower Python abomination. What the point of this project? Killing time? There is much more suitable languages and frameworks for game development.
python is easier to understand than C sometimes
ugh AI text to speech
Ugh... text to speech. No thanks.