Author Topic: Isometry  (Read 12287 times)

0 Members and 1 Guest are viewing this topic.

Ashbad

  • Guest
Re: Isometry
« Reply #45 on: January 20, 2011, 08:44:25 pm »
yeah, I would do marble madness, but first I would convert this to an axiom and make it faster before I made a product with it.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Isometry
« Reply #46 on: January 20, 2011, 10:10:44 pm »
An axiom would actually be cool, if we can customize it and stuff. It would allow for more projects :D
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Isometry
« Reply #47 on: January 21, 2011, 03:28:32 pm »
yeah, I would do marble madness, but first I would convert this to an axiom and make it faster before I made a product with it.

Axiom Isometry Games would be interesting. However, I can't really see what kind of games could be made with this engine :S I can only come up with Habbo :P

Ashbad

  • Guest
Re: Isometry
« Reply #48 on: January 21, 2011, 03:30:49 pm »
I think this engine, while still long ways away from being immaculate in speed, size, and graphics, can still be used for some really cool projects; I can think of at least 50 different ways to use it, like a 3D pinball or rollercoaster creator

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Isometry
« Reply #49 on: January 21, 2011, 03:31:52 pm »
I think this engine, while still long ways away from being immaculate in speed, size, and graphics, can still be used for some really cool projects; I can think of at least 50 different ways to use it, like a 3D pinball or rollercoaster creator

ROLLERCOASTER, hahah I'd love that.

Ashbad

  • Guest
Re: Isometry
« Reply #50 on: January 21, 2011, 03:34:09 pm »
How about a rollercoaster game with a pinball machine attached to the coaster seats ;D

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Isometry
« Reply #51 on: January 21, 2011, 04:09:38 pm »
How about a rollercoaster game with a pinball machine attached to the coaster seats ;D

Is there a pinball already?

Well, I prefer 2D Pinball, but that would be interesting to code :)

Ashbad

  • Guest
Re: Isometry
« Reply #52 on: January 21, 2011, 04:10:44 pm »
no pinball in quasi-3D yet, but there was a most excellent one on ticalc that had a really long and weird name that started with an 'A' that was awesome.

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Isometry
« Reply #53 on: January 21, 2011, 04:19:23 pm »
Acelgoyobis
http://www.ticalc.org/archives/files/fileinfo/355/35586.html
It means "little steel ball" in Hungarian. :)
« Last Edit: January 21, 2011, 04:19:48 pm by ztrumpet »

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Isometry
« Reply #54 on: January 21, 2011, 04:20:18 pm »
It has a jAva map editor?

Offline lookitsan00b

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 173
  • Rating: +37/-3
    • View Profile
Re: Isometry
« Reply #55 on: January 21, 2011, 05:54:55 pm »
An axiom would actually be cool, if we can customize it and stuff. It would allow for more projects :D
I don't think that's likely to happen.  Nobody is going to want to be limited to the built-in sprites, and I really don't think that axioms are that customizable, but I wasn't around when they were an option, so idk.  The most I could give is something that calculates X and Y from X, Y, and Z, a 16x16 Pt-Mask(), and a couple rect()'s.  That comes out to (in unoptimized axe, ASM would be soo much easier):
Spoiler For big code block:
Code: [Select]
:Pt-16-Iso(X,Y,Z,Pic_16_With_Mask)

:[00000000]->Str1  .temporary memory space, so we don't have to use named variables (won't work with apps)
:r1-r2*8->{Str1}                   .X on screen
:r1+r2-r3*4->{Str1+1}           .Y

:.Draw the two bottom lines any which way, I used masked sprites :P

:.Just in case Y is off the top of the screen (can be ignored if that limitation is removed)
:If {Str1+1}+16<<0
:0->{Str1+2}
:r3*4+{Str1+1}+16->{Str1+3}
:Else
:{Str1+1}+16->{Str1+2}
:r3*4->{Str1+3}
:End

