My NES raycaster - ROM link inside!

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

UncleSporky
Posts: 385
Joined: Sat Nov 17, 2007 8:44 pm

Post by UncleSporky » Tue May 25, 2010 3:28 am

Yes, feel free to use any of those as much as you like, it's what I made them for. I can try to make other ones if you need anything specific.

I'm going to have to try to make a wall sconce with an animated flame in it or something.

And yeah, I didn't think about the perpendicular wall dithering, you do need shading for that to help visualize the layout.

tokumaru wrote:But honestly, I think that a level where all walls use the same two colors would be pretty boring. I'd much rather have monochrome textures in more colorful levels.


I don't know, the three bright blocks just feel odd to me. They'd definitely be good for forming a mental map of the level and representing different areas, but their forced monochrome just feels limiting to me. You can do a lot with even two different colors. Personally I wouldn't be averse to it for individual mazes/maps because I wouldn't expect a lot of color variation in a rocky cave or castle dungeon, but I guess it depends on how it ends up looking in the engine.

For example, a mossy rock wall sort of thing:

Image

Or just using two different solid colors:

Image

You could still show different areas by alternating the primary color you use in texturing. In fact I think it would be cool to use different textures to gradually dither the walls - you start in a dark purple room and as you walk down a corridor it fades to a light blue, etc.

Image

Of course you can do that in monochrome too...it's your project, I don't mean to tell you how to do it. :)

EDIT: Here's an expanded castle set, with animated wall sconce:

Image

Although the fire looks splashy, not flamey. I'll see if I can fix it.

Here are some more tries:

ImageImage

EDIT2: And here are some levers for opening doors:

Image

EDIT3: And a skull!

Image

User avatar
Bregalad
Posts: 7750
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Mon May 31, 2010 4:02 am

Well will there be a next update with better graphics ? Because to say the truth, I am impressed that it's possible to do such 3D on the NES, but nevertheless.... it really looks terrible.
Life is complex: it has both real and imaginary components.

User avatar
tokumaru
Posts: 11439
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Mon May 31, 2010 7:07 am

Wow, nice textures, UncleSporky!

Bregalad wrote:Well will there be a next update with better graphics ?

I might try better textures (and colors), like the ones UncleSporky made, but the resolution isn't going to improve. I can barely sustain a decent frame rate as it is.

Anyway, this wasn't meant to look great. I knew the resolution would be very low from the start, but that was one of the characteristics that made my design possible.

If anyone else has different ideas on how to implement a raycaster that will allow for more resolution/colors, I'd love to see that (this is not sarcasm or a "challenge", I'd really like to see that).

Celius
Posts: 2157
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius » Mon May 31, 2010 11:11 am

