[HN Gopher] Grind - A first person shooter for Amiga 500
       ___________________________________________________________________
        
       Grind - A first person shooter for Amiga 500
        
       Author : harel
       Score  : 305 points
       Date   : 2023-10-11 21:06 UTC (23 hours ago)
        
 (HTM) web link (www.indieretronews.com)
 (TXT) w3m dump (www.indieretronews.com)
        
       | vardump wrote:
       | Looks absolutely amazing considering Amiga 500 limitations. Same
       | renderer as in Dread, a newish Amiga game.
        
         | ekianjo wrote:
         | The video is on a A1200
        
           | actionfromafar wrote:
           | Still amazing compared to what was out in say, 1992 on the
           | Amiga. (3D games wise.)
        
             | ekianjo wrote:
             | Yes still very impressive
        
           | rasz wrote:
           | with fast ram. That pretty much means additional accelerator
           | card because Commodore didnt bother to build fast ram memory
           | controller into the thing. You couldnt just slap some simms
           | or ram chips on a card, you needed additional logic. Cheapest
           | contemporary Fast Ram cards were ~100 pounds + ~30 pounds a
           | meg, half the cost of 270 pound Amiga A1200 in 1994. You
           | could argue it still cheaper than PC, lets count.
           | 
           | A1200 bare system PS276 https://archive.org/details/cuamiga-
           | magazine-050/page/n28/mo...
           | 
           | 4-8MB fast ram PS200-400 https://archive.org/details/cuamiga-
           | magazine-050/page/n49/mo...
           | 
           | 340MB PS380 pounds https://archive.org/details/cuamiga-
           | magazine-050/page/n28/mo...
           | 
           | 14 multisync monitor ~PS320
           | https://archive.org/details/cuamiga-
           | magazine-050/page/n52/mo...
           | 
           | ~PS1200-1400. 1994 PS/$ exchange rate 1.55 = $1860-2170. To
           | quote a classic I feel like Im taking crazy pills.
           | 
           | https://www.reddit.com/r/pcmasterrace/comments/7235w0/the_sp.
           | ..
           | 
           | 486dx2-66mhz, 256KB cache, 8MB, 1.44MB fdd, 350MB HDD, SVGA
           | monitor/card, keyboard/mouse. $1840
        
             | tuukkah wrote:
             | Fast RAM is not in the minimum requirements, but I don't
             | remember how 10 FPS compares to Doom.
        
               | vardump wrote:
               | ~8-10 fps is about what this game gets on an Amiga 500
               | without true Fast RAM.
               | 
               | Early 1990s me would have been more than happy with that.
        
               | ChrisClark wrote:
               | > Early 1990s me would have been more than happy with
               | that.
               | 
               | I was happy with 5 fps or less on the gameboy with
               | Faceball 2000.
        
               | Zardoz84 wrote:
               | Back in the day, I was playing DooM 2 on a 386DX 40MHz
               | and was very fine. And Rebel Assault on 14fps. Also, I
               | managed to play DooM 3 on a GeForce 2 MX DDR (using the
               | patch sets to allow it to run on Voodo cards).
        
             | ekianjo wrote:
             | 512k Fast RAM Extension on the Amiga 500 was VERY common
             | back in the days, as many games benefited from it.
        
               | snvzz wrote:
               | >512k Fast RAM Extension
               | 
               | Has never been common on Amiga 500.
               | 
               | Perhaps you mean 512k SLOW RAM Extension.
               | 
               | Or CHIP RAM (after a motherboard solder-jumper
               | adjustment) with the ECS Agnus common in late A500
               | models.
        
             | einr wrote:
             | And after all that, you'd still have a _68020_ under the
             | hood. You could, of course, spend an eye-watering amount of
             | money on a 68040 accelerator... and then... you 're still
             | not going to beat the DX2/66. (Let's not even talk about
             | the performance of AGA versus a local bus SVGA card)
             | 
             | It feels like I've heard _so many_ Amiga users say that
             | they finally broke down and jumped ship when Doom and the
             | DX2 /66 dropped. It really was a gamechanger. Before then
             | it was possible to argue that a '040 Amiga 4000 still held
             | its own against a DX/33 or maybe even a DX/50, but not
             | this.
             | 
             | There were a lot of things that came together to kill the
             | Amiga, mostly Commodore's mismanagement, mismarketing and
             | complacency, but as the final blow to it being a viable
             | computer with a future in the eyes of consumers, I feel
             | like the DX2/66 was it. It would have killed the Mac too if
             | Apple hadn't woken up to smell the coffee a few years prior
             | and had Power Macs ready to go.
        
       | 7thaccount wrote:
       | Graphics look amazing and the game looks fun. I get the feeling
       | the player in the first video has played the game many many times
       | lol.
       | 
       | Are they still making those new Amiga systems implemented on an
       | FPGA?
        
         | ekianjo wrote:
         | The Vampire series? Yes
        
           | 7thaccount wrote:
           | Dang. $750 USD is a lot. Do you own one of the products
           | listed on their site? Is the Amiga scene fun?
        
       | mortenjorck wrote:
       | I love the imaginative, alt-history attention to detail: rather
       | than a derivative clone of Wolfenstein or Doom, this looks like
       | something The Bitmap Brothers might have produced in 1993 if
       | they'd had access to another 30 years of community knowledge
       | optimizing for the Amiga's great-for-2D but not-great-for-3D
       | architecture.
        
         | lttlrck wrote:
         | Yes, exactly this. What a masterpiece.
        
         | thomastjeffery wrote:
         | Look, I don't want to talk down on this beautiful thing...but
         | let's be honest: it's barely more than a doom reskin. It's _not
         | trying_ to be, either.
        
           | badsectoracula wrote:
           | I think the Bitmap Brothers mention is because the 2D
           | graphics feel very Amiga-ish / BB-ish. When i read the
           | comment i wondered "why the Bitmap Brothers reference?" but
           | once i saw the screenshot i thought "ah, i see". Compare the
           | textures/2D artwork of, say, Doom, Duke3D or Blood and then
           | the sprites of something like Chaos Engine, Gods (even the
           | DOS versions) or even some of their 90s PC games like Z and i
           | think you'll see how the visual style of Grind is closer to
           | that of Bitmap Brothers' games than to Doom/Duke3D/Blood/etc.
        
           | whizzter wrote:
           | It's on a Amiga 500, it has about 3 MIPS of performance or
           | about 4x less than a 486sx25 that has about 12 (yes, 68k had
           | a couple of extra registers).
           | 
           | On top of that the Amiga500 graphics chip placed all graphics
           | in bitplanes, that was a great move for just copying 2d
           | graphics in the mid 80s with the help of simple hardware
           | acceleration, but it really became a pain for anyone wanting
           | to do 3d graphics.
           | 
           | To call it a reskin is quite a disparagement of the amount of
           | work they've probably had to put in to get in running
           | decently (unless they figured out a very clever way to make
           | the hardware do a fair chunk of the work for them, kudos
           | either way).
           | 
           | And as others have pointed out, it's that they've chosen a
           | more "amiga-y" artstyle.
        
             | nxobject wrote:
             | My knowledge of the Amiga chipset is _very_ cursory, but
             | peeking at the source code, there are some blitter routines
             | that _look_ like they 're used for texture scaling (i.e.
             | stretching + drawing vertical strips/walls.) I don't know
             | whether that (alone) accounts for the significant speedups
             | needed. A good comparison would be to any bottlenecks the
             | original NeXT engine, which had the 68k, but didn't have
             | any of the accelerators...
             | 
             | https://github.com/Krzysiek-K/Dread-source-
             | drop/blob/master/...
        
               | whizzter wrote:
               | Hmh, browsing a bit it seems that the Dreadtool part of
               | the source seems to be some kind of editor built with
               | Visual C++. The Dreadmake folders seems to have actual
               | Amiga sources.
               | 
               | https://github.com/Krzysiek-K/Dread-source-
               | drop/blob/master/... (This feels reminiscent of the
               | "generate-y-fillers" that ID did for Wolf3d)
               | 
               | https://github.com/Krzysiek-K/Dread-source-
               | drop/blob/master/... (Browsing this reminds me of Fabien
               | Sanglard's Doom/Duke3d walkthroughs)
        
             | thomastjeffery wrote:
             | > To call it a reskin is quite a disparagement
             | 
             | No it isn't!
             | 
             | You just outlined all the reasons that a Doom reskin on the
             | Anus is impressive!
             | 
             | > And as others have pointed out, it's that they've chosen
             | a more "amiga-y" artstyle.
             | 
             | That's great! I wasn't replying to that.
        
           | Zardoz84 wrote:
           | in a Amiga 500! This is amazing!
        
           | vidarh wrote:
           | Consider that Doom is sometimes blamed for single-handedly
           | causing the downfall of the Amiga's position in gaming
           | because of how long it took to get even a half-decent Doom-
           | like game for it, as a result of how badly mismatched the
           | Amiga graphics chipset was for 3D graphics.
           | 
           | That is why is this is impressive.
           | 
           | The number of gamers who switched to PC's _just because of
           | Doom_ was huge. After Doom _everything_ was measured against
           | it for a long time. Even many diehard Amiga fans suddenly
           | decided the game was up and switched.
           | 
           | That your reaction is that it is "barely more than a Doom
           | reskin" demonstrates why it is incredible.
           | 
           | To the extent that if a "barely more than a Doom reskin" had
           | been achieved near the time Doom came out, computing history
           | might have looked quite different (though Commodore was so
           | badly mismanaged at this point that they'd probably still
           | have managed to mess things up even if they'd been handed
           | this kind of reprieve on a silver platter, but one can dream)
        
           | mock-possum wrote:
           | It doesn't have any of DOOM's verticality though - this is
           | far closer to a slightly upgraded Wolfenstein imo
        
         | KingOfCoders wrote:
         | Playing Wolfenstein3D on a friends PC was one of the reasons I
         | thought "It's over for the Amiga" [0]. When talking to
         | Commodore management at conferences back then, they didn't want
         | to see 3D coming [1] (For reference I had a A4000/40 Retina(Z3)
         | around that time).
         | 
         | So it is nice to see this :-)
         | 
         | [0] Both demo scene coders [1] Funnily I was a Sega Saturn
         | zealot around the time too, which was also 100% 2D focused and
         | Sega didn't see 3D coming (Though I loved Panzer Dragoon, a 3D
         | game squeezed out of 2D hardware, and Daytona was great too).
         | And yes there was Starglider2 for the Amiga (Loved the space
         | whales, was recently reminded of them when watching Ahsoka).
        
           | wiz21c wrote:
           | Sega didn't see 3D coming ? What about Virtua Racing (1992!)
           | ?
        
             | KingOfCoders wrote:
             | Yes you're right, my wording wasn't exact. I've meant 3D
             | taking over the home market (and arcade market) and killing
             | 2D plattform games and RPGs. Sega was very successful
             | running "3D" games on 2D hardware (that could scale
             | sprites, like Outrun or Space Harrier). So they were aware
             | of 3D from early on. But they've released the Saturn with a
             | main 2D focus, squeezed out some 3D games (Panzer Dragoon,
             | Nights into Dreams, Tomb Raider, Burning Rangers and some
             | arcade conversions) - the takeover was going on, people
             | realized, with Mario 64 and Wipeout for example - and then
             | added 3D hardware to the Dreamcast. But if they had
             | anticipated the taking over of 3D, the Saturn would have
             | been the Dreamcast (or not, I think my first PC 3D card was
             | a Voodoo and that was after the Saturn).
             | 
             | The first 3D I remember having played was Major Havoc or I
             | robot - so yes there were "real" 3D games in the market,
             | but 3D completly took over the home market, except handheld
             | like the Gameboy/Advanced/DS/... (I think the 2D revival
             | came with the indy developer movement, but I'm not sure).
             | 
             | Also see e.G. the transition from Bards Tale 3D (small
             | window) to Dungeon Master 3D (main window, 3D interaction)
             | and then Ultima Underworld 3D (all in, tilt, up/down) as an
             | example of 3Dification of games and genres.
        
               | anthk wrote:
               | Sega had Scud Race. It had 3D mainly in arcades.
        
               | mojo74 wrote:
               | Ah scud race. I'll never forget finding that machine in a
               | bowling alley arcade and noticing the coin feeder wasn't
               | closed. Surreptitiously opening it to find a little
               | button that could be pressed to automatically add a
               | credit for free each time. That was one Saturday I'll
               | never get back and I don't care.
        
               | hirako2000 wrote:
               | Still quite inexact.
               | 
               | Sega released Saturn as a full fledged, 3D focused
               | hardware. A year before the PlayStation 1 was out.
               | 
               | Some chronological refresher:
               | 
               | Sega had already been successful in making arcade 3D
               | games and were the first to effectively transition true
               | 3D to the home markets with multiple early flagship
               | releases such as Virtual Fighter, beautifully ported to
               | the home console.
               | 
               | The reason not many decent 3D games were shipped on
               | Saturn was not down to the hardware capabilities or goal
               | from sega to embrace expected 3D market demands. It was
               | rather due to the horrific developer experience. It was
               | so terribly difficult to program it, only those at sega
               | were comfortable with it, if that.
               | 
               | Saturn's hardware architecture complexity, having
               | multiple CPUs, and other design aspects prove bad choice
               | as it jeopardised 3rd party game developers productivity.
               | Words were that most games shipped leveraging a single
               | CPU given how obscure dual cpu programming was.
               | 
               | Ironically Sega designed a more powerful machine than the
               | PS1 and got it out a whole year earlier, yet games on PS1
               | were significantly superior. All down to ease of
               | development.
               | 
               | Wipeout was an early game on PS1 and indeed among many
               | other popular games sealed the fact home gaming would be
               | 3D. But sega had already produced a full fledged 3D
               | capable Saturn, they didn't wait to see wipeout in
               | 1995/1996, or Mario 64 another 2 years later. Saturn was
               | capable of running wipeout 2097, metal gear solid, grand
               | tourismo, and other late PS1 games that pushed the ps1 to
               | its limits. But it missed the momentum and studios were
               | not anymore invested in the saturn. Its marketshare kept
               | shrinking.
               | 
               | what the Dreamcast got added was primarily developer
               | friendly features, the rest was simply leaps forward in
               | compute power, especially on the GPU. Bump mapping if I'm
               | not mistaken was supported by the Dreamcast first among
               | home consoles. It was not "added" 3D, for sega that was
               | its 2nd generation of 3D focused hardware, also their 2nd
               | attempt, both ultimately failed for different reasons.
        
               | KingOfCoders wrote:
               | The Saturn had two graphics chips VDP1/VDP2, where on one
               | you could draw (distorted) sprites and on the other large
               | planes e.g. for backgrounds [0].
               | 
               | If you'd implemented a z-Buffer in software you could
               | sort these sprites to draw them in the right sequence to
               | use the distorted sprites as 4-corner polygons to render
               | 3d models.
               | 
               | The Dreamcast added a 3D GPU with the PowerVR2.
               | 
               | [0] https://www.copetti.org/writings/consoles/sega-
               | saturn/#graph...
        
               | phire wrote:
               | You are forgetting the Sega Model 1 and Sega Model 2
               | arcade platforms. So many great 3D games (Virtua Fighter,
               | Virtua Racing, Daytona USA)
               | 
               | Sega's problem wasn't that it didn't see 3D coming. They
               | did, despite the common claims on the internet, the
               | Saturn was designed to be a 3D capable console, with
               | dedicated 3D hardware.
               | 
               | Sega's problem is that they bet on the wrong 3D
               | technology. Like Sega's arcade systems. the Saturn was
               | designed for quads, and could only do forwards texture
               | mapping (which doesn't allow for UV coordinates).
               | 
               | While the playstation went for triangles and inverse
               | texture mapping. It turns out that was the correct
               | direction, and the whole industry settled on that as a
               | standard. All game engines and tooling would assume
               | triangles.
               | 
               | To make things worse, the Sega's hardware 3D
               | implementation wasn't that good even at the techniques it
               | was trying to implement.
        
               | KingOfCoders wrote:
               | "[...] and Daytona was great too"
               | 
               | "You are forgetting [...] Daytona USA"
        
             | broast wrote:
             | As i understand 3D was considered an afterthought for the
             | Sega Saturn, their 1995 flagship console, only adding a
             | separate processor for 3d late into the design. This made
             | the 3d capabilities of the Saturn very hard to program for.
        
         | Razengan wrote:
         | Loved the metallic palettes of the Bitmap Brothers! Speedball,
         | Z (one of the best RTSs), Xenon (one of the best shoot-em-ups)
        
       | kristopolous wrote:
       | I know nothing about this. What's up with the vertical lines for
       | color variations here? Is there some kind of hardware trick why
       | that technique is used?
       | 
       | The last time I wrote a 2.5D engine was over 25 years ago so
       | please be gentle
        
         | actionfromafar wrote:
         | I suspect it's a way to dither with few colors, and possibly a
         | way to render textures very quickly into the Amigas peculiar
         | pixel format. One pixel is not a triplet or bytes, or even a
         | single byte. One byte is 8 pixels!
         | 
         | And that's for monochrome. (Pure black and pure white.)
         | 
         | To have more colors, you add more of these "bit planes" on top
         | of each other.
         | 
         | So if you have say, 32 colors and want to update a single
         | pixel, you have to write four bytes, changing only the _one_
         | bit in every one of these four bytes.
         | 
         | This is not very nice when you try to sweep textures on a
         | 3D-ish mesh.
         | 
         | (But very good for 2D graphics with large chunks bobbing up and
         | down.)
        
           | kristopolous wrote:
           | ah that would explain why the rendering is a bunch of
           | rectangles. Is this a classical vga mode (320x(either 200 or
           | 240) x 256 color)?
        
             | actionfromafar wrote:
             | My guess without looking to closely, it's 32 colors,
             | because that's max what the Amiga 500 could display at a
             | time. Definitely 320x200 something.
        
               | ekianjo wrote:
               | The Amiga could display more colors than that with copper
               | hacks though. Look at Shadow of the Beast.
        
               | z303 wrote:
               | I expect you are correct.
               | 
               | The Amiga (except some early 1000s) also had a Extra Half
               | Brite mode that has 6 bitplanes, 64 colours with the
               | second 32 being half the brightness of the others.
               | 
               | https://en.wikipedia.org/wiki/Amiga_Halfbrite_mode
               | 
               | The extra data fetching does slow things down.
               | 
               | https://eab.abime.net/showthread.php?t=102990#:~:text=And
               | %20....
               | 
               | The panel at the bottom looks like it uses the copper to
               | have a different palette to the rest of the screen. That
               | is a very common effect.
               | 
               | https://codetapper.com/amiga/sprite-tricks/shadow-of-the-
               | bea...
        
               | vardump wrote:
               | Other than using copper to change palette entries at
               | desired scanlines, Amiga 500 can display 64 colors in EHB
               | (Extra Half Brite) mode with 6 bitplanes. Since there are
               | only 32 palette entries, the upper 32 colors are
               | otherwise same, but half the brightness.
               | 
               | And of course 4096 in HAM mode, but the mode has severe
               | limitations and is completely impractical for textured
               | 3D-games.
        
               | actionfromafar wrote:
               | Well. Have a look at this:
               | 
               | https://www.youtube.com/watch?v=wbWGAFIkA5E&list=PLRdmatu
               | CYA...
               | 
               | https://youtu.be/SXmGGiZ-ttY?t=39
        
               | gpderetta wrote:
               | Well, it is impressive for sure, but it on an emulated
               | 060.
        
               | vardump wrote:
               | I'm speechless.
        
           | vardump wrote:
           | > ...32 colors and want to update a single pixel, you have to
           | write four bytes...
           | 
           | A small correction, you have to write 5 bytes (or 16-bit
           | words, same performance).
           | 
           | 4 bytes changed gets you only 16 colors.
        
         | pornel wrote:
         | It's probably doing two things:
         | 
         | 1. simulates texture filtering and dithering hiding low
         | resolution and low number of colors in textures, and
         | 
         | 2. renders two or four columns at once.
         | 
         | Amiga had planar graphics, which did not support setting
         | individual pixels. To set a pixel you'd have to set appropriate
         | bit in up to 6 bytes (64 colors max) scattered around in
         | memory. Writing one byte modified one _bit_ of 8 adjacent
         | pixels, which was terrible for textured 3D graphics.
        
         | JD557 wrote:
         | I was ondering about it as well, and it appears to be explained
         | in detail here: https://www.youtube.com/watch?v=c00B3uE5FV8
         | 
         | I think it's a similar technique to Sonic 3D's Intro FMV on the
         | Genesis/Megadrive
         | (https://www.youtube.com/watch?v=VTawyLNoRhU).
         | 
         | The original image is squashed vertically, so that you only
         | compute half the pixels and then you stretch it back up. When
         | you do this, you can't have the usual dither patters, so you
         | end with something like this (unless you cheat shift every
         | other line, like in Sonic 3D, but then you have dither patterns
         | everywhere).
        
           | bogantech wrote:
           | A later video expands on this too: https://www.youtube.com/wa
           | tch?v=y9fQw1W22i8&list=PL-3inz2kpS...
        
       | bee_rider wrote:
       | Did the Amiga 500 have better graphics than the PCs of the early
       | 90's? Because those graphics look a bit better than Wolfenstein
       | 3D.
        
         | dabeeeenster wrote:
         | Yeah they did at the time for sure. When the A500 was released
         | PC games were generally CGA/EGA. The A500 was way ahead of its
         | time, especially when you account for how much they cost.
        
           | bee_rider wrote:
           | What really impressed me is that I was born around the same
           | time as the A500 but I remember playing PC games that looked
           | worse than this, hahaha.
           | 
           | Part of it is surely that I was using hand-me-down PCs and
           | there was probably some time lag on the games that my dad
           | would get through the sneaker-net.
           | 
           | The art style is also really solid and modern which I'm sure
           | helps hide some of the limitations.
        
           | markmark wrote:
           | Around the time I got my A500, my neighbour's dad bought a PC
           | that ran California Games in CGA at about one frame per
           | second. I'm sure there were much better PCs available, but it
           | didn't impress us kids much. They _did_ have Leisure Suit
           | Larry though...
        
         | actionfromafar wrote:
         | Yes and no. It's complicated. For textured 3D games, even with
         | 256 colors, the PCs with VGA were better. Wolfenstein catered
         | to EGA, with 16 colors.
         | 
         | For smooth frame synced 2D games (no lag, no jitterynes, no
         | tearing) Amiga was hands down better, but those kinds of games
         | were falling out of style in the early 90s.
        
           | spitfire wrote:
           | Wolfenstein was mode 13h 256 VGA colour.
        
             | quadcore wrote:
             | Certainly it was mode X rather.
        
               | polpo wrote:
               | Just looked at the Wolf3D source (https://github.com/id-
               | Software/wolf3d/tree/master/WOLFSRC) - it uses VGA in
               | unchained mode but still at 320x200. So not exactly Mode
               | X, but "Mode Y".
        
           | mysterydip wrote:
           | You may be thinking of catacomb 3D, which was a predecessor
           | and EGA
        
         | HappyDaoDude wrote:
         | For 2D stuff definitely, but that was because of some neat
         | dedicated graphics processor and a fixed platform for
         | developers to target. The Amiga range in that sense was WAY
         | beyond others in terms of audio/visuals when it came out. In
         | that sense it was closer to the home consoles than a typical
         | PC.
         | 
         | It led to the odd situation where you had PC's that had these
         | killer CPU's but everything else about the system was holding
         | them back. The Amiga had an average CPU (8Mhz 68K) but
         | everything else was picking up a lot of slack.
         | 
         | As for this example, this is exceptionally good for the Amiga.
         | I don't recall there being anything even remotely close to this
         | in its time. Hackers are just gonna optimise way beyond reason
         | and I love it.
        
           | VWWHFSfQ wrote:
           | Are hackers optimizing? Or are they writing the same code
           | they always did but now code-generation targeting these
           | platforms is optimizing?
        
             | ekianjo wrote:
             | Optimization and hardware tricks
        
             | alxmdev wrote:
             | Tooling and code generation improvements no doubt help a
             | lot, but IMO those improvements must be coupled with
             | creative manual optimizations in order to get something
             | like this out of a platform that was tailored for
             | rectangular 2D bitmaps.
        
               | VWWHFSfQ wrote:
               | It's extremely impressive in any case.
        
             | tuukkah wrote:
             | There isn't much the compiler can optimize on such a simple
             | CPU as the m68k when the source is simple C or hand-
             | optimized assembler code to begin with.
        
               | mike_hock wrote:
               | Contemporary compilers definitely do a lot of CPU-
               | agnostic optimizations that ye olde compilers weren't
               | capable of. The only new CPU features that fundamentally
               | change this are vector instructions, and compilers still
               | suck at autovectorization.
        
               | gpderetta wrote:
               | Contemporary compilers are "optimized" to optimize for
               | superscalar, fully pipelined, out of order cpus with
               | plenty of ram and caches. Literally nothing in common
               | with a 68k. Also modern compilers wouldn't even know how
               | to produce code for the amiga coprocessors.
               | 
               | This engine very likely is written in hand optimized,
               | clock-exact, asm.
        
             | wk_end wrote:
             | This was almost definitely written in asm, no code
             | generation involved.
        
             | tom_ wrote:
             | They are optimizing, probably. Thanks to the internet,
             | knowledge sharing is substantially simplified compared to
             | the 1990s, and it's massively easier to find people to
             | collaborate with. Hard to understate how difficult it was
             | to find useful info back in the day.
             | 
             | Additionally, anybody that grew up coding on the Amiga has
             | had 30, 35 years to think about it since! - and they are
             | probably still young enough (or, more accurately, probably
             | not yet properly old enough...) that time has, for now,
             | added more to their abilities than it has taken away.
             | 
             | And: modern PCs are ridiculously fast! A table or routine
             | that would have taken your Amiga days to produce, even
             | assuming you'd have considered the idea feasible in the
             | first place ("b-but - you'd need a temporary 512 MByte
             | table for that!!") can be generated in 5 minutes with some
             | python code on your 10 year old laptop.
        
           | Zardoz84 wrote:
           | The IBM PC (and clones) at the time of launch of the Amiga
           | 500, had at best an 80286 at 6 to 12Mhz . I would call it
           | roughly equivalent CPU with the 68000 at 8Mhz (16 bit
           | segmented addressing vs 16/32bit hybrid with planar ram
           | addressing)
        
         | ekianjo wrote:
         | Until Wing Commander came out, mostly yes.
        
         | bluescrn wrote:
         | The Amiga really struggled to handle Wolfenstein/Doom clones
         | due to the layout of it's video memory making if even harder
         | for the already-slow CPU. The chips that made it great at 2D
         | games held it back at 3D.
         | 
         | This new engine is an absolute masterpiece of Amiga coding. The
         | many mid-90s attempts to do similar things tended to need more
         | powerful Amigas (at least an A1200, preferably with an 030 or
         | better accelerator card and extra RAM) for less impressive
         | results.
        
           | johnnyworker wrote:
           | more info:
           | http://oldwww.nvg.ntnu.no/amiga/amigafaq/AmigaFAQ_16.html
        
         | bitwize wrote:
         | The Amiga smoked PCs when it came out. PCs didn't really come
         | into their own until the 486 became commonplace, but once it
         | did the Amiga was struggling to keep up, games-wise. For
         | example, the PC port of Mortal Kombat was the most arcade-
         | accurate home port of any system. The Amiga port was nearly,
         | but not quite, as good.
        
         | simne wrote:
         | Yes and no. PCs from beginning was very simple business
         | machines, for accounting, but later benefited from free market
         | and cheap clones.
         | 
         | As for me, VGA was wonder, I now think from marketing
         | considerations, PCs way was to make Super-EGA, with little
         | colors, but high resolution. But, sometimes wonders happen.
         | 
         | Amigas, or to be more exact, Commodore computers, from
         | beginning made as home computers, with decent integrated
         | graphics and sound.
         | 
         | Unfortunately, Amiga parent company was very aggressive against
         | clones, and from what I hear, was not effectively managed (or
         | may be, just tried to made too complex architecture). So after
         | some time, initial superiority was lost, and PCs not just
         | dominated market, but also, once become better technically
         | (because of constant competition on free market).
         | 
         | Approx after 1987-middle 1990s, Amiga become technically lagged
         | behind forever, then parent company bankrupt and now, each
         | year, Amigas become more history artifacts.
        
         | badpun wrote:
         | Notice the large black borders around the gameplay area. That's
         | due to hardware being too weak to render the game on entire
         | screen.
        
       | aidos wrote:
       | This is not how I remember games on the Amiga. Having said that,
       | I loved the games and graphics on the Amiga. It just felt like a
       | beautiful visual experience.
        
       | pornel wrote:
       | Back in the day Cytadela (Citadel) has been the first and
       | probably the only Wolfenstein clone supporting Amiga 500:
       | 
       | https://youtu.be/BpiqAN8URAU?t=376
        
         | nathell wrote:
         | There was also Ubek, but it required a 68020.
         | 
         | https://www.ppa.pl/gry/ubek.html
        
       | cyberax wrote:
       | Want something to blow your mind?
       | 
       | Here is a 3D FPS on ZX-Spectrum:
       | https://youtu.be/tiV8ZPmmoJI?t=106 or
       | https://youtu.be/3v7cFGneuaw?t=66
       | 
       | This is running on a computer with a 3.5MHz CPU, no hardware
       | multiplication, and only 48K of RAM.
        
         | Findecanor wrote:
         | "Just" a demo with no enemies, but on a Commodore 128:
         | https://youtu.be/1tDflgqJlTw
        
           | ruk_booze wrote:
           | It is originally from the C64 demo "Andropolis" by Booze
           | Design and Instinct. Coded by Andreas Larsson, the guy/genius
           | who ported Eye of the Beholder to the C64.
           | 
           | Here is the same thing in turbo mode on an Ultimate 64:
           | 
           | https://youtube.com/shorts/fF2IXTwWDPQ?si=ds5-5Kwm95Zj2vtf
           | 
           | And with no vsync:
           | 
           | https://youtube.com/shorts/hvmNnwz7ENQ?si=mDVQLWx3T8hnrbuC
        
         | pbj1968 wrote:
         | Once people know something is possible with video games, they
         | tend to imitate it fairly well across platforms. I like to use
         | Street Fighter 2 as an example... good ports on PCE, SNES,
         | Genesis.. and surprisingly decent bootlegs on NES and others.
         | But until it hit arcades, there was nothing else like it.
        
         | bgeeek wrote:
         | No, it's a 128. The obvious giveaway being the audio.
        
       | malfist wrote:
       | This is different than Grindr, a couch co-op shooter
        
         | sgt wrote:
         | Shoot-em in.
        
         | lizardking wrote:
         | Reddit is that way, sir
        
       | bartread wrote:
       | Oooooooookay, so I'm not about to do this down, because I think
       | it's awesome, but I do think it's time for a little more up-front
       | transparency here.
       | 
       | When I clicked through and hit play on the first video I braced
       | myself for the worst framerate in human history and/or a tiny
       | viewport, and so my jaw briefly dropped when I was greeted with
       | neither of those. The game is basically fullscreen and runs
       | great: a perfectly respectable (for the time - I know a lot of
       | you will moan about games that don't run at a constant 60fps but,
       | man, maybe you don't know what it was like back then) 25 - 30fps,
       | and a frankly amazing framerate for the Amiga. Plenty of 2D games
       | couldn't have reliably held that and just forget it for any kind
       | of 3D.
       | 
       | Then my rational mind kicked in with, "There's no effin way
       | that's running on an A500 with a stock 68k CPU running at
       | 7.16/7.09MHz."
       | 
       | And, sadly, I'm right: there is no effin way. The footage was
       | recorded from an A1200 with a stock 68020 running at 14MHz. The
       | graphics are OCS compatible, and I've no doubt the engine is
       | caning the OCS blitter to within an inch of its life, so it looks
       | exactly the same as it would on an A500, but you ain't getting
       | that kind of framerate without more horsies than the A500's 68k
       | can supply.
       | 
       | With that being said, the game runs at 10 - 12 fps on a stock
       | A500 with 1MB RAM (512K chip + 512K fast, so you need the 1.3
       | ROMs and the Fatter Agnus), which is still incredibly impressive.
       | For a lot of solid polygon 3D games back in the day - think
       | F/A-18 Interceptor, F-19 Stealth Fighter, and even games like
       | Starglider 2 - drops to single digit framerates if not exactly
       | the norm, were certainly commonplace (I remember F-19 being
       | particularly bad for this). I seem to remember the Amiga version
       | of Elite held a pretty decent framerate but, to be fair, the
       | polygon count was very low, and it had a pretty small viewport.
       | By comparison with these games, the Grind visuals, at 10 - 12
       | fps, on a bog standard A500 with an absolutely era appropriate
       | amount of memory are nothing short of extraordinary.
       | 
       | If, in 1990 - 1993, or even after I'd first played DOOM on a
       | mate's dad's 486SX in summer 1994, you'd shown me Grind running
       | on my Amiga 500 at 10 - 12 FPS I would probably have fainted or
       | jizzed myself or something equally ridiculous. It would have
       | literally blown my mind.
       | 
       | Incredible work.
       | 
       | EDIT: Is it me or is the shotgun sound effect a slightly edited
       | version of the DOOM shotgun sound effect? Not complaining,
       | because it's an awesome sound, but just wondering if others are
       | hearing the same thing I am.
        
         | snvzz wrote:
         | >a stock A500 with 1MB RAM (512K chip + 512K fast)
         | 
         | Not Fast RAM, but Slow RAM.
         | 
         | Fast RAM is exclusive to the CPU. On A500, it needs to be on
         | the CPU socket, or on the left expansion port.
         | 
         | Trapdoor RAM, as in the common 512K expansion, can only be Slow
         | or Chip.
         | 
         | Slow because the chipset can block access to it, but can't
         | access it itself.
         | 
         | Chip on newer A500 boards with ECS Agnus, after a small
         | motherboard jumper mod.
        
         | prvc wrote:
         | >There's no effin way that's running on an A500 with a stock
         | 68k CPU running at 7.16/7.09MHz.
         | 
         | Could you be specific about the envelope math used to arrive at
         | this conclusion? What are the essential bottlenecks?
        
       | DennisL123 wrote:
       | In the nineties this would have saved the entire platform.
        
         | bluescrn wrote:
         | Nah, might have helped give it a bit more life for another year
         | or two, but even if the Amiga (and Commodore) survived the era
         | of Doom (386/486s), it was never going to survive the arrival
         | of Quake and Pentiums, let alone the arrival of GPUs that was
         | to follow shortly after.
        
           | vidarh wrote:
           | The thing is, Commodore might have been as little as months
           | away from getting the next gen chipset to production if
           | they'd had just a bit better sales through '92 and '93. They
           | were producing samples '92 onwards but struggled to afford
           | iterations.
           | 
           | They were mismanaged enough that they might well have failed
           | to leverage that and just failed a year or two later as you
           | said, and it might very well be that even the best case of
           | completing AAA[1] would just have bought them another extra
           | couple of years.
           | 
           | But Commodore had faced crunches like that several times and
           | survived and bounced back massively. So who knows what things
           | might look like if AAA had gone to market (with chunky
           | graphics modes, and massively increased memory bandwidth) and
           | bought them enough sales and by extension time to complete
           | the next-iteration - Hombre[2] - as well.
           | 
           | Though Hombre was based on PA RISC, so might well have ended
           | up being the death-knell instead a bit later. Though their
           | "backwards compatibility" story for it was based on options
           | of either a "classic Amiga on a chip" or emulation, so maybe
           | they'd have gotten to a sufficiently CPU agnostic position to
           | be able to make further architecture switches survivable.
           | 
           | It's fun to speculate.
           | 
           | I'm a bit of two minds about it - I'd have loved the Amiga to
           | have survived longer - I still miss it -, but I'm unsure if
           | I'd have liked the direction Commodore would have taken it in
           | with Hombre (which was being designed to also run Windows
           | NT... _Shudder_ ). It's easier to have nostalgia when later
           | iterations haven't ruined the original experience...
           | 
           | [1] https://en.wikipedia.org/wiki/Advanced_Amiga_Architecture
           | _ch...
           | 
           | [2] https://en.wikipedia.org/wiki/Amiga_Hombre_chipset
        
         | bemmu wrote:
         | It's wild to me that now people are making something like this
         | just for fun, while if this had actually been released at the
         | time it would have been a best-selling game.
        
       | kapitanjakc wrote:
       | getting Doom vibes...
       | 
       | Looks nice GG
        
       | simne wrote:
       | From PC perspective, very unusual view, when control panel is
       | rendered much better than game itself :)
       | 
       | - Looks like Mona Lisa paint in 8 bit, but it's frame is 16 bit.
        
         | leidenfrost wrote:
         | I'm sure it looks miles better with a CRT
        
       | dansalvato wrote:
       | Fellow Amiga game dev here. The Amiga dev scene is alive and
       | well, and I feel like these past five years especially, we've
       | seen some mindblowing stuff on the platform.
       | 
       | If you haven't seen any recent Amiga demoscene entries, you're in
       | for a treat. I'm tempted to share a whole list of demos, but here
       | is a particularly amazing one released earlier this year that
       | runs on a stock A500: https://www.youtube.com/watch?v=2jciCr8zEhw
        
         | postmodest wrote:
         | Are people doing this on vintage hardware or new hardware? (Or
         | emulation?)
        
           | qingcharles wrote:
           | If I was doing it (as an ex demo coder) I would do as much as
           | I could in emulator to make my life easier and then test it
           | on the hardware and hope for the best. Demo coding is one of
           | those annoying things where real hardware is absolutely
           | essential because you are often doing things which aren't
           | properly emulated.
           | 
           | This demo didn't impress me that much, I was actually hoping
           | for more. Maybe I've just forgotten how underpowered the
           | Amiga OCS was for things like this? Second Reality by Future
           | Crew on the PC is still my #1.
        
             | actionfromafar wrote:
             | The Amiga 500 is _extremely_ well emulated by now though.
        
             | sirwhinesalot wrote:
             | A 33 MHz 486 CPU (the recommended spec for Second Reality
             | to run smoothly) is MUCH more powerful than the 7 MHz 68000
             | of the A500... It's not just nearly 5 times faster, the 486
             | is way more cycle efficient, not to mention having a nice
             | byte-addressable bitmap screen to draw into (vs 2-6
             | separate bitplanes).
             | 
             | So yeah you forgot how underpowered OCS Amigas are :)
        
               | Narishma wrote:
               | That's just the CPU though. The Amiga has a bunch of
               | custom chips for doing things you would have to do on the
               | CPU in a PC.
        
               | Flow wrote:
               | For this Amiga demo it's mostly just the sound mixing the
               | hardware handles. On a PC, mixing a couple of sound
               | channels is pretty quick.
        
               | sirwhinesalot wrote:
               | The Amiga hardware doesn't really help much with 3D
               | effects, which the demo is loaded with. Audio is a big
               | help for a 68000 but a 486 can mix 8 PCM channels and not
               | even notice.
        
           | dansalvato wrote:
           | I believe a number of the devs who have been around for
           | decades are still writing actual code with their preferred
           | tools that run on Amiga. But I wouldn't be surprised if even
           | there, most of the coding is being done in emulator, because
           | the modern workflow is so much snappier that way.
           | 
           | However, the cross-platform build stack has gotten
           | comprehensive, and straight modern hardware has become the
           | method of choice for a lot of devs (including myself). There
           | is an "Amiga Assembly" extension for VS Code which does a ton
           | of heavy lifting for you, including setting up the build
           | tools, and even grabbing a fork of the emulator that has DAP
           | support so you can use VS Code's built-in debugger.
           | 
           | I personally use Neovim and a couple plugins for syntax
           | highlighting and DAP support. As part of my build process, I
           | run Python scripts which convert images and SFX to Amiga-
           | friendly formats and assemble them into a custom binary file.
           | I can't imagine how long that would have taken me to set up
           | in an Amiga-only environment--Python is just too convenient.
           | 
           | I think a lot of what you see possible on Amiga today is
           | thanks to modern tools allowing for very rapid iteration as
           | well as some crazy preprocessing for effects that depend on
           | lookup tables, etc.
        
             | livrem wrote:
             | FreePascal still has official support for creating Amiga
             | binaries. I never tried it since I have no idea about how
             | Amiga development works in general, but I tried FreePascal
             | a bit for other systems and it seems pretty good
             | (underrated?) (both the language and the compiler; fast,
             | low on bloat, mostly safe memory, huge standard library).
        
         | jonahx wrote:
         | So beautiful.
         | 
         | To be clear, this is a trailer/demo and not an actual game you
         | can play?
        
           | popmilo2 wrote:
           | This is a fully playable game on real hw :)
        
           | tetris11 wrote:
           | That while 8 main demo was the whole game. I've not seen any
           | other gameplay videos for it.
        
           | dansalvato wrote:
           | Correct, the demo I linked is a non-interactive audiovisual
           | demo that is designed to show off the leet coding and
           | artistic skills of the team. ;) The OP is a fully-playable
           | game, though.
           | 
           | When designing a game, you probably have to code a game
           | engine that has certain capabilities and certain restrictions
           | that persist through the entire game. But for these demos,
           | you can write an entire isolated program that runs one
           | 15-second visual effect before flushing it out and loading
           | something totally different for the next effect. The effects
           | are also usually designed with a lot of tricks that make them
           | inflexible (like preprocessed data tables) and usually also
           | take up every CPU cycle available, leaving none for stuff
           | like game logic.
        
         | wernsey wrote:
         | Any pointers on getting started?
         | 
         | I was fascinated by the Amiga when I was young, but they
         | weren't widely available in my country.
         | 
         | Lately I've had an itch to do some retro programming work and
         | was looking at the Amiga specifically. I tried Aztec C natively
         | in UAE and VBCC as a cross-compiler, and got some command-line
         | and hello world Intuition programs working.
         | 
         | But going beyond that has proven somewhat difficult.
         | Documentation seems to be scattered all over the internet. I
         | found a bunch of books on archive.org, but they mostly seem to
         | focus on Intuition applications or beginner programmers.
        
           | quincunx wrote:
           | I don't think you can follow the path originally trodden
           | (competing on asmone 68K/hw with your fellow local coders,
           | exchanging snippets of hw reg info and source) however
           | there's a terrific short series of videos on youtube you
           | might consider:
           | 
           | https://www.youtube.com/@WeijuWu
           | 
           | Wei-ju Wu lays out how to code directly on the hardware in an
           | accessible manner and, importantly, from C, instead of 68K,
           | with lots of examples. Then, if (or rather: when) you have
           | to, you can always step down a level into 68K assembly to get
           | better performance.
        
         | ilvez wrote:
         | This is truly amazing. I've always adored demoscene, but not
         | done anything other than consume, so I would appreciate more of
         | those demos here if you can share some highlights of recent
         | times.
        
           | dansalvato wrote:
           | Certainly! Here are some of my personal favorites from recent
           | years. These all run on a stock A500 (with the ubiquitous
           | trapdoor memory expansion).
           | 
           | https://www.youtube.com/watch?v=iD9xk3SDSYc
           | 
           | https://www.youtube.com/watch?v=_wpXOsEm7M0
           | 
           | https://www.youtube.com/watch?v=E0OzX7plbeY
           | 
           | https://www.youtube.com/watch?v=rIV4AhfugIs
        
       | scrame wrote:
       | man, I remember the "chunky vs planar" usenet megathreads when
       | DOOM came out, amazing that it's still producing results 30 years
       | later. I miss my old A500, but not slip/ppp, x/y/zmodem downloads
       | and the terrifying floppy checksum errors.
        
         | blue1 wrote:
         | In the last years I remember also using ftp (and its now-
         | forgotten relative fsp)
        
       | dalant979 wrote:
       | You can find great videos documenting development of the "Dread"
       | engine (which this game is based on) here:
       | 
       | https://youtube.com/playlist?list=PL-3inz2kpSUPGYZwBUAbJjaj-...
        
       | finnjohnsen2 wrote:
       | I bought an Amiga 500 about 10 months ago. Haven't touched one
       | since way back when (89-90?).
       | 
       | If you are considering doing the same, I recommend going to
       | YouTube and look up two keywords: PiStorm and FS-UAE. These two
       | allow me to prepp a hard-disk image in emulation on my PC,
       | transfer the image to a rPi inside the Amiga and mount it. My
       | Amiga 500 now boots a workbench with all the things I was looking
       | for.
       | 
       | I also bought a new case and keys, because the Amiga was very
       | yellowed. And a new power supply because the old one looks like
       | it wanna burn my house down
        
       | darkwater wrote:
       | I wonder how many people working on the Amiga scene were not even
       | born when Amiga was in its best days.
        
         | finnjohnsen2 wrote:
         | Judging from Amiga retro channels on youtube, they all look
         | like GenX-ers to me. I suspect nostalgia drives you to this,
         | not because these are particularly interresting machines today.
         | (shots fired, I know)
        
           | royjacobs wrote:
           | This is true for the demoscene in general, as well. Not
           | completely, thankfully, but it seems like that it is becoming
           | even more niche than it already was.
        
       | beezlewax wrote:
       | This kind of reminds me of Quake stylistically. A series that
       | took a wrong turn after the first one.
       | 
       | More sequels in the style of the first one would have been
       | amazing.
       | 
       | The visuals here though are lovely. Well done to the team
        
       | junon wrote:
       | Wow this is beautiful. The artwork rivals even modern retro
       | games.
        
       | stuaxo wrote:
       | The artwork really works with the engine - everything looks a bit
       | grimy and muddy which means the vertical stripes you get as part
       | of the implementation fit in really well.
        
         | skywal_l wrote:
         | The sound, animation and gameplay is also great. I love the
         | sound of the machine gun starting and stopping when the
         | character get in the line of sight of the enemy. Great
         | attention to detail.
         | 
         | I kind of wish they port it to PC !
        
       | bluedays wrote:
       | Not to be confused with grindr.
        
       | sixQuarks wrote:
       | I'm assuming this game would have worked in the original console.
       | 
       | Imagine if this game was released back then. It would absolutely
       | blow everyone's mind.
       | 
       | Now think what's possible on a PS5, someone 30 years from now
       | will create an awesome retro game for it
        
       ___________________________________________________________________
       (page generated 2023-10-12 21:01 UTC)