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 - pimathbrainiac
Pages: 1 ... 78 79 [80] 81 82 ... 125
1186
« on: April 18, 2013, 11:54:31 am »
The object of the Rules Game is simple: win the Rules Game How? Make rules. Set-in-stone rules: You may not make a rule that automatically makes someone win/lose the Rules Game (... wins the game, ... loses the game, "if you do this, you win," etc.) You may not double-post. period. (even in accordance the the forum rules) Once someone wins, they will be posted in a winners list in this post, and a new game will start. You may not comment on other people's rules without posting a rule in the same post (just say "comment:" before you make a comment) You may not negate other people's rules Rules remain for the duration of a game. If you don't follow them, you are out. Edits count as comments Edits to a violating rule are disallowed unless made before the next rule is made. You are not allowed to join once the first person is out. When there are two people left, if no new rule is made within a day of the previous, the person who made the last rule wins! Winners (so far): epic7 with: http://ourl.ca/18745/376490I'll start: I like poetry And this is a cool haiku All rules must be too
1187
« on: April 18, 2013, 11:39:48 am »
Bump!
I would like to know if anybody is actually interested.
If not, no problem. I'll just call the competition off.
1188
« on: April 17, 2013, 10:15:53 pm »
Line clipping? I thought that that is a problem being worked on by Runer112 for future versions? Well, yes, but here's a temporary fix, using trig! To all those who may spot any error in my trig: please tell me. I'll try to fix it. Inspiration: I saw god's (leafy's) Super Hexagon port, and I saw a problem that he listed: The line clipping. I thought to myself: how do I solve this? The answer is by using trig! Just to show you I'm not crazy: here are some screenies for a very incomplete Super Hexagon engine (I will not continue after this point because I just made it to solve a problem):  Axe trig background: Trig in Axe is not standard to the trig you learned in school. There are no degrees or radians. There are only sine and cosine functions (of which all normal functions can be derived from). The period of these functions is 256, and the amplitude 128 (signed). To get a sine of an angle (0-255, not 0-359), it is simply sin(angle)//127 (make sure it is // and not /, due to the output being signed). The same works with cosine. Since my super hexagon engine is done in polar coordinates, it is easier with this case, but there is only one more step with using Now: here's some code before I explain how to do stuff (copied from graph-link): .HEXAGON
ExprOn
For(A,0,7) 0ü{A+L} End
64ü{1+L}
128ü{3+L}
192ü{5+L}
0ü{7+L}
0üXüAüBüCüD 1üF 2üE 65435üW 43üO 0üR
0üGüHüIüJüKüLüMüN
Repeat (getKey(15)) D+EüD 8*(getKey(3)-getKey(2))üC X+CüX If (Xùú8) 248üX ElseIf (Xù255) 0üX End If (Dùú2) 254üD F++ sub(A) ElseIf (Dù255) 0üD F++ sub(A) End 10*cos(X+D)üA 10*sin(X+D)üB ClrDraw Pxl-On(47+(A//128),31+(B//128)) Line((7*cos(0*O+D))//128+47,(7*sin(0*O+D))//128+31,(7*cos(1*O+D))//128+47,(7*sin(1*O+D))//128+31) Line((7*cos(1*O+D))//128+47,(7*sin(1*O+D))//128+31,(7*cos(2*O+D))//128+47,(7*sin(2*O+D))//128+31) Line((7*cos(2*O+D))//128+47,(7*sin(2*O+D))//128+31,(7*cos(3*O+D))//128+47,(7*sin(3*O+D))//128+31) Line((7*cos(3*O+D))//128+47,(7*sin(3*O+D))//128+31,(7*cos(4*O+D))//128+47,(7*sin(4*O+D))//128+31) Line((7*cos(4*O+D))//128+47,(7*sin(4*O+D))//128+31,(7*cos(5*O+D))//128+47,(7*sin(5*O+D))//128+31) Line((7*cos(5*O+D))//128+47,(7*sin(5*O+D))//128+31,(7*cos(0*O+D))//128+47,(7*sin(0*O+D))//128+31) sub(B) DispGraph End Return
Lbl A !If (F^5) úEüE End Return
Lbl B 0üGüHüIüJüKüLüMüNüR For(K,0,3) {(2*K)+L}üH {(2*K)+1+L}-6ü{(2*K)+1+L} {(2*K)+1+L}/2üG If (G÷7) 0ü{(2*K)+1+L} {(2*K)+1+L}/2üG End For(L,0,5) (G*cos(L*O+D))//128+47üI (G*sin(L*O+D))//128+31üJ (G*cos((L+1)*O+D))//128+47üM (G*sin((L+1)*O+D))//128+31üN If ((J<<0) and (N<<0)) ElseIf (J<<0) J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI 0üJ ElseIf (N<<0) N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM 0üN End If ((J>>63) and (N>>63)) ElseIf (J>>63) J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI 63üJ ElseIf (N>>63) N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM 63üN End !If (H=L) Line(I,J,M,N) End End End Return
We are only concerned with this segment of code: Lbl B 0üGüHüIüJüKüLüMüNüR For(K,0,3) {(2*K)+L}üH {(2*K)+1+L}-6ü{(2*K)+1+L} {(2*K)+1+L}/2üG If (G÷7) 0ü{(2*K)+1+L} {(2*K)+1+L}/2üG End For(L,0,5) (G*cos(L*O+D))//128+47üI (G*sin(L*O+D))//128+31üJ (G*cos((L+1)*O+D))//128+47üM (G*sin((L+1)*O+D))//128+31üN If ((J<<0) and (N<<0)) ElseIf (J<<0) J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI 0üJ ElseIf (N<<0) N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM 0üN End If ((J>>63) and (N>>63)) ElseIf (J>>63) J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI 63üJ ElseIf (N>>63) N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM 63üN End !If (H=L) Line(I,J,M,N) End End End Return
Simply put: This is the display routine for incoming sprites. If it sees a line that is clipped, it fixes it. This is the first little bit of code: (G*cos(L*O+D))//128+47üI (G*sin(L*O+D))//128+31üJ (G*cos((L+1)*O+D))//128+47üM (G*sin((L+1)*O+D))//128+31üN
It does the polar to rectangular conversion. G is the radius, L*O is the angle of one point relative to D (which rotates everything, so it is added here), and (L+1)*O is the other The 47 and 31 are the coordinates for the center of the screen (the origin) If ((J<<0) and (N<<0)) ElseIf (J<<0) J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI 0üJ ElseIf (N<<0) N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM 0üN End If ((J>>63) and (N>>63)) ElseIf (J>>63) J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI 63üJ ElseIf (N>>63) N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM 63üN End
This is the meat of the routine. It checks if an endpoint is out of bounds (and it both are, it does nothing) (Note: This routine was written for the top and bottom of the screen to be checked, but not the sides. It follows pretty much the same process, only the coordinates are flipped and 448 is 364) The key is the law of sines: There is a triangle formed by the top border of the screen, the vertical line of the x coordinate of the point off-screen, and the line that is being clipped. By using this (the formula above) we can calculate the x coordinate of the point on the line that is at y=0 That is all. Remember to find your angles first if you are using rectangular coordinates. If you don't feel that I explained it well enough, please let me know and tell me what I need to explain.
1189
« on: April 15, 2013, 09:19:17 pm »
[cynical optimism]After the lack of programs submitted for the second round, it looks like I might actually make the finals![/cynical optimism]
My sprite editor was pretty good, so I think I'll have a shot.
1190
« on: April 15, 2013, 09:00:54 pm »
Best video game pickup of mine: Awesomenauts. Give it a try!
It's a side-scroller shooter MOBA. In other words, epic.
Wait: that's not what the topic is about... oops.
1191
« on: April 15, 2013, 06:07:52 pm »
Just as conformation: you are competing? I can't quite tell what the level of sarcasm is in that statement (due to the lol at the end).
1192
« on: April 15, 2013, 06:05:44 pm »
Looks not bad at all!  How are the controls? Are you constantly flying up from itself, since it looks a bit like that.
If up is not pressed, then down. Just arrow key controls. Thanks for asking!
1193
« on: April 15, 2013, 02:30:06 pm »
Well, I've been asked for a screenie, so here is one of my game:  It's not much, but I enjoyed programming it.
1194
« on: April 15, 2013, 09:38:20 am »
I'm in I'll make some sort of a demo program, but I don't know what exactly yet.
EDIT : now that I think of it, I'll surely use an axiom I made some months ago, is it ok ?
An axiom that you made before this contest is allowed Is inline ASM allowed?
Only if you can show me that it came from before this contest (use your best judgement here) Hmm, I think I'm entering. I just have to think of a cool idea 
Should I add you to the competitors list? i may go and learn axe for this 
Do it! It is worth it! This contest is just for experience and for fun (As I said, just for the heck of it!). So this is like an open-ended cage match? Sounds pretty cool 
Yes, yes it is.
1195
« on: April 14, 2013, 09:15:02 pm »
With all these fancy contests around (with prizes and such), I thought it would be nice to see a contest. Just a contest. Nothing but a contest. No prizes. Just for the heck of it.
The rules are simple:
Make an Axe program that will amaze (you must not have been working on it before now). It can be math, games, whatever. Just do whatever inspires you. Tell me what it will be on this thread. I will add you to the list of contestants. Program it. You may not release source or binaries until the due date (screenies okay, though). Have fun! Your job is to make others like your project. You may use axioms, but you may not create your own specifically for this task. You may use external ASM code, but you may not create your own specifically for this task.
Due date: 12:00 AM on May 27, 2013
How to win: Community votes. I'll put a poll up and have a topic with all the files attached. The person with the most votes by June 1st wins!
Known Competitors:
Matrefeytontias
Ki1o
1196
« on: April 14, 2013, 03:12:22 pm »
THIS IS AWESOME!
Now port Windows
* pimathbrainiac runs to Antarctica Windows 3.1 running in DosBox. That might work.
WinCE, perhaps?
anyone up to the challenge?
Why not PalmOS?
Because I thought of WinCE first  PalmOS is a good choice too, I suppose. So long as the OS can be compiled for ARM, it's good. * pimathbrainiac wonders if it is possible to emulate x86 on ARM (I don't know if ARM is 16 bit or 32 bit) Edit: WinCE and PalmOS have both been ported to ARM, so it looks like they might be possible
1197
« on: April 14, 2013, 03:04:15 pm »
THIS IS AWESOME!
Now port Windows
* pimathbrainiac runs to Antarctica Windows 3.1 running in DosBox. That might work.
WinCE, perhaps? anyone up to the challenge?
1198
« on: April 14, 2013, 03:03:11 pm »
derp. my fault. I didn't realize that m68k was for the console itself
1199
« on: April 14, 2013, 02:59:01 pm »
Just fyi, Mega drive and Sega Genesis are the same thing. 
Good! Because I know more about the code than the hardware this is just a port, so I don't have to go learn m68k ASM.
I thought nSpires were ARM?
1200
« on: April 14, 2013, 02:53:56 pm »
Out of curiosity, will this be a true emulator, or a simulator?
(for clarity: an emu emulates hardware, while a simulator simulates software)
Pages: 1 ... 78 79 [80] 81 82 ... 125
|