:.Connector lines
:Rect({Str1},{Str1+2},8,{Str1+3})
:Rect({Str1}+8,{Str1+2},8,{Str1+3})  .Because if X is off the left side...
:RectI({Str1}+1,{Str1+2},6,{Str1+3})
:RectI({Str1}+9,{Str1+2},6,{Str1+3}) .same

:Pt-Mask_16({Str1},{Str1+1},r4)

Main problem with my current setup is that I have to draw so many rectangles and do so many calculations.  The task is trivial in ASM, as, for the connector lines, all you have to do is load $8181 to a column...

On second thought, an axiom would be so useful.  However, a X/Y offset argument would be useful, especially for smoother scrolling (just add or subtract from the initial X/Y calculations).

I'm having trouble with compression in my program, tho.  It works perfectly fine with uncompressed data, but when I try to compress something, it messes everything up. :(

The compression should work like:
Spoiler For compression example:
Code: [Select]
Uncompressed data:  (format: [TTXXYYZZ], TT=tile type)
[00010101]
[00020101]
[00030101]
[00040102]
[00050003]
[00050102]
[00060102]
[00070102]

Compressed Data:
[F00007]  //make T=00 for 7 blocks, not including exceptions... lol oxymoron
[F1010107]  //auto-increment X, and keep Y=01 for 7
[F30103]  //make Z=1 for 3 blocks
[FF] //ignore me and loop, stupid program
[FE00050003] //EXCEPTION! ignore everything else and interpret this as uncompressed
[F30204]  //make Z=2 for the last four blocks
[FF] //:P
That compresses 32 bytes to 20 bytes!!! (most maps would get a much better ratio)

PS: the compression codes were specifically chosen to represent the task they perform, for example, F1 replaces bytes starting at 1, FE is an exception...
It has a jAva map editor?
Are you offering? ;) I don't know much java. ???
« Last Edit: January 21, 2011, 06:18:30 pm by lookitsan00b »
My TI-94+SE is broken.  I used some flawed existential conditioning on it, and it crashed. :(

Activity level:
{====______}

Spoiler For Securite:
{=========_}

A couple security flaws
Need a good backdoor short of reinstalling the OS
Completely immobilized and invalidated by Zstart. And rendered incompatible.
Spoiler For FFTATIA:
{====______}

framework: mostly done
graphics engine: undergoing complete rewrite
still need character and enemy sprites!!! :P

Offline Binder News

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 785
  • Rating: +46/-3
  • Zombie of Tomorrow
    • View Profile
Re: Isometry
« Reply #56 on: January 21, 2011, 06:36:23 pm »
I would do a Java map editor. I know a lot of Java.
Spoiler For userbars:







Hacker-in-training!   Z80 Assembly Programmer     Axe Programmer
C++ H4X0R             Java Coder                           I <3 Python!

Perdidisti ludum     Cerebrum non habes

"We are humans first, no matter what."
"Fame is a vapor, popularity an accident, and riches take wings. Only one thing endures, and that is character."
Spoiler For Test Results:





Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Isometry
« Reply #57 on: January 22, 2011, 03:06:46 am »
I think maybe an Axiom that does the tilemapping based on window settings and tilemap width would be actually pretty neat!  You could have a setup function where you could give it the Matrix address, the sprite address, and the mask address, the map width and height, and the window size and it would be all set up.  After that, just a simple Draw(X,Y) would render the screen at that point! With maybe a couple more commands for drawing isometric sprites.

Offline Binder News

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 785
  • Rating: +46/-3
  • Zombie of Tomorrow
    • View Profile
Re: Isometry
« Reply #58 on: January 22, 2011, 10:08:26 am »
@^^ Yeah! That would be AWESOME!
Spoiler For userbars:







Hacker-in-training!   Z80 Assembly Programmer     Axe Programmer
C++ H4X0R             Java Coder                           I <3 Python!

Perdidisti ludum     Cerebrum non habes

"We are humans first, no matter what."
"Fame is a vapor, popularity an accident, and riches take wings. Only one thing endures, and that is character."
Spoiler For Test Results:





Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Isometry
« Reply #59 on: January 26, 2011, 10:30:56 pm »
How is progress going?
Is it halted because your Ti-94+SE is crashed?
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________