Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
ant

Doom Rendered in TEXT - 1337D00M | Nostalgia Nerd

Recommended Posts

Well, however, judging from that video, it's just drawn in the style of character displays, but it's still using a graphics engine. In other words, it's not really something that would go in a simple MS-DOS prompt or terminal.

 

Didn't SMMU (Eternity's predecessor) have a text mode which did just this -- render the game in the terminal (or MS-DOS prompt) as colourful characters?

 

Aren't there wrappers over SDL (the most common Doom port graphics library) which instead of pixels, they render the game over the terminal?

Share this post


Link to post

When he showed it in the Impossible mode with Monochrome, it was actually incredibly easy to see what was going on just by unfocusing my eyes and sort of half-crossing them.

I could probably beat the game like that, though I'd need a break since my eyes would probably be spinning to the back of my head by then.

Share this post


Link to post
10 hours ago, printz said:

Didn't SMMU (Eternity's predecessor) have a text mode which did just this -- render the game in the terminal (or MS-DOS prompt) as colourful characters?

 

Aren't there wrappers over SDL (the most common Doom port graphics library) which instead of pixels, they render the game over the terminal?

Yes it did. It seems to only use the gradient characters ( ░▒▓█) though so the colors are clearer but the number of total colors is lower. I can't seem to get the "high resolution" 80x50 mode working in DOSBox, which would help a lot.

 

On Linux, most source ports should allow you to use the libcaca library to render Doom. I know Chocolate Doom does, but I haven't tested anything else.

Share this post


Link to post

This is really cool, i wonder if there's a actual thing that is not able to play doom? 

Share this post


Link to post
47 minutes ago, Marlamir said:

This is really cool, i wonder if there's a actual thing that is not able to play doom? 

If Doom can run on a printer, then it can run on any machine.

It's sad because this still sounds alot better than the 32X soundtrack.

 

Share this post


Link to post
20 hours ago, Spie812 said:

Yes it did. It seems to only use the gradient characters ( ░▒▓█) though so the colors are clearer but the number of total colors is lower. I can't seem to get the "high resolution" 80x50 mode working in DOSBox, which would help a lot.

 

On Linux, most source ports should allow you to use the libcaca library to render Doom. I know Chocolate Doom does, but I haven't tested anything else.

Yes, this, and that, are very cool, indeed! Regarding the characters used, there's a few pros and cons on this.

 

Pros of using letters, numbers, and symbols vs. gradient blocks

  • Using ASCII letters and numbers is, of course, the most compatible, as these can be found on most all computers
  • Lots of per-character pixel-count combinations, allowing for lots of gradient intensity levels
  • As Spie812 mentioned, there's only a few gradient blocks, affording less intensity levels

Cons of using letters, numbers, and symbols vs. gradient blocks

  • It's difficult to turn off "symbol recognition" in your mind, forcing your brain to try to "read" the screen
  • With the exception of arguably these characters: @, &, *, $, and %, the pixels are not evenly distributed, instead highlighting straight lines and jagged edges.

If I was going to build a Doom text-only render mode (and I just may), I would first build a list of per-character intensities, based on the font and the number of pixels lit in each character. Then I would decide how many believably-different intensity levels I could manage. Let's say, for example, I could do 16 different levels, with level 0 being a space, level 1 consisting of " . , - _", and so on. I'd make sure each intensity level had a handful of possibilities, even if I had to fudge a bit - allowing a 'brighter' character to exist in a lower level, for the sake of populating each intensity level with a large-enough variety of characters.

 

Then, for each frame I would render each "text-pixel" using a randomly-chosen character from the proper intensity level. So, even if I stood perfectly still, each text pixel would flicker a bit, as it oscillates between a list of similar-intensity characters. This would generate a snowy, somewhat noisy effect, which would kinda suck. But I think this would be better than showing a bunch of static Q's followed by a static apostrophe, etc.

 

I could be wrong, and I'd have to mock it up to know, but I think the flicker effect would help me unfocus on single characters, and see the display as a whole.

 

What does everyone else think? Would it be more distracting, or less distracting - to randomly flip between a bunch of similar-intensity characters, or to always use one specific character for each intensity level?

Share this post


Link to post
16 hours ago, TakenStew22 said:

If Doom can run on a printer, then it can run on any machine.

Well it's only sound but i still agree. Is crazy how people are creative sometimes.

Share this post


Link to post
Posted (edited)
On 10/1/2018 at 12:10 PM, Marlamir said:

Well it's only sound but i still agree. Is crazy how people are creative sometimes.

 

I'm pretty sure someone actually managed to make it run on a printer. It seems like it had no input (the only thing showing up was the demo) and the colors looked terrible, but it ran!

 

On 9/30/2018 at 10:14 PM, kb1 said:

What does everyone else think? Would it be more distracting, or less distracting - to randomly flip between a bunch of similar-intensity characters, or to always use one specific character for each intensity level?

 

I personally think it would be more distracting.

Share this post


Link to post
5 hours ago, KVELLER said:

