|
| 22 Nov 2013 08:23 PM |
It's for creating 3D games. Basically, it's a library, you include it, and it allows you to draw 3D points. It will also have a couple built-in shapes, like rectangles and rectangular prisms.
Let's say you're using Mimas, which is an amazing Assembly IDE for the calcs, and you want to use it. All you need to do is add it as a library, then you can start using 3D stuffs.
So far, you can do this after including the file:
----------------------------------------------------------- ORG UserMem-2 DB $BB, $6D START: LD A, 0 LD (_pixler_cube_x), a LD A, 0 LD (_pixler_cube_y), a LD A, 0 LD (_pixler_cube_z), a LD A, 10 LD (_pixler_cube_width), A LD A, 10 LD (_pixler_cube_depth), A LD A, 10 LD (_pixler_cube_height), A CALL DefineCube BCALL GrBufClr CALL DisplayCube BCALL GrBufCpy RET -----------------------------------------------------------
This will create a cube starting at point (0,0,0) with dimensions 10x10x10.
This isn't isometric 3D. This is actual 3D. If you create a cube like above and move it around the center, the cube will appear to curve towards the center, like real life, how things curve towards the center of your vision. And increasing the depth makes it appear smaller. I did define a subroutine called "DefinePoint" and "DefinePointISO". You can call on "DefinePointISO" if you really want to create an isometric point.
After I finish the library, I will also attempt to build a copy of it for Doors CS for optimization. I'm currently building it with the default shell that comes with the calculators ("Asm("). It runs at a good speed, but if I were to change to the Doors CS shell, it should run faster.
Anyways, yeah. You will be able to create 3D stuff in it.
I will post more of this on Cemetech if anyone cares to try it out. |
|
|
| Report Abuse |
|
|
|
| 22 Nov 2013 08:27 PM |
| Curve towards the center? xD |
|
|
| Report Abuse |
|
|
|
| 22 Nov 2013 08:31 PM |
"Curve towards the center? xD"
Yes? Was there some sort of innuendo with what I said? Maybe the word "curve" wasn't the best explanation, since these are 3D points and have no lines between them to view curvature. The lines are drawn as straight lines connecting the points after all the calculations have already been done.
There's really no other better word for it. It "bends" towards the center?
As you move it around the center of the screen, the points tend towards the center based on their depth. Greater the depth, the closer to the center. This creates a pretty darn good 3D effect. |
|
|
| Report Abuse |
|
|
|
| 22 Nov 2013 08:33 PM |
Here's a demonstrations: /ZeglI6U.gif
Note that it does not flicker and runs smoother on the actual calculator than the emulator that I recorded that GIF on |
|
|
| Report Abuse |
|
|
|
| 22 Nov 2013 08:53 PM |
| Pretty good, but it'd be way better if it used 2-bit grayscale with filling instead of wireframe and if you used a vertex-based rendering. |
|
|
| Report Abuse |
|
|
|
| 22 Nov 2013 09:47 PM |
>"Pretty good, but it'd be way better if it used 2-bit grayscale with filling instead of wireframe and if you used a vertex-based rendering."
Yeah, like this could totally be done on the TI-83/84.
|
|
|
| Report Abuse |
|
|
Charl3s7
|
  |
| Joined: 07 Dec 2007 |
| Total Posts: 4146 |
|
| |
|
|
| 22 Nov 2013 10:55 PM |
"Uhh... why?"
So you can make 3D games/apps for the calculator? Why not?
|
|
|
| Report Abuse |
|
|
Charl3s7
|
  |
| Joined: 07 Dec 2007 |
| Total Posts: 4146 |
|
|
| 22 Nov 2013 11:47 PM |
| Because that's totally useless. Nobody buys a calculator to play games on it. You're wasting your time. |
|
|
| Report Abuse |
|
|
cntkillme
|
  |
| Joined: 07 Apr 2008 |
| Total Posts: 44956 |
|
| |
|
MettaurSp
|
  |
| Joined: 20 Mar 2010 |
| Total Posts: 3179 |
|
|
| 23 Nov 2013 12:12 AM |
| If it done for enjoyment, then it isn't a waste of time. I make games and programs on my TI-84+ all the time, and other people rarely use those, yet I don't really care. It is good for learning too, even if it is just written in TI-Basic, because using TI-Basic can teach the importance of fast and efficient code. For example, I wrote a snake game program, and it took exponentially longer to calculate the movement with each extra pixel added onto it's length when I was using a list to hold coordinates, and I optimized it to run at a smooth frame rate, only lagging when the tail segment ended by storing segment direction and length values in the list instead. |
|
|
| Report Abuse |
|
|
XML1
|
  |
| Joined: 26 Jun 2013 |
| Total Posts: 95 |
|
|
| 23 Nov 2013 12:28 AM |
| It's good practice and can be applied throughout game programming,but it makes me wonder what fps you would get, and how it would look. The game would flash so much it would be unplayable. |
|
|
| Report Abuse |
|
|
Charl3s7
|
  |
