Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Runer112 on December 11, 2010, 09:31:05 pm

Title: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Runer112 on December 11, 2010, 09:31:05 pm
I had started work on an Axe raycaster a while ago, but forgot about it. However, squidgetx's raycaster reminded me that I had one too, so I went back to work on it. Anyways, it works pretty nicely, although somewhat slowly , and I have different versions with different features. It's pure Axe though, which is pretty awesome. ;D I run all my versions of it at 15MHz.

Unless you want me to go into the technical details, I won't, because that stuff is pretty ugly. But screenshots are cool!

Most of what I need to do now is try to make it faster, because these are all using the full 15MHz and it would be nice to save some processing power for other things!


EDIT: Attached a zip file containing the source code and compiled executables for all four versions.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: tloz128 on December 11, 2010, 09:35:36 pm
+1 respect for textured walls
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: fb39ca4 on December 11, 2010, 09:42:51 pm
You and squidgetx should have a competition to see who can get the most fps!
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Eeems on December 11, 2010, 09:46:42 pm
YAAR! Looking good :D
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: nemo on December 11, 2010, 10:03:07 pm
this is sweet. can we have an executable?
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: AngelFish on December 11, 2010, 10:14:27 pm
Can it do variable height raycasting? +1 anyway for the optimizations that I know are coming.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 11, 2010, 10:19:22 pm
this is sweet. can we have an executable?

I just attached a zip file to the first post containing all the source and executable files.


Can it do variable height raycasting? +1 anyway for the optimizations that I know are coming.

Not yet, but I guess it's certainly possible. I'll look into adding features once I can make it faster though, because it already struggles to run smoothly at 15MHz even at 64x64 with no textures.

I also need to try to improve collision detection. If you walk into the outside corner of a solid block at certain angles, you don't collide with it and just walk right into it.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Michael_Lee on December 12, 2010, 01:17:19 am
That's pretty cool!

For the pure black-and-white one, are you repeatedly drawing lines/rectangles, or do you have a more elaborate flood-fill algorithm of some kind (or am I completely off-base in my questions?)
Title: Re: YAAAR (Yet Another Awesome Axe Raycaster)
Post by: Deep Toaster on December 12, 2010, 01:19:35 am
YAAAR (Yet Another Awesome Axe Raycaster) (http://ourl.ca/8272/152389)

Epic O.O

And textures are awesome!
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Builderboy on December 12, 2010, 01:23:05 am
Outstanding!  Im amazed Axe has enough speed to do texture mapping on walls O.O I don't even
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: meishe91 on December 12, 2010, 01:36:56 am
Looking really sweet :) Good luck on the optimizations.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: DJ Omnimaga on December 12, 2010, 05:41:18 am
O.O O.O O.O O.O
O.O O.O O.O O.O
O.O O.O O.O O.O


My eyes just popped out of my head, like this O.O

I'm not sure how to describe the awesomeness that this is, but wow, textures! Plus it runs fast too. Did you use pure Axe or both Axe and ASM? I think when it is updated, you should maybe release the engine with some instructions on how to integrate it inside a game. It would be great to see games using this. :O
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 12, 2010, 09:55:34 am
O.O O.O O.O O.O
O.O O.O O.O O.O
O.O O.O O.O O.O


My eyes just popped out of my head, like this O.O

I'm not sure how to describe the awesomeness that this is, but wow, textures! Plus it runs fast too. Did you use pure Axe or both Axe and ASM? I think when it is updated, you should maybe release the engine with some instructions on how to integrate it inside a game. It would be great to see games using this. :O

This is 100% pure Axe goodness. ;) And yes, if I manage to get it to run a bit faster and have a few more useful features for games (like scaled sprites) then I'll certainly release it as a tool for Axe programmers.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: squidgetx on December 12, 2010, 10:13:22 am
Holy...O.O

I'm definitely going to have to take a look at your source, though I doubt I'll be able to make many improvements to it lol
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Ashbad on December 12, 2010, 10:23:03 am
Holy shit... O.O O.O O.O O.O O.O O.O O.O

