Whirlybirds - C64 Fullscreen 3D Engine Demo -

Поділитися
Вставка
  • Опубліковано 25 гру 2022
  • 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).
  • Ігри

КОМЕНТАРІ • 73

  • @greggoog7559
    @greggoog7559 23 дні тому +2

    Same framerate as the unfilled wireframe "3d" titles of yesteryear! Amazing!

  • @xtokumaru
    @xtokumaru 9 місяців тому +15

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

    • @BluntEversmoke
      @BluntEversmoke 5 місяців тому +1

      A mechsim would totally rock on this.

  • @garycarlucci1890
    @garycarlucci1890 5 місяців тому +5

    Unbelieavable! Hats off to you sir.

  • @SamTaylors
    @SamTaylors Рік тому +3

    Really incredible! Congratulations and thank you for sharing

  • @federicoalbesa3748
    @federicoalbesa3748 Рік тому +3

    Simply amazing!!! Beautifull 💚

  • @Nikku4211
    @Nikku4211 Рік тому +10

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

    • @HelloKittyFanMan.
      @HelloKittyFanMan. 10 місяців тому

      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 9 місяців тому

      Talk is cheap show a link

    • @HelloKittyFanMan.
      @HelloKittyFanMan. 9 місяців тому

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

    • @kangarht
      @kangarht Місяць тому +2

      @@HelloKittyFanMan. its much easyer to spin a smaller 3d object in the middle of the screen than doing a fullscreen doom like engine...

  • @desertfish74
    @desertfish74 Рік тому +4

    Nice tune as well!

  • @PlayBASIC-Developer
    @PlayBASIC-Developer 3 місяці тому +1

    Fantastic work!

  • @georgebachaelor7600
    @georgebachaelor7600 Рік тому +1

    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

  • @BobbyCharlz
    @BobbyCharlz Рік тому +13

    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  Рік тому +7

      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!

  • @jakovelik
    @jakovelik 8 місяців тому +1

    cool stuff

  • @DumbBunny5328
    @DumbBunny5328 4 місяці тому

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

  • @neonvoid
    @neonvoid Рік тому +1

    Crazy!

  • @gyllenevishet
    @gyllenevishet Місяць тому

    Nice

  • @tomaszanvit9694
    @tomaszanvit9694 Рік тому +1

    Dreams come true

  • @jumhed994
    @jumhed994 Рік тому +3

    Remake 'Lords of Midnight' with this engine

  • @dr.ignacioglez.9677
    @dr.ignacioglez.9677 Рік тому +2

    I LOVE C64 👍🥂🎩

  • @caspice
    @caspice Рік тому +8

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

    • @pedazodeboludo
      @pedazodeboludo Рік тому +1

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

  • @lydialoud
    @lydialoud Рік тому +1

    Wow, like demoscene hackers this is amazing

  • @shaolin95
    @shaolin95 Рік тому +2

    insane coding!

  • @bsdetector6908
    @bsdetector6908 Рік тому +7

    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 8 місяців тому +3

      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 6 місяців тому

      Arent MULs just multiple ADDs?

    • @xtokumaru
      @xtokumaru 6 місяців тому +1

      @@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  3 місяці тому +1

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

    • @kangarht
      @kangarht Місяць тому +1

      @@punpcklbw good thinking, fastest c64 mul routine used this, but spares the x+y x-y calculations with clever adressing, its a little addressing setup and 2 substraction for 8x8 = 16bit mul

  • @dajan777
    @dajan777 Рік тому +3

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

    • @strictions
      @strictions  Рік тому +6

      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 Рік тому +2

    Is it a vanilla c64?

  • @mariuszszarek1992
    @mariuszszarek1992 Рік тому +2

    Same speed like old vector graphic!

  • @surfinbirdzx
    @surfinbirdzx 5 місяців тому +6

    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?

  • @BluntEversmoke
    @BluntEversmoke 5 місяців тому

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

  • @GG.SS.
    @GG.SS. Рік тому +4

    2 fps? C64 rul3z 4e4! =)

  • @joecincotta5805
    @joecincotta5805 Рік тому +3

    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  Рік тому +2

      ​@@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 Рік тому

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

    • @agpxnet
      @agpxnet 5 місяців тому +1

      @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?

    • @kangarht
      @kangarht Місяць тому

      @@agpxnet doom is zero overdraw, check up on how it does it. eor filling here is used to plot less pixels in the texturing phase.

  • @MaxOakland
    @MaxOakland 18 днів тому

    How does it work?

  • @turbolenza35
    @turbolenza35 Рік тому +1

    It was coded in assembly language?

  • @caspice
    @caspice Рік тому

    Link download page not found?!.

    • @strictions
      @strictions  Рік тому +2

      Corrected! Sorry for the inconvenience!

  • @kke
    @kke Рік тому +1

    Fullscreen as in no borders?

    • @strictions
      @strictions  3 місяці тому

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

  • @_devik
    @_devik 9 місяців тому

    Is it better than Castle Master though?

    • @strictions
      @strictions  9 місяців тому

      I love castle master! Thanks for the hint!

    • @strictions
      @strictions  9 місяців тому

      Especially the music of castle master is a master piece!

  • @chriskutz7144
    @chriskutz7144 Рік тому +3

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

    • @AgeofReason
      @AgeofReason Рік тому +2

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

    • @covidenslavement8918
      @covidenslavement8918 Рік тому

      C1​​​28 mode at 2 MHz

    • @strictions
      @strictions  3 місяці тому +1

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

  • @jmp01a24
    @jmp01a24 6 днів тому

    The rendering is good, but it doesn't manage to calculate in real time. This can't be refreshed more or less on every 8th frame, possibly every 4th? What about a REU and pre-render movies? I get you won't be able to control the motion yourself, but the output would not differ much as one tend to want a good tracked movement.

  • @worsethanhitlerpt.2539
    @worsethanhitlerpt.2539 Рік тому +2

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

  • @SeanChYT
    @SeanChYT 9 місяців тому

    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  9 місяців тому +1

      Nice view, thanks!

    • @kangarht
      @kangarht Місяць тому +2

      whats the point climbing mountains? collecting old cars? same point here.