I'm pretty sure someone actually managed to make it run on a printer. It seems like it had no input (the only thing showing up was the demo) and the colors looked terrible, but it ran!

I little bit remember about this, i read about this on one game news site long ago. I think this is the one, am i correct?

 

Share this post


Link to post
5 minutes ago, Marlamir said:

I little bit remember about this, i read about this on one game news site long ago. I think this is the one, am i correct?

 

Yep.

Share this post


Link to post
6 hours ago, KVELLER said:

I personally think it would be more distracting.

Yes, that's very possible. The point would be to prevent your brain from treating each "pixel" as a readable character. I think it would work, though, because, unless you were standing still, characters would normally be changing anyway. But, without randomizing the characters, *some* characters would stay the same across multiple frames, kill the illusion that you were moving past a wall, because certain parts of the wall would look exactly the same. This issue completely disappears if you're randomizing the characters.

 

It's just a theory. I guess we'd have to see it in action to know.

 

Share this post


Link to post

From the way this video seems on a first glance, it looks like each texture or surface is getting it's own consistent letter for the most part. I think that's the most sane way to present things.

Share this post


Link to post
14 hours ago, kb1 said:

It's just a theory. I guess we'd have to see it in action to know.

 

Yeah, I agree. There's not much we can say without actually seeing the results.

Share this post


Link to post
On 9/30/2018 at 4:41 PM, TakenStew22 said:

If Doom can run on a printer, then it can run on any machine.

It's sad because this still sounds alot better than the 32X soundtrack.

 

Could be worse like PC speaker music. ;)

Share this post


Link to post
On 10/2/2018 at 5:17 PM, Fonze said:

From the way this video seems on a first glance, it looks like each texture or surface is getting it's own consistent letter for the most part. I think that's the most sane way to present things.

I've played it. Many characters actually aren't consistent, even when representing the same object or texture, and it changes as the object moves (either because it actually moved, or you did).

Share this post


Link to post

I was referring to being consistent for each particular stillshot of the game being played. I figured they would change as you move, but that brings a question then for clarification: when standing still would a surface covered with a texture get all the same character, would it differ as distance increased as light levels do, such as how red fades to brown regularly, or is it totally random and I'm just blind or didn't pay enough attention to the video?

Share this post


Link to post

@Danfun64 I've seen this in a few other threads in the past few minutes as well. I just logged in into YouTube and the same thing showed up, so there are problems on their end.

Share this post


Link to post
3 minutes ago, KVELLER said:

@Danfun64 I've seen this in a few other threads in the past few minutes as well. I just logged in into YouTube and the same thing showed up, so there are problems on their end.

x3

Share this post


Link to post
3 hours ago, Fonze said:

I was referring to being consistent for each particular stillshot of the game being played. I figured they would change as you move, but that brings a question then for clarification: when standing still would a surface covered with a texture get all the same character, would it differ as distance increased as light levels do, such as how red fades to brown regularly, or is it totally random and I'm just blind or didn't pay enough attention to the video?

If you're standing completely still, and there's no lights flashing, I'm pretty sure the characters on walls would persist.

 

There are a couple of ways to do this. If you're using a true text video mode, your character set is manufacturer-specific, and your colors are usually pretty limited, like 8 or 16 colors, with a reverse-video, or flashing, or high-intensity set. If you avoid the alternate sets, you might have, say 16 colors to work with, and at least 96 characters that could be considered standard. Usually there are some nice block-like graphic characters of varying sparsity. Using those is ideal, as they look like graphics, but they may or may not be available. In this scenario, you're pretty much stuck with using those 16 colors, with either the block graphic characters, or with standard letters, numbers and symbols.

 

A modern option is to use a graphics video mode, and paint characters on it as if it were a text screen. Here, you can always cheat and use 256 colors, or more, and you can use whatever characters you want, including new characters designed to be good at doing graphics. But, that's no fun.

 

So, if you're not cheating, you've got, say, 16 colors, and a handful of 64 characters hand-picked for their "sparseness". With 16 such characters, you've got your 256 colors right there.

 

My idea was to go higher than 16 characters, so more than one character could serve a similar purpose. For a given scene, I wanted to randomly choose from a list of "similarly sparse" characters for each pixel. This would have the following effect:

  • For busy scenes, or scenes where the player was moving around, this would look almost exactly the same, with or without the randomness.
  • But for static scenes (and, maybe the status bar), the screen would 'flicker' a lot with my approach, *just like it would when moving*. In other words, the screen would always be flickery and staticy, moving or not. I think this is important, because I think it would be jarring when you stop moving, and all of a sudden the screen becomes a lot more clear. Psychologically speaking, it might prevent the desire to stop moving to "clear up the display."

 

Alternately, here's another idea:

  • Get the renderer to try real hard to use the same character for each source color. In other words, give each texture its own subset of characters. Try to take advantage of the fact that you're going to be staring a letters, numbers, and symbols.

It's hard to describe, and it may not work at all.

 

It's kind of a silly problem. I always wanted to *increase* Doom's fidelity, not reduce it :) But, it's also a fun exercise. I'm going to have to try my ideas one day! But, not today :(

 

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×