This is like my ideal raycaster for axe development... from heaven.  O.O

+1 respect for being so freakin awesome
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 12, 2010, 10:30:20 am
Holy...O.O

I'm definitely going to have to take a look at your source, though I doubt I'll be able to make many improvements to it lol

Oh, that reminds me... I really should comment this. Of all my projects, this one is probably one of the most important to comment, because it's really math-heavy and employs some algorithms that sometimes confuse even myself and should definitely be explained. I'll get around to that later today.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: yunhua98 on December 12, 2010, 08:45:28 pm
WOW.  O.O
finally,  {AXE} == {ASM}
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Deep Toaster on December 12, 2010, 08:58:16 pm
The day Axe > ASM is the day I explode. But it's getting close :o
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: nemo on December 12, 2010, 09:00:29 pm
i think it's safe to say ASM is the asymptote of Axe.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Michael_Lee on December 12, 2010, 09:04:26 pm
i think it's safe to say ASM is the asymptote of Axe.

Haha, I lol'd.

@Runer: Have you made more progress on speed and optimizations?
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Snake X on December 12, 2010, 09:06:36 pm
:O wow ill have to try this one day on my physical calc to see teh speeds :p
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 12, 2010, 09:23:00 pm
i think it's safe to say ASM is the asymptote of Axe.

Haha, I lol'd.

@Runer: Have you made more progress on speed and optimizations?


I haven't had a chance to do anything today, I didn't really have any free time. Expect me to work on this more in the next few days, though!
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: willrandship on December 12, 2010, 09:31:19 pm
WOW! I drool at your sweet programming skillz :P

Seriously, though, this is amazing.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 12, 2010, 11:27:30 pm
WOW! I drool at your sweet programming skillz :P

Seriously, though, this is amazing.

Yeah, not to be narcissistic or anything, but this really is somewhat amazing. I keep looking back at the screenshots in the first post and I think to myself, "This looks awesome. There's no way I made this. Especially in Axe!"

But I did. :o
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: DJ Omnimaga on December 12, 2010, 11:39:37 pm
O.O O.O O.O O.O
O.O O.O O.O O.O
O.O O.O O.O O.O


My eyes just popped out of my head, like this O.O

I'm not sure how to describe the awesomeness that this is, but wow, textures! Plus it runs fast too. Did you use pure Axe or both Axe and ASM? I think when it is updated, you should maybe release the engine with some instructions on how to integrate it inside a game. It would be great to see games using this. :O

This is 100% pure Axe goodness. ;) And yes, if I manage to get it to run a bit faster and have a few more useful features for games (like scaled sprites) then I'll certainly release it as a tool for Axe programmers.
Wow great! I personally would like something no one else tried yet: a raycasting RPG. Most people go with mazes or FPSes, but not RPGs. I could maybe even attempt a racing tunnel. :P
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: ztrumpet on December 13, 2010, 08:16:39 am
 :w00t:This is awesome!  Wonderful work Runer! ;D
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Yeong on December 13, 2010, 08:18:11 am
The day Axe > ASM is the day I explode. But it's getting close :o
*Yeong puts bomb in DT to make him explode
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: TIfanx1999 on December 13, 2010, 10:25:55 am
This looks pretty cool. Visually it reminds me of an ASM demo someone made (Spencer at Revsoft maybe?).
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: willrandship on December 13, 2010, 10:34:09 am
So, DJ, why not try cloning the first Elder Scrolls game? Arena, (and maybe even daggerfall!) used raycasting if I remember correctly.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: DJ Omnimaga on December 13, 2010, 11:10:49 pm
I never played those games so I wouldn't know. I was more into FF-type games.

By the way if this is released as an engine to use in other games, would we be able to choose things such as the camera height and vertical angle? This might be useful for example if someone makes a 2nd person view game where we cannot see the sky/ceiling.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 14, 2010, 12:25:45 am
Jumping and crouching! When jumping, you cannot change your direction of movement, although you will still collide with walls and they will affect your movement. When crouching, you move and turn at half speed and cannot jump.

