Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Runer112

Pages: 1 ... 106 107 [108] 109 110 ... 153
1606
TI Z80 / Re: YAAR (Yet Another Assembly/Axe Raycaster)
« 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.

1607
Humour and Jokes / Re: r
« on: December 16, 2010, 12:43:57 am »
anyway, why is it called "r"?
I believe it is because of the use of happinessr. O0

2-byte happiness?

1608
Humour and Jokes / Re: YAWR
« on: December 15, 2010, 08:59:43 pm »
same, Wikipedia rocks, and teachers are losers for not trusting it :P

they don't realize that only 1 out of 100,000 has spam/invalid info

nope, i wrote a paper on the dangers of wikipedia. it has been estimated that 1 out of every 9 articles on wikipedia has been vandalized.

Did you use Wikipedia as a research source for your paper? :P

1609
Humour and Jokes / Re: YAYA (Yet Another Yet Another)
« on: December 15, 2010, 07:41:17 pm »
Since I started this thread 4 days ago, there must have been at least 5 other topics started here at Omnimaga featuring "Yet Another" something. :o

1610
Humour and Jokes / YAYA (Yet Another Yet Another)
« on: December 15, 2010, 07:18:59 pm »
Everybody be copyin' mah subject! :hyper:


1611
Axe / Re: Routines
« on: December 15, 2010, 07:16:02 pm »
Ah how did I not see that!

1612
Axe / Re: Routines
« on: December 15, 2010, 07:04:38 pm »
Code: [Select]
For(A,0,255
pxl-on(sin(A)//W+X,Y-(cos(A)//H)
End
yay optimization

Code: [Select]
256→A
While
Pxl-On(sin(A)//W+X,sin(A+64)//H+Y)
A-1→A
End

Good fight ;)

And just a note: Unless you absolutely want width and height to be inverted, multiplying instead of signed dividing is probably better. The multiplication routine is smaller and faster than the signed division routine.

1613
TI Z80 / Re: YASS (Yet Another Security Suite)
« on: December 15, 2010, 06:46:30 pm »
This is like the second topic in the past 24 hours mimicking my raycaster's subject format! ;)


Regarding the topic at hand, I don't know much about hooks but I'll throw out a wild guess here. Is this problem possibly due to the same reason that PutS doesn't work in Apps? In which case the solution would be to use a PutC loop?

Another possible cause: Is your source code set to originate at the location the hook will exist in RAM? If not, StrGetKeys would be compiled to an incorrect value.

1614
TI Z80 / Re: YAAR (Yet Another Axe Raycaster)
« 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. ;)

1615
Axe / Re: Routines
« on: December 14, 2010, 05:50:10 pm »
I believe I posted some normal sorting routines a while ago, but there are probably many more times when a linked sort is in order. So here are two linked sorting libraries. LSORTBLB sorts a list of bytes whereas LSORTWLB sorts a list of words, and both are linked to a list of words (which will typically be pointers). These routines allow you to sort objects based on certain attributes.

The general syntax for a sort call:
Code: [Select]
sub(___, Pointer to list of values to sort, Pointer to list of words to rearrange based on sort, Number of bytes to sort)Note: If you are sorting bytes, the last argument will be the number of values to sort. If you are sorting words, the last argument will be the number of values times 2.

Routines in LSORTBLB:
  • SBA - Sort bytes in ascending order
  • SBD - Sort bytes in descending order

Routines in LSORTWLB:
  • SWA - Sort words in ascending order
  • SWD - Sort words in descending order



As an example, say your program was managing 256 objects, and each object has 4 bytes of data: [x position, y position, x velocity, y velocity]. You have a list of pointers to the objects located at P. Let's say you want to sort the objects in this list by descending x velocity.
Code: [Select]
.Move attributes to be sorted by to a sequential section of memory
For(A,0,255)
{{A*2+P}+2}→{A+L₁}
End
.Sort
sub(SBD,L₁,P,256)

1616
TI Z80 / Re: YAAR (Yet Another Axe Raycaster)
« 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.

1617
TI Z80 / Re: YAAR (Yet Another Axe Raycaster)
« 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

1618
Axe / Re: Sprite Reducer
« on: December 13, 2010, 08:03:50 pm »
May I direct you do this?

1619
TI Z80 / Re: YAAR (Yet Another Axe Raycaster)
« 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

1620
TI Z80 / Re: YAAR (Yet Another Axe Raycaster)
« 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!

Pages: 1 ... 106 107 [108] 109 110 ... 153