Top
Best
New

Posted by sklopec 6 days ago

Making Graphics Like it's 1993(staniks.github.io)
952 points | 160 commentspage 7
perfect_wave 6 days ago|
[dead]
RishiByte 5 days ago||
[flagged]
jadecarter68 4 days ago||
[dead]
WhoAteSnorlax 5 days ago||
[dead]
tobadzistsini 6 days ago||
[flagged]
akoboldfrying 5 days ago|
I'm tempted to call people who get upset over harmless pronoun jokes "human garbage", but the truth is that would be overkill. "Irksome" covers it.
mg794613 6 days ago||
There is nothing wrong with using AI.

What I don't like is to see claims like "no AI slop"

And yet it's riddled with emdashes and language "by hand"

Seeing the skills of the writer, he definitely should be able to, but then I don't understand the claim.

engcoach 6 days ago||
We're getting to the point that building something with AI doesn't really indicate skill. So, for a prestige project, there is great value in avoiding AI use.
ch_sm 6 days ago|||
I don’t know. Em-dashes are normal punctuation. The prose on the site doesn‘t strike me as particularly AI-y, but of course I might be wrong. Generally speaking, if the person wants to not use AI and tell people that, thats fine by me too.
Supermancho 6 days ago||
From the article they list a bunch of arbitrary constraints...

> If this sounds unreasonable to you, that is because it is.

Those listed, are tame. I don't understand this kind of faux modesty.

> My goal was to build a complete, shippable first-person shooter using techniques that were common in the early 90s

Goes on to explain how they used 3D blender...which wasn't available until 1998.

A vanity cat project being tailored and submitted for nostalgia clickbait. I don't think there's anything useful to take away from this other than some color shade selection ideas.

mrob 5 days ago|||
>Goes on to explain how they used 3D blender...which wasn't available until 1998.

In the early 90s, there was enough money in this kind of software that you could have hired a specialist 3D artist to use the software that was available at the time, e.g. LightWave 3D. When it's only a single-person project, I think it's reasonable to stick with what you know.

dan-g 3 days ago||||
> Goes on to explain how they used 3D blender...which wasn't available until 1998.

You conveniently left out the second part of that sentence:

> … modern compiler and a platform abstraction layer.

The author very explicitly laid out their constraints in a bulleted list right below; I think calling this nostalgia clickbait is infelicitous at best.

ogurechny 5 days ago||||
You look like you are completely unaware of the wave of big and small early nineties games that used flat shaded 3D renders for art, sprites, and full motion video segments. Unlike fully textured polygons, they could be rasterised quickly on older or entry level Silicon Graphics workstations (or cheaper alternatives, but with more sweat). It was one of the distinctive styles of that era.
2000UltraDeluxe 4 days ago|||
Plenty of 3D tools available for consumer hardware in the 90's; the CGI for the first seasons of Babylon 5 was rendered on Amigas.
xyzsparetimexyz 6 days ago|
It'd be more interesting if you made a similar looking game using modern APIs imo
sklopec 6 days ago|
How so? Doing this with modern OpenGL would be much simpler than the software rasterizer solution.

I think I'm gonna have to do it anyway, because some players claim they get nausea when playing at such low resolution (320x240), and the only way to give them higher resolutions that perform reasonably is to have it hardware accelerated.

Renderer is abstracted away already, but the real difference would probably be occlusion culling... With raycasting, I get it for free, but if I'd go down the hardware accelerated path I'd have to pick something more clever.

Raycasting and software rendering in general tends to scale poorly with resolution, even with vectorization and all the bells and whistles of modern CPUs.

badsectoracula 6 days ago|||
Unless you plan on rendering the level on some very retro hardware (think S3 Virge, maybe Voodoo 1) you can render the entire level in OpenGL with just zbuffer and alpha tested sprites and it'll run perfectly fine - if anything with such low polycount, chances are you're going to make the renderer slower by trying to do occlusion culling on any GPU released in the 21st century :-P. If you pack the geometry in a few vertex buffers (for each unique texture) even per-frame, you'll get four digit FPS in any relatively modern GPU.

As an example this[0] video shows the benchmark from Post Apocalyptic Petra running on my previous GPU (RX 5700 XT) which all it does is build a per-frame (client-side) vertex-buffer in OpenGL 1.1 (the engine was made for actual retro PCs running DOS and Win9x so it does some rudimentary occlusion culling but that mainly affects 90s hardware, not anything released since 2000 or so). If anything, the rendering has so little overhead that half of the framerate is "eaten" by the FPS counter overlay :-P.

[0] https://www.youtube.com/watch?v=64ysz5rXkzw

sklopec 6 days ago|||
That's really cool.

Thinking about modern games, a single character model probably has more vertices than my entire level (and yours probably), so it's definitely reasonable to expect occlusion culling for such simple geometry might actually reduce performance rather than increase it.

badsectoracula 6 days ago|||
Yeah, even this model[0] i made a few years ago for a game i wanted to make for the OG xbox (which has a GeForce3-like GPU) has ~2230 triangles and the entire first level of Post Apocalyptic Petra is ~5800 triangles, so you could say that even a turn of the century 3D character has more or less the same polycount as an entire 90s level (the game i wanted to make would have many characters on screen so i kept the polycount low but i've heard games having 5-6K character or more - e.g. Kingdom Under Fire had ~10K triangles for the main character and a game like Dead or Alive where there are few characters on screen had 15-20K triangles).

Meanwhile more current games have much higher polycounts, easily going above 100K triangles - e.g. Dante from DMC5, a ~7 year old game, apparently has ~190K triangles and that had to run on the more anemic PS4/XBone hardware :-P (though i'm not sure if it used the full 190K model there or some cut down version).

[0] http://runtimeterror.com/pages/iv/images/1073c7062db40837240...

trumpdong 6 days ago|||
I rendered some Source engine levels on a shitty laptop in 2012ish and they still rendered at perfectly acceptable FPS (30+) just by rendering all the geometry in the level in one shot.
pjc50 6 days ago|||
The synthesis technique would be to build the DOOM-style BSP tree and then construct a bunch of meshes for use depending on which portal space you're currently in, but .. as you say, you don't need to do that because it's at most a few hundred polygons.
xyzsparetimexyz 6 days ago|||
Sure, but it becomes a question of how far you can push things. Maybe you raytrace the whole thing. Maybe there's some fractal geometry going on. Maybe you use a fisheye lens projection. Maybe your levels are dynamically tesselated. Maybe you have to do a few fancy tricks to achieve equivalent texturing etc.

But ignoring the GPU you have on your system is boring

jonoxtoby 6 days ago||
Writing a retro-inspired game using retro approaches despite all the modern options is precisely what makes this interesting.