EDIT: Also, the post number. >:D
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: TIfanx1999 on December 14, 2010, 12:27:45 am
Wow, that's freakin awesome! ;D
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Builderboy on December 14, 2010, 12:56:22 am
Whaaaaaaa thats epic!  This is looking like a more functional raycaster than some of the professional ones out there!
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: DJ Omnimaga on December 14, 2010, 02:57:29 am
Jumping and crouching! When jumping, you cannot change your direction of movement, although you will still collide with walls and they will affect your movement. When crouching, you move and turn at half speed and cannot jump.

EDIT: Also, the post number. >:D

(http://www.omnimaga.org/index.php?action=dlattach;topic=5675.0;attach=5003;image)
This is too great! O.O O.O O.O

Seeing the screen size, this could maybe be useful for some sort of sequel to Nemesiat. :P

Keep up the good work Runer112! Still 6 MHz, right? Also how large is it so far? Is it also possible to reduce the quality like in Bwang's TI-Nspire Raycaster? Here's a screenshot demonstrating what I mean. Some people might want to go for lower quality if for example they need a lot of speed but want to stay in 6 MHz mode or if someone makes a multiplayer shooter or something.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: willrandship on December 14, 2010, 09:44:00 am
The calc could detect if it runs in 6 mhz or 15, since it actually returns a 0 if it fails, so...you could have it detect if it was a 6 mhz calc or 15 mhz and automatically reduce quality/run it faster. of course, for yours in its current state it looks like it runs at 6 mhz just fine :P
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 14, 2010, 10:26:41 am
Keep up the good work Runer112! Still 6 MHz, right? Also how large is it so far? Is it also possible to reduce the quality like in Bwang's TI-Nspire Raycaster? Here's a screenshot demonstrating what I mean. Some people might want to go for lower quality if for example they need a lot of speed but want to stay in 6 MHz mode or if someone makes a multiplayer shooter or something.

No, it's already at 15MHz. :-\ But thanks to your suggestion, that may not stay the case, if I can find other ways to speed it up!

Anyways, here are some screenshots demonstrating the speed boost from horizontal pixel-doubling.

EDIT: Oh, and the engine (raycasting, moving, jumping, and crouching) is about 2000 bytes so far.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: nemo on December 14, 2010, 11:19:39 am
whoa.. that is insane. only 2000 bytes? great work runer
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: c.sprinkle on December 14, 2010, 12:04:15 pm
This looks really promising.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Builderboy on December 14, 2010, 01:56:22 pm
Its too bad that the graphics don't scale well on the walls when you are looking at them from far away :( but that can't be helped, because this engine is so unbelievably epic!  That speed boost you just gave it is also so epic :OOOO
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: ztrumpet on December 14, 2010, 04:31:45 pm
Woah...

(http://i199.photobucket.com/albums/aa72/builderboy2005/Image0.png?t=1260232145)

...my brain...
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Builderboy on December 14, 2010, 04:32:38 pm
Woah...
...my brain...

Lol you be stealin my lines :P
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: ztrumpet on December 14, 2010, 04:33:39 pm
Um, if I quote your post, it's different!

Spoiler For Spoiler:
(http://i199.photobucket.com/albums/aa72/builderboy2005/Image0.png?t=1260232145)
I warned you Calc84, but you didn't listen, now see what you did to my brain?!
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Builderboy on December 14, 2010, 04:36:15 pm
Lol fine you be stealin my pic :P

*Builderboy runs*
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: c.sprinkle on December 14, 2010, 05:32:43 pm
But not my brains. :)
Spoiler For Spoiler:
You fail by losing the game.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Deep Toaster on December 14, 2010, 06:45:42 pm
/me like speed boost... :o

Will it work on 6 MHz now?
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Runer112 on December 14, 2010, 06:53:08 pm
It's still pretty slow at 6MHz, it runs at about 6 FPS.

Would anyone be interested in me making an optimized hand-coded assembly version so I can make this as fast as possible? Although Axe is great and I love it, I think that it has just about reached its limits regarding speed here. I want people to be able to make really great games with this, so I want them to have the best engine possible. I would keep developing the Axe version too, and add the same features to both of them. Although the assembly one would be somewhat smaller and faster, the other would have the glory of being pure Axe. ;)
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Ashbad on December 14, 2010, 07:24:49 pm
I would, if I knew the math behind it :P
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: DJ Omnimaga on December 15, 2010, 04:51:20 am
Wow great! I think there should be both an Axe and assembly version. Maybe the later could be an Axiom? As for the Axe version there should be some doc on what to modify in the engine maybe.

As for parameters I think you should allow the user to

-define the camera height and if you add the later, angle
-rotation angle (obviously but I forgot how it's called :P)
-X/Y position (of course)
-quality (high or doubled pixels)
-Screen height/width
-Screen X/Y start (top/left corner)

I'm not sure if I forgot anything.

Nonetheless this is impressive. :) You should release it on ticalc.org when it's done (and maybe Omni dl section). :)
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Ikkerens on December 15, 2010, 06:23:34 am
Wow great! I think there should be both an Axe and assembly version. Maybe the later could be an Axiom? As for the Axe version there should be some doc on what to modify in the engine maybe.

Seconded, future axiom? :w00t:
If you do, il love you forever (or until I forget you, or you cheat on me... xD)
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: aeTIos on December 15, 2010, 09:15:10 am
This looks AWESOME, its the only word. Too bad that it already runs at full speed, i hope you can update this soon so that there more features can be added. keep up the nice job!
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Runer112 on December 16, 2010, 12:53:34 am
Well I ported the whole thing to assembly, optimizing things as I could along the way. The hand-coded assembly engine is about 600 bytes smaller than the Axe engine, so about 2/3 of the Axe engine's size. It will undoubtedly be faster too, but I will not be able to tell how much faster until I figure out where in the approximately 750 lines of assembly code I messed it up. :-\

I'll debug it tomorrow. I worked on this for literally about 12 hours straight, so I'm exhausted.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: DJ Omnimaga on December 16, 2010, 01:24:38 am
Wow 12 hours in a row? O.O I never worked that much in BASIC and BASIC was much easier to read. I can't imagine how it must be with ASM. O.O

I hope you can manage to solve the issues you're having.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Mohammad on December 16, 2010, 01:30:28 am
can anyone tell me what a raycaster does? looks to me like 3d!!!!
whooooooaaaaaa.....blackops...racing games...3d stuff omg! can you make those?
what is the most practical 3d thing you can make with resolution this bad lol!
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: JosJuice on December 16, 2010, 01:51:39 am
can anyone tell me what a raycaster does? looks to me like 3d!!!!
It does look like 3D, but is a bit more limited. If I recall correctly, moving up/down isn't possible in a raycaster.
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: Builderboy on December 16, 2010, 02:19:54 am
Moving up and down is possible (there is some jumping/crouching in these screenshots too :P) but looking up and down can only be cheated
Title: Re: YAAR (Yet Another Axe Raycaster)
Post by: DJ Omnimaga on December 16, 2010, 04:38:24 am
This page might explain a bit about raycasting: http://en.wikipedia.org/wiki/Raycasting
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Runer112 on December 17, 2010, 06:17:15 pm
An update:

The assembly version mostly works now! I say mostly because the raycasting engine works just like the Axe engine, but sometimes it crashes, which I need to look into before releasing it.

In the assembly version, I made a lot of optimizations, especially in areas where the full 16-bit spectrum is not needed. The assembly version is about 500 bytes smaller than the Axe version, so it is about 70% of the size of the Axe engine. And by my quick test, it appears that the assembly engine runs about 30% faster than the Axe engine. Unfortunately, by my math, SLOW * 1.3 = STILL SLOW. At 6MHz, I would need about a 100% speed increase for this to run at a decent framerate. And that's with fairly low standards for "decent framerate."

I'll be constantly looking into optimizations.

(How ever did you do it Peter Bucher...)



Just for speed comparison, here are two GIFs of the two engines rendering the same 32 frames at 6MHz with no pixel doubling. As you can see, closer (and thus taller) walls have a habit of killing the FPS.

YAAXER
YAASMR
(http://img251.imageshack.us/img251/6068/yaaxerspeedtest1.gif)(http://img444.imageshack.us/img444/1807/yaasmrspeedtest1.gif)
~3.1 FPS
~4.0 FPS
(http://img340.imageshack.us/img340/3666/yaaxerspeedtest2.gif)(http://img96.imageshack.us/img96/3418/yaasmrspeedtest2.gif)
~3.8 FPS
~5.0 FPS
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: DJ Omnimaga on December 17, 2010, 06:22:21 pm
Awesome! Also don't worry too much about the slow speed. I don't think this should be scrapped just because it doesn't run fast enough in 6 MHz. Some SNES games ran at 4-8 FPS, after all, and some Nintendo 64 games ran at like 10-12 FPS when you didn't use the memory expansion pack. I hope you can find some optimizations, though, to make it faster, so 6 MHz users aren't limited to just RPG raycasters. :D
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: squidgetx on December 17, 2010, 06:41:05 pm
That's interesting, my raycaster's speed always goes up when you're closer to a wall since then the rays have a shorter distance to travel. Maybe the textures have something to do with it though
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Runer112 on December 17, 2010, 06:53:45 pm
Yes, the textures have a lot to do with it. Even if you don't know assembly, you can probably guess that drawing an untextured wall slice:
Code: [Select]
ld de,12
DrawWallSliceLoop:
ld a,c
or (hl)
ld (hl),a
add hl,de
djnz DrawWallSliceLoop

Will run a bit faster than drawing a textured wall slice:
Code: [Select]
DrawWallSliceLoop:
ld de,(var_N)
ld bc,(var_R)
WallSpriteShiftLoop:
ld a,d
or a
jr nz,WallSpriteShiftEnd
ld hl,var_S
ld a,(hl)
or a
jr z,WallSpriteShiftEnd
dec (hl)
ld hl,(var_T)
add hl,hl
ld (var_T),hl
ex de,hl
add hl,bc
ex de,hl
jr WallSpriteShiftLoop
WallSpriteShiftEnd:
dec d
ld (var_N),de
DrawFirstWallPixel:
ld hl,(var_P)
push hl
ld bc,-plotSScreen
add hl,bc
pop hl
jr nc,DrawWallPixelSkip
ld a,(var_T+1)
rla
jr nc,DrawWallPixelSkip
ld a,(var_M)
or (hl)
ld (hl),a
DrawWallPixelSkip:
ld de,12
add hl,de
ld (var_P),hl
ld hl,(var_U)
dec hl
ld (var_U),hl
ld a,h
or l
jr nz,DrawWallSliceLoop


Because of this, my primary optimization goal is to try to do something about this.

EDIT: I already have some ideas about how to try to normalize the time drawing a wall slice takes.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: DJ Omnimaga on December 17, 2010, 06:59:16 pm
Why do some raycasters slow down when close to walls (Bwang's Nspire raycaster, for example) while with others it's the total opposite? O.O

Also what do you mean by normalizing? Do you mean making the framerate the exact same no matter what?
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Eeems on December 17, 2010, 07:12:14 pm
Due to the textures being drawn, it takes more to draw a texture then it does to draw an untextured wall, so the more texture to draw, the slower it is.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: DJ Omnimaga on December 17, 2010, 07:13:18 pm
Yeah, but I am really curious about why in Bwang's case, the raycaster, which has textures, gets considerably slower when you're close to a wall. ???
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: AngelFish on December 17, 2010, 07:15:35 pm
Because the textures get correspondingly larger. They take up a large percentage of the screen, so the raycaster has to spend more time processing them.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: DJ Omnimaga on December 17, 2010, 08:14:30 pm
Ah ok, but that still doesn't explain why in some raycasters, it's the total opposite, even if they still have textures... this is what I have been curious about for a while...

That said I misread Runer's posts. He said he ninja'd me a while ago, but I looked at the wrong post for an edit. I just saw the screenshots now and realized he meant to say his raycaster slows down too, when close to walls. I thought he meant the opposite.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: ztrumpet on June 21, 2011, 02:11:38 pm
*Bump*
Did you ever figure out a way to normalize how long drawing a wall took?
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Runer112 on September 18, 2011, 08:08:26 pm
Don't count this project as down for the count yet. I'm sure it will be making a comeback eventually, and since I'm a much more skilled coder now than when I started this project, expect it to be faster/better. ;D
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: squidgetx on September 18, 2011, 08:45:04 pm
more skilled coder now than when I started this project
is this even possible LOL.

gl/hf, can't wait to see how this turns out! (i haven't touched my raycaster for months :* )
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: boot2490 on September 20, 2011, 11:36:47 am
I am glad that I wasn't accidentally necroposting :D
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Ki1o on January 30, 2012, 06:16:35 pm
Runer I was wondering if you could possibly release the source for an unoptomized Axe version?  If you have time maybe you can make a tutorial explaining it as well?
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Darl181 on January 30, 2012, 06:20:00 pm
He already did, for one version.
http://ourl.ca/13355
There isn't a tutorial afaict, but there's the source.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Ki1o on January 30, 2012, 06:22:24 pm
Thanks
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Ki1o on January 30, 2012, 08:53:15 pm
Ok I looked at the source and was completely confused. Someone would have to explain what each line or routine does.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: thydowulays on January 30, 2012, 09:00:49 pm
Well, you say you are an inexperienced Axe coder? I wouldn't recommend looking at Raycaster code if you're just starting out, because that may confuse you. Also, this is Runer112's code. It is usually heavily optimized and hard to understand, because he's just a great coder like that. Not to discourage you, but this isn't exactly a beginners thing.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: chattahippie on January 30, 2012, 09:07:18 pm
Here is a nice raycaster for beginners... you only have to store a picture to the OS var Pic3 (draw a pic on graph screen, then use StorePic 3)
Right here! (http://ourl.ca/8144)
This is Squidgetx's raycaster, I could never make such a program :P

Good luck with your project  :thumbsup:
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Ki1o on January 30, 2012, 10:56:26 pm
Yeah sorry about that. I had seen a website that explained the math and theory involved and I assumed that once I saw the basic structure for the algorithm in code I could have gone from there.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: hellninjas on January 30, 2012, 11:11:14 pm
Wait wait wait... How did you get it to run so fast!?
Very nice all my experiments with ray-casting were too slow! But this.../me mind has been blown!
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: annoyingcalc on January 30, 2012, 11:47:27 pm
you tried raycasting? link to download plz
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Xeda112358 on February 01, 2012, 10:56:50 am
Wow, I hope I can someday understand how to create a fast raycasting engine o.o This just amazing !
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Spenceboy98 on March 19, 2012, 07:59:07 pm
Someone could probably use this engine to make a Portal game. :D
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Deep Toaster on March 19, 2012, 08:23:19 pm
Unfortunately raycasters by definition don't let you look up, look down, pan up, or pan down in any way :/
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Spenceboy98 on March 19, 2012, 08:33:37 pm
Unfortunately raycasters by definition don't let you look up, look down, pan up, or pan down in any way :/

Oh. Maybe someone should implement it.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Darl181 on March 19, 2012, 08:34:34 pm
What he's saying is it's impossible to do, the way raycasters work.  You'd need some sort of true 3D engine.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Spenceboy98 on March 19, 2012, 08:36:35 pm
What he's saying is it's impossible to do, the way raycasters work.  You'd need some sort of true 3D engine.

Oh. Well it would be cool to make something like this for a Portal game.
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: ZippyDee on March 20, 2012, 01:30:26 am
The only way to do it would be (as mentioned earlier) to write a real 3D engine, which would most likely be too slow to do decent speed rendering on it...thought I think thepenguin777 may have written one for Starfox or something...

Edit: Actually the really processor-demanding task would be the 3D portal physics engine that you'd have to write...
Title: Re: YAAR (Yet Another Assembly/Axe Raycaster)
Post by: Builderboy on March 20, 2012, 01:36:54 am
3D portal physics wouldn't be nearly has hard as writing the graphics engine i think, coming from experience from PortalX.