Whirlybirds - C64 Fullscreen 3D Engine Demo -

Ойындар

C64 version of our Christmas 2022 (Plus/4 / C64) 3D engine in fullscreen mode. Music by c0zmo...
You can find the complete 7z file (C64 / Plus/4) here: puls4r.de/downloads/whirlybir...
Plus4World: plus4world.powweb.com/softwar...
CSDB: csdb.dk/release/?id=227159
GitHub: github.com/kosmonautdnb/Whirl...
(Actually the whole "famous" ID-Software game would be possible, I think, on a stock C64 with the disc drive as supportive factor regarding "memory". This is just an around 64kb big single file (not a "multiloader") program to demonstrate the possibility of such an endavour in 8bit.)
This here is a normal stock C64 it could have even been loading the program via a tape drive. It's without special hardware like this: www.c64-wiki.de/wiki/SuperCPU or similar or more potent stuff. Just a C64. Dunno how it would work out in a final with 20 Mhz (instead here with around 1Mhz) and 16MB of Ram (instead of 64KB here).

Пікірлер: 62

  • @garycarlucci1890
    @garycarlucci18902 ай бұрын

    Unbelieavable! Hats off to you sir.

  • @xtokumaru
    @xtokumaru6 ай бұрын

    Very impressive! It's definitely too slow for an action game, but might make a great RPG or something more slow-paced.

  • @BluntEversmoke

    @BluntEversmoke

    2 ай бұрын

    A mechsim would totally rock on this.

  • @DumbBunny5328
    @DumbBunny53282 ай бұрын

    Oh my god those friggin gnomes have infiltrated C64 demos too wtf

  • @PlayBASIC-Developer
    @PlayBASIC-DeveloperАй бұрын

    Fantastic work!

  • @Nikku4211
    @Nikku4211 Жыл бұрын

    This frame rate is very impressive considering this is a C64 with a slow 6502-based CPU.

  • @HelloKittyFanMan.

    @HelloKittyFanMan.

    7 ай бұрын

    Why, when the update rate of those other 3D-based demos (the ones that came more from the copy-protection-crack community) are so much faster with more colors?

  • @thek3743

    @thek3743

    7 ай бұрын

    Talk is cheap show a link

  • @HelloKittyFanMan.

    @HelloKittyFanMan.

    7 ай бұрын

    How should they do that, @@thek3743, when these days YT prevents it from showing up except when the channel owner posts it?

  • @desertfish74
    @desertfish74 Жыл бұрын

    Nice tune as well!

  • @SamTaylors
    @SamTaylors Жыл бұрын

    Really incredible! Congratulations and thank you for sharing

  • @federicoalbesa3748
    @federicoalbesa3748 Жыл бұрын

    Simply amazing!!! Beautifull 💚

  • @BobbyCharlz
    @BobbyCharlz Жыл бұрын

    Wow, this is truly amazing. I’m going to have to buckle down in the coming weeks to look closer to what you’ve done here because it’s simply mind-blowing. Thank you so much for pushing the envelope with your great work and creativity. Because it’s not clear to me, is this a screenCapture of you playing through your creation (demonstrating user input and interaction) or, is this a demo? Thank you!

  • @strictions

    @strictions

    Жыл бұрын

    It's possible to walk through this level. Actually it's more some sort of an early game engine than a demo. All the best!

  • @caspice
    @caspice Жыл бұрын

    Next: DOOM on C64. It is possible to make it run faster, using sprites as 3D background

  • @pedazodeboludo

    @pedazodeboludo

    Жыл бұрын

    There's a VIC-20 doom, I've tried it... but the image quality is not great.

  • @georgebachaelor7600
    @georgebachaelor7600 Жыл бұрын

    Stefan you are the Bill Harding (Bill Paxton in Twister) of the plus 4 game dev community ie you're THE EXTREME 🤩😍🤩😍incredible work wow

  • @neonvoid
    @neonvoid Жыл бұрын

    Crazy!

  • @jakovelik
    @jakovelik6 ай бұрын

    cool stuff

  • @tomaszanvit9694
    @tomaszanvit9694 Жыл бұрын

    Dreams come true

  • @strictions

    @strictions

    Ай бұрын

    Thanx!

  • @dr.ignacioglez.9677
    @dr.ignacioglez.9677 Жыл бұрын

    I LOVE C64 👍🥂🎩

  • @bsdetector6908
    @bsdetector6908 Жыл бұрын

    I'm impressed. The c64 is just 1Mhz and has no MUL instruction, I cannot begin to comprehend how complex 3D math will be in 6510 asm. Then you have texture mapping too... Great work. Is source available?

  • @punpcklbw

    @punpcklbw

    6 ай бұрын

    In fact, you don't need a mul instruction as long as table lookups and bit shifts are working. As 4*x*y = (x+y)^2-(x-y)^2, it can be done in one addition, two subtractions and two table lookups (initialize a table of square numbers, then right-shift the results to any scale you need). Still, it would be tricky to mupliply/divide large numbers on a slow 8-bit chip.

  • @PhreakDarkSoul

    @PhreakDarkSoul

    4 ай бұрын

    Arent MULs just multiple ADDs?

  • @xtokumaru

    @xtokumaru

    4 ай бұрын

    @@PhreakDarkSoul Conceptually, yes, but if you implement it that way, the performance will be all over the place. A common approach is the "shift and add" method, which requires at most N ADDs, where N is the number of bits in the multiplier. But even that can be too slow for real-time 3D stuff like this, so something involving lookup tables is much more appropriate.

  • @strictions

    @strictions

    Ай бұрын

    I think I Open Sourced the source already. But maybe you know a propper location to put it on?

  • @lydialoud
    @lydialoud Жыл бұрын

    Wow, like demoscene hackers this is amazing

  • @jumhed994
    @jumhed994 Жыл бұрын

    Remake 'Lords of Midnight' with this engine

  • @shaolin95
    @shaolin95 Жыл бұрын

    insane coding!

  • @dajan777
    @dajan777 Жыл бұрын

    Really cool. Is there any chance to improve framerate to at least 3-4 fps?

  • @strictions

    @strictions

    Жыл бұрын

    Yes of course. This is a general implementation of the "Doom Engine" (BSP Tree).. If you limit the possibilities it can reach a lot more fps. Reducing the visible area alone gives more fps like in the plus/4 video.

  • @user-eh4il7og9q
    @user-eh4il7og9q Жыл бұрын

    Is it a vanilla c64?

  • @GG.SS.
    @GG.SS. Жыл бұрын

    2 fps? C64 rul3z 4e4! =)

  • @BluntEversmoke
    @BluntEversmoke2 ай бұрын

    Would an ASCII render speed it up? It would make the pre-rendered sprites take up more space...

  • @surfinbirdzx
    @surfinbirdzx3 ай бұрын

    Jawdropping. I've seen several 3d engines for C64 but this is most promising. It's impossible to make full-featured Doom-like 3d engine for an 0.9 MhZ 6502 64kb - with textured walls, floor heights (animated!), sprites with alpha-channel and skyboxes... but you somehow managed to do it and I'm shocked. Maybe if you make viewport smaller (by adding HUD art at the sides and top/bottom) and squeese another couple FPS?

  • @joecincotta5805
    @joecincotta5805 Жыл бұрын

    Looks like raymarcher, but your frame rate is very high for bitmap - is this somehow using chars? Super cool code dude, if U can get to game logic and keep the frame rate this will be an awesome engine. Looks like you're mostly there.

  • @vytah

    @vytah

    Жыл бұрын

    It's single-buffered bitmap, with what appears to be double-height pixels (so effectively 160x100)

  • @strictions

    @strictions

    10 ай бұрын

    ​@@vytah Internally it's 160x100 in fullscreen version.. I don't remember why I did that.. Actually it's all based on eor filling and y resolution is no problem at all (except for memory and speed). But anyhow.. It's a doom engine on C64 and Plus4. @joecincotta5805: No Raymarching involved and no chars (in this version) just 160x200 bitmap mode. Double Pixels where because I intended dithering at start to have more colors (and it was charmode). But it looked much worse with dithering.

  • @vytah

    @vytah

    10 ай бұрын

    @@strictions Interesting. I wonder what an 160x200 version would look like (and how well it would run)

  • @agpxnet

    @agpxnet

    3 ай бұрын

    @strictions, eor filling? So you've no overdraw? How you get rid of overdraw? And what about clipping, is it performed in screen or world space?

  • @mariuszszarek1992
    @mariuszszarek1992 Жыл бұрын

    Same speed like old vector graphic!

  • @turbolenza35
    @turbolenza35 Жыл бұрын

    It was coded in assembly language?

  • @strictions

    @strictions

    Жыл бұрын

    Yes!

  • @thek3743

    @thek3743

    7 ай бұрын

    No in phyton

  • @bigredracingteam9642

    @bigredracingteam9642

    7 ай бұрын

    Oh, I thought it was an Electron app. @@thek3743

  • @kke
    @kke Жыл бұрын

    Fullscreen as in no borders?

  • @strictions

    @strictions

    Ай бұрын

    No it was meant as 320x200 (so to say)

  • @caspice
    @caspice Жыл бұрын

    Link download page not found?!.

  • @strictions

    @strictions

    Жыл бұрын

    Corrected! Sorry for the inconvenience!

  • @_devik
    @_devik6 ай бұрын

    Is it better than Castle Master though?

  • @strictions

    @strictions

    6 ай бұрын

    I love castle master! Thanks for the hint!

  • @strictions

    @strictions

    6 ай бұрын

    Especially the music of castle master is a master piece!

  • @worsethanhitlerpt.2539
    @worsethanhitlerpt.2539 Жыл бұрын

    Trippy as fuck weird virtual world on a computer that can barely do sprites

  • @chriskutz7144
    @chriskutz7144 Жыл бұрын

    Use a Supercpu, it'll run faster and smoother.

  • @AgeofReason

    @AgeofReason

    Жыл бұрын

    Not stock is no fun you do it homie or just playback this at 2x for real time simulation

  • @covidenslavement8918

    @covidenslavement8918

    10 ай бұрын

    C1​​​28 mode at 2 MHz

  • @strictions

    @strictions

    Ай бұрын

    There was a SuperCPU version (c64) actually just LAX and others (illegal opcodes) where removed.

  • @SeanChYT
    @SeanChYT6 ай бұрын

    Even if this is technologically impressive, it is not going to dazzle many people. I don't really see the point. With modern tools, algorithms and dev tools we can do almost anything with old hardware. There is no comparison to the situation developers had in the 1980's. I was part of the demo scene myself back in the day, and I enjoy watching demos on old retro hardware, but this is just a very bad fit.

  • @strictions

    @strictions

    6 ай бұрын

    Nice view, thanks!

Келесі