Hi everybody!
Some of you know that I’m a nut for getting the old Wolf 3-D game ported over to the Virtual Boy i.e. KR155E and DogP π and I’ll be honest I’m as good at coding as I am shoveling snow in August here in Ohio. So I thought hey why not contact Mr. Lowe over at the Wolfenstein 3-D Dome! I told him about the coding competition. Although I forgot to tell him the rules π but still he posted it on his site here: http://www.wolfenstein3d.co.uk/news.htm
And hopefully that will bring some more coders and even more new faces here to our beautiful kingdom of red… Planet Virtual Boy. π Have a good day everyone. Oh and buy the way while I’m at it I would like to thank all of you that are working hard to bring more exciting VB games to those of us that aren’t like ME lol π
i am nowhere near as good in coding to port wolfenstein to the vb, but i have been wondering how hard it would be to write something similar from scratch. so, after seeing your post this morning, i printed out a raycasting tutorial and read it on my way home from university. (for anyone who doesn’t know, a raycaster is the kind of pseudo 3d engine early fps like wolfenstein used.) i was actually surprised about how easy the concept is, only requiring some cheap geometry. i can imagine a very basic engine being written in a day, and definitely want to give it a try when i find the time. π
If you’re interested in a Raycaster you may want to look at GBA Caster… I ported that last year, but it runs REALLY slow because it uses floating point… I started to convert it to fixed point, but screwed something up, then lost interest :-P.
There’s also another one I was looking at just the other day… maybe I’ll try porting it sometime soon (should be a quick job).
DogP
pat, what technique did you use to draw the columns to the screen? directly drawing the lines to the framebuffer seems to be the easiest way to me, i think i even saw a function to draw a line between two input points in one of your source codes. if i want to use wall textures, though, another approach is needed. i’d say objects, because we can’t have 384 individual bgmaps and there’s no way to draw single pixels to one (or do we?), but affine transformation can’t be used on an object.
I couldn’t be happier to here about this guys!!! It seems that the sky’s the limit for FPS’… within a reasonable sense of course. As far as Wolf 3-D goes if anybody was willing to take on the challenge of doing this, I have access to all the graphic files to the Wolf games plus the sound fx and music files and maps. I have all the editors. Just let me know and I can get them to you even if I have to do it by mail π
I was reading the ray casting tutorial… algebra… like, bummer dude π I need to go back to school!
There is a simple ray casting engine in Java located here … http://www.permadi.com/java/rayc/index.html
That looks like a start.
- This reply was modified 16 years, 6 months ago by Deadly-D.
Yeah, I just did everything by drawing directly to the framebuffers. Luckily since a raycaster works by drawing vertical lines, this is VERY efficient on the VB because vertical lines are consecutive bits/addresses in the framebuffer. And for textures, I’d suggest just adding it into the direct screen drawing code to look up what texture it’s drawing and set the proper bits in the framebuffer at draw time.
You may actually be able to trick Affine into creating the textures for you, and then moving them out of the framebuffer before they actually get displayed. This would let the hardware do the texture scaling, and all you’d have to do is copy the framebuffer from that location to the correct place in the framebuffer… but that’d probably be a little more complex and take some tricky coding.
DogP
I found out when messing with yeti that using the bitstring instructions are the most efficient way to draw long vertical lines to the framebuffer.