| Joined: 07 Dec 2007 |
| Total Posts: 4146 |
|
|
| 23 Nov 2013 01:11 AM |
| It'd be a better use of time to make something that's actually worth making. There's much more learning potential. You can worry about the importance of optimized code in other languages. BASIC languages should be obsolete by now. |
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 01:13 AM |
@Charl3s7
"Because that's totally useless. Nobody buys a calculator to play games on it. You're wasting your time."
Your first sentence, second sentence, and third sentence, are all independent of each other and none of them support each other.
"Because that's totally useless." You never explain why it's useless.
"Nobody buy a calculator to play games on it." You make this statement, but don't explain how it has anything to do with it being useless. Plenty of people don't buy their calculator to play games on it, but plenty of people still play games on their calculator.
"You're wasting your time." You then make this statement, but fail to explain how it relates to it being useless or nobody buying a calculator to play games. Even if it was useless, that still wouldn't make it a waste of time, because it would still be a fun and learning experience for myself.
@MettaurSp "If it done for enjoyment, then it isn't a waste of time. I make games and programs on my TI-84+ all the time, and other people rarely use those, yet I don't really care. "
Same with me. I write z80 Assembly games on my calc all the time. Not many people play them, but I do it for fun.
Also, some apps I make are actually useful for school. I've written a periodic table that you can scroll around and view for chem. I've written a program that returns information on whatever element is stored in Ans (such as, if you type "CO" then type in Asm(prgmELEMENTS) it will return info on it, such as molar mass). I've also written a program that creates factor trees from numbers.
"even if it is just written in TI-Basic, because using TI-Basic can teach the importance of fast and efficient code."
Actually, it's written in z80 Assembly. I tried writing a 3D engine in TI-BASIC. TI-BASIC is way too slow for something like this. I would recommend downloading Mimas. It's an on-calc assembler for the TI-83s and TI-84s. It's a pretty amazing IDE and will compile your code for all major shells. I also purchased the TI-Keyboard to plug into my calc and type up Assembly code when I'm away from my laptop. It's pretty beast.
@XML1 "it makes me wonder what fps you would get, and how it would look" There's already an FPS. It's called zDoom. It runs pretty great.
"The game would flash so much it would be unplayable." Um, why would it flash? The TI calcs have double-buffered graphics. When writing z80 Assembly code, there's absolutely zero flash because the graphics are double-buffered.
|
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 01:14 AM |
"BASIC languages should be obsolete by now."
It's not BASIC, ya dip. It's z80 Assembly. I provided an example code in the first post. |
|
|
| Report Abuse |
|
|
Oysi
|
  |
| Joined: 06 Jul 2009 |
| Total Posts: 9058 |
|
| |
|
MettaurSp
|
  |
| Joined: 20 Mar 2010 |
| Total Posts: 3179 |
|
|
| 23 Nov 2013 01:18 AM |
| I wasn't really referring to your 3D rendering code, I was referring to the stuff I make o3o All I really made for school was a factoring program, a schedule so I won't have to constantly take out my planner (also includes a battery meter using some ASM code I found online), and a couple other things. I should probably start to get into Z80 so I can increase the quality of programs I make. |
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 01:23 AM |
"I should probably start to get into Z80 so I can increase the quality of programs I make."
I could help you, if you want. z80 Assembly is one of my favorite languages. I use it all the time. |
|
|
| Report Abuse |
|
|
MettaurSp
|
  |
| Joined: 20 Mar 2010 |
| Total Posts: 3179 |
|
|
| 23 Nov 2013 01:29 AM |
| Okay, I already know some of the basics of Assembly. I know what opcodes are and how to use some of them, registers, strings (sorta), bytes (sorta), labels, and some framework code for NAsm. |
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 02:07 AM |
Meh, I don't use Nasm. I mostly use ClrHome for writing z80 Asm code on my PC or Mimas for writing it on my calc.
I've used TASM before to write 16bit Windows Assembly and z80 Assembly. But overall, I prefer ClrHome, because you can easily just select "build" then "8xp" and it builds it directly to a calc file, and you don't have to go through the extra step of packaging it with devpack8x or whatever it's called. Also, I like it because it's online so it's easily accessible and I can use it on any device without installation.
ClrHome: http://www.clrhome.org/asm
Mimas: http://www.ticalc.org/archives/files/fileinfo/431/43140.html |
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 02:14 AM |
Hey, I just thought of a new project. I'm going to attempt to port a z80 Assembler to Chrome OS. Chrome OS doesn't have any z80 Assemblers for it yet. Since Chrome OS supports native applications now, it shouldn't be too difficult to make a port, at least, I hope not. |
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 05:59 AM |
| Why would you make 3D games on a calculator when 2D is infinitely more scalable? |
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 07:37 AM |
@Radio
Why would you make a 3D game on any system? |
|
|
| Report Abuse |
|
|
digpoe
|
  |
| Joined: 02 Nov 2008 |
| Total Posts: 9092 |
|
|
| 23 Nov 2013 07:42 AM |
| Have fun with 3D Lighting, heh. |
|
|
| Report Abuse |
|
|
|
| 23 Nov 2013 08:29 AM |
It's just wireframe. It's completely pointless to even attempt to fill the shapes with a 1-bit screen. |
|
|
| Report Abuse |
|
|