Well like I was saying a while back (I don't remember when this was), if you can implement a line drawing engine and XOR filling, you can just make wireframes out of each wall, and use XOR filling to fill them. This would take care of the resolution problem, but textures would still be an issue. You could also make wireframes out of simple shapes on each wall, and then fill those. That might take too much processing time, and look really stupid though.

acfrazier
Posts: 6
Joined: Fri Mar 12, 2010 10:32 pm

Post by acfrazier » Mon May 31, 2010 7:29 pm

I know I don't post around here much, but I'd be very interested in making a game out of this if you could get it to work. I've had an idea for a game I'd like to do for quite some time now.

UncleSporky
Posts: 385
Joined: Sat Nov 17, 2007 8:44 pm

Post by UncleSporky » Tue Jun 01, 2010 3:06 am

Celius wrote:Well like I was saying a while back (I don't remember when this was), if you can implement a line drawing engine and XOR filling, you can just make wireframes out of each wall, and use XOR filling to fill them. This would take care of the resolution problem, but textures would still be an issue. You could also make wireframes out of simple shapes on each wall, and then fill those. That might take too much processing time, and look really stupid though.

This is possibly a bit unrelated, and I know wireframe games are not unknown on old consoles (stuff like Elite) but I was just informed of this Gameboy game called X that I think looks pretty cool:

http://www.youtube.com/watch?v=pbtmBQIKTh8

http://www.youtube.com/watch?v=WCyTGdCyg3w

A DSiware game called X-Scape just came out which is apparently a sequel.

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Tue Jun 01, 2010 6:50 am

X was also the first game to contain "K.K. Song", a song that has shown up in numerous games for which Kazumi TOTAKA has composed music. (Mario Paint was the second; click the O at the title screen to hear it.) Why do I mention this? Jeroen knows.

hcs
Posts: 31
Joined: Mon Nov 27, 2006 11:34 pm
Location: NYC
Contact:

Post by hcs » Tue Jun 08, 2010 4:50 am

I remember hearing about this but never quite got to check it out till now... and I must say WOW! Looks excellent! I'm only poking at it in an emulator, I can only imagine how exciting it is to see it coming from the console.

User avatar
Jeroen
Posts: 982
Joined: Tue Jul 03, 2007 1:49 pm

Post by Jeroen » Tue Jun 08, 2010 12:28 pm

tepples wrote:Jeroen knows.

I sure do.

Denine
Posts: 394
Joined: Wed Feb 17, 2010 5:42 pm

Post by Denine » Sat Jun 12, 2010 1:09 pm

Whoa!
Congrats,Tokumaru.
Really hard to belive for me what's NES is compable of when smart peoples mess with it.
Again,Congratulations,and keep good work;)

naI
Posts: 108
Joined: Fri Jun 26, 2009 4:58 pm

Post by naI » Mon Jun 21, 2010 12:04 pm

Tokumaru, somebody made a raycaster for the ColecoVision that appears similar to yours.

http://www.youtube.com/watch?v=V3SFKZau8G8

Looks like they have the beginnings of a game there, with a map and menu. If they can do that on CV, I bet you can do something better on NES! :wink:

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Jun 21, 2010 1:20 pm

But then the ColecoVision has almost the same CPU as a Game Boy, which runs FaceBall 2000.

User avatar
tokumaru
Posts: 11439
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Mon Jun 21, 2010 2:14 pm

naI wrote:Tokumaru, somebody made a raycaster for the ColecoVision that appears similar to yours.

Interesting... I really like to see these old machines running raycasters. The basic engine in this isn't very advanced (yet?) though... The walls are not textured (this is one of the biggest speed killers in my engine), they get jagged a lot (this happens when you use little steps for the rays instead of precalculating larger steps, because of rounding errors) and are fisheye distorted. If they fix these issues this game is gonna be much more interesting!

Looks like they have the beginnings of a game there, with a map and menu. If they can do that on CV, I bet you can do something better on NES!

I could probably use my engine in a game, but I'm sure the frame rate would drop noticeably, and I find slow games annoying. My current idea for drawing sprites doesn't look very promising, since I couldn't think of many tricks to speed it up like I managed to do with the walls, so I'm afraid of how much they will affect the overall performance. I'll never know if I don't try, I know...! =)

tepples wrote:But then the ColecoVision has almost the same CPU as a Game Boy, which runs FaceBall 2000.

But at a lower clock speed, right? Also it has less RAM. By comparing this raycaster to mine, and the features that each one sports, I think the NES has the upper hand here. I still think the CV has a lot of potential, and I'm definitely curious to see how far this project goes. They can probably display much more colorful screens than I can, in case they decide to add textures and stuff.

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Jun 21, 2010 2:33 pm

tokumaru wrote:
tepples wrote:But then the ColecoVision has almost the same CPU as a Game Boy, which runs FaceBall 2000.

But at a lower clock speed, right? Also it has less RAM.

ColecoVision, ZX Spectrum, Master System, Game Gear: 3.58 MHz Zilog Z80
Game Boy: 4.19 MHz Sharp CPU similar to Z80

I guess the difference between a Spectrum (which can run an impressive textured FPS) and a ColecoVision isn't the clock speed as much as the fact that (as you pointed out) the Spectrum and Game Boy have a poopload more RAM.

User avatar
tokumaru
Posts: 11439
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Mon Jun 21, 2010 2:47 pm

tepples wrote:I guess the difference between a Spectrum (which can run an impressive textured FPS)

I'm not sure that's a raycaster though... Still impressive, of course.

and a ColecoVision isn't the clock speed as much as the fact that (as you pointed out) the Spectrum and Game Boy have a poopload more RAM.

I seem to remember that the video memory is directly accessible by the CPU on the Spectrum, is that correct? That probably makes display manipulation faster.

Technically, the ColecoVision could display something as colorful as M.O.O.D., which is an advantage it has over the NES.

Post Reply