Added: 9 months ago
From: Bisqwit
Views: 8,936
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (82)

Sign In or Sign Up now to post a comment!
  • I wish I was even half as good as you in programming... :(

  • I cried sir. Thank you.

  • Anyone else thought this was sped up and then looked at the time and realized he was doing this in real-time? o.o

  • Hey , what do you mean with Tool-Assisted?

    I always wanted to know how to make a Tool-Assisted-Movie from DOS or Windows , i was thinking that is impossible

  • @ahron123456 There is a FAQ linked to in the video description. It explains the concept. As for tool-assisted speedruns, see TASVideos for more information. It is possible for both DOS (e.g. Commander Keen 5) and Windows (e.g. Cave Story).

  • You are the most talented programmer I've seen on YouTube. I aspire to someday have skills as good as yours.

  • @tekkn0logik Thank you for the kind words. Yet, I too have much to aim for, many people whom I don't quite measure favorably up to. It is a lengthy profession.

  • I'm standing speechless. Amazing piece of work!

  • I think i saw Mario at the top.

  • I think i saw Mario's head at the top.

  • Gosh. I have never seen such complex C++. That looks just wonderful, you should make an indie game!

  • Where can we get the actual source code for this?

  • @theOnlyHe110 Here.

    preview.tinyurl dot com/657m3sn -- This contains the version exactly as shown in the video.

    preview.tinyurl dot com/6f2k35b -- This contains a refined version. Among other things, it is laid out more modularly, and it contains ellipsoid-based collision checking.

  • Oh my god! Amazing work, mate!

  • How do you type this fast and this smooth?

  • @HappyAfroamerican The FAQ linked to in the movie description (which one should usually read before posting a comment) answers this question and many others.

  • @Bisqwit How do you reply to a comment this fast? Are you omnipresent or something? D:

  • @HappyAfroamerican I get an e-mail notification of comments. I check e-mail every few hours, and you had just posted the previous comment.

  • So, this will work on a dos 6.22 Pentium 2 machine?

    I don't know much about cross-compiling, but did you compile using Linux Static Binaries and tell it "hey I need this for MSDOS"?

    I heard the latest port of mesa for djgpp was version 6.3 (made in 2005)

    I thought programming in older libs and headers would be harder because you're dependent on new functions and you're like "shit, it's 2005, this function in OpenGL doesn't exist in this version".

    So you're using the mesa in squeeze?

  • @commodore256 It runs on DOS, but not in real time.

    Cross-compilation means compiler runs on one platform and produces code for another platform. DJGPP always produces DOS programs, regardless which OS you run it on.

    As for Mesa, I used Mesa-7.10.2 (the newest available) and compiled it manually. I had to minorly change a few of its source files. I used ./configure --host=i586-pc-msdosdjgpp and a ton of other options (YouTube comment length limit prevents me from posting the rest).

  • @Bisqwit The point was to demonstrate OSMesa, which renders 3D graphics without need for a graphics card, let alone a 3D graphics card. I only used DOS because that happens to be the only environment that I had set up video recording for.

  • @Bisqwit How well would it run a custom Win 98SE machine with a 2.8Ghz P4 and a S3 Trio?

    I already knew what cross compiling means.

    But I would of worried about runtime libs, sometimes I would get a error with glquake and it would say it could not find opengl32.dll (dll hell) and that is solved by fining the dll file, but your engine didn't need the dos runtime libs

    Did the cross compiler put all of the runtime dependencies in the exe?

  • @commodore256 You are welcome to try. The display card does not matter; this does software rendering. Yes, the DOS program is statically compiled. However, I rather suggest you compile a native version for your OS and use OpenMP. That's what I did for the encoding, anyway. (But if you are going to test this, you will need the textures as well.)

  • The mode you used is 0x13 or 13h aka VGA/MCGA colour mode.

  • One fascinating coded realm. Your small mistakes are a part of what makes it so beatiful.

  • IN 16BIT ??? *.*

  • @sebamstrad Correction. The editor runs in 16-bit. But the 3D program is 32-bit. It is compiled using DJGPP, and it runs in protected mode using a DOS extender.

  • Hyvää yötä :D

  • LOL! No fucking idea whats going on! :D

  • You rock!

  • are you a pinoy ??

  • @ReinuAntipuesto Nope.

  • O_O

  • I came here cauz of omfgninja. and i was like whut....

  • @mr123412341234 same here

  • Wtf is Mario doing here ?

  • Dude...you, demoscene, now.

  • @kw1ksh0t Thanks, but I have no plans of entering a competitive field. There is always someone better, more skilled, more efficient and more entertaining. As for simply doing stuff for impressions and education, I've already got my channel right here.

  • @Bisqwit Wwo, I'm impressed! btw... is this speed up footage? Or do you really type that quick

  • @sglegomania Suggest you read the movie description, and especially the FAQ linked to in it!

  • Great work! I like the dithering and lighting you applied; the end result has a nice look.

  • @zxc1000zxcv Thanks!

  • What text editor is this?

  • @shi234 One that I made myself for the purpose of creating these videos...

  • Is the compiled file available for download? I want to run it on my actuall i586 MS-DOS machine :)

  • @LunaVorax Yes, it is available. However, to run it you must first compile and run the program (makemaps) which generates the lighting layer files (lmap*.raw, rmap*.raw, smap*.raw). I did not include them because it's a bit too large a download for my server to serve. You can run it on your operating system of choice; it's portable. The dos-compiled opengl test program is dos_goal.exe within the package.

    See: bisqwit.iki.fi (slash) jutut/kuvat/programming_exampl­es/opengl-example-test_dos.7z

  • @LunaVorax And when entering the URL; triplecheck and make sure to remove the invisible garbage characters that YouTube inserts in the URL to thwart people trying to give helpful instruction. I found one in the between of "l" and "e" in "examples".

  • Haha, thanks for the quick reply. I myself know the basics already. I can understand your basic code, but you're doing quite some complex mathematical calculations/declarations which I have no idea how to decipher.

    Do you know what they do exactly? Or are some of them things you just do to get that result you want?

  • @Garteal The mathematical calculations and declarations are both common vector/matrix calculations that you simply must learn if you do 3D/vector programming, and at some points they are the result of experimentation that was done before creating the video.

  • Beautiful video, excellent programming and with the addition of that soundtrack, this is a masterpiece! I really like this video.

    As an programmer myself, I find this very inspiring. Whenever I watch this video, it makes me want to program and master the languages.

    I'm currently still learning/playing with C++/C#. I hope I'll eventually get to this stage.

    Where/when did you start learning your favorite language?

    Do you have any tips for us -starting- folks?

  • @Garteal Thank you for the feedback. I suggest you get a good tutorial that teaches the basics of _programming_, i.e. the core concepts: while-loop, if-then, for-loop, subroutines (functions), parameters, variables, types, all that. These are the core blocks behind almost every proramming language. Then you choose whatever programming language you can quickest get to produce something rewarding. For me it was BASIC, for you might be Lua or Python. C and C++ are more rarely that. I.d.k. about C#.

  • Does it render on CPU?

  • @inricheetos That's what "done all in software" means. I used OSMesa, which is an all-software implementation that renders into memory buffers. It does not even require the computer to have a display card at all.

  • glut is realy old...why dont you switch to SDL

    it has it's oun sound system but you probably use OpenAL for that

  • @pghg022 I did not use Glut.

  • Great music, good tutorial, thanks for the efforts.

  • How do you compile the original code in Code::Block

  • @Dakkiller1 Please clarify your question. I cannot see a reference to a "Code::Block" in my source code.

  • @Bisqwit I meant CodeBlocks, Its an IDE that comes with alot of crap and stuff

  • @Dakkiller1 Ah. Then you obviously know more about it than I do!

    I know the commandline inside out, i.e. how to run GCC directly.

  • @Bisqwit I had just gotten DJGPP installed into a folder just for DOS programs and I have DOSBox configured to emulate a basic Pentium with 16MB of RAM and its mounted to a folder where DOS programs get installed on with their own folders.

    Got DJGPP installed correctly too. How do I set up DJGPP and what should I do to compile this OpenGL program with it

  • @Dakkiller1 I have not actually been able to make DJGPP compile C++ programs in plain MS-DOS (which DOSBox emulates). The C++ system requires long file name support (from Windows 95 onwards), which DOSBox does not provide. In order to compile, I used a Linux-hosted DJGPP installation, i.e. compiler which runs in Linux and produces MS-DOS executables. You could also do it in 32-bit Windows. For setting up DJGPP, please see documentation at delorie.com; I am sorry but I cannot help you with it.

  • @Bisqwit Oh

    I also read earlier that you ran it directly on Linux. Did you like built a executable for Linux and like found a way to like record the footage from Linux?

    Also, since DJGPP was last updated in 2002, I supposed you also seperately downloaded old Linux library's like maybe this old one I heard about called svgalib something which I heard about from a readme file of an Demoscene demo from 1996 which had both DOS and Linux executables. Will the 1994 Linux port of Doom run on 2005Linux

  • @Dakkiller1 I ran the compiler on Linux, and it produced an executable for MS-DOS. Which was too slow to run under DOS (just that it _works_), so I also compiled it as a Linux executable and used that for the actual video. As for DJGPP being updated, I compiled my own DJGPP version, using the most recent GCC build at that time. So my current DJGPP version is based on GCC 4.6.0, which was released in March 25, 2011. No "old Linux libraries" were necessary. Everything was recent, including OSMesa.

  • @Bisqwit

    Can you upload the code ? (The fixed version)

  • @labobo Yes.

    preview.tinyurl dot com/657m3sn -- This contains the version exactly as shown in the video.

    preview.tinyurl dot com/6f2k35b -- This contains a refined version. Among other things, it is laid out more modularly, and it contains ellipsoid-based collision checking.

  • @Bisqwit thanks

  • @PushJWC While this _can_ be done in DOSBox, it's not exactly fast. I have to crank the CPU cycles setting really high for it to appear smooth from the perspective of the emulated system, and even then, the FPS is quite low on the host computer. In fact, I ran this program on the actual host (Linux x86_64) rather than in DOS, to get real time performance. That's because of software rendering. Hardware OpenGL would of course be blazing fast, but I could not use it.

  • Just awesome, from the data programmed to the actual scene

    Did you ever thought about, or ever made a full game on DOS ?

  • @son1cgu1tar This was my first OpenGL program ever. So no, no 3D game. (I have made a few other games, all 2D, but they are all rather simple and not too original.) But regarding this 3D thing I have some concepts that I want to try out, perhaps we'll see more of that later. Now if I just can figure out the vector mathematics needed...

  • What I love about your videos is that you really love the art of design and understand it so well, the end result is that you're able take the person watching it to another world. It's almost like you're able create cameras that film hidden dimensions or other places in the universe.

    Another great video, please keep inspiring!

    Louix

  • @Louix94 Thank you for the feedback! Your words are too kind.

    But I have read source code as a hobby for many years. Some of them are really good and entertaining. In a way, I want to return the favor :-) I want to make source code that speaks for itself and whose primary audience is humans, not computers. Sometimes I have to compromise though. I wish all code could be self-explanatory and insightful, but once in a while you just need to mash in a boring sequence to get the computer to do stuff.

  • Beautiful music. Is it from Lufia?

  • @ZidaneTribal93 Yes, it is from Lufia.

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more