Author Topic: Portal Prelude  (Read 254017 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Portal X
« Reply #300 on: June 28, 2010, 10:57:58 pm »
Hmmm 3x3 boxes didnt solve the Portal problem, i was mistaken...  Hmmmm and the 3x3 is harder to simulate than i thought.  Requires 2x the pixel testing to simulate accurately without error...  Hmmm i hope i can make it work
ouch, sorry to hear x.x, I hope you can get it figured out soon.

One thing I wonder: I forgot if you were planning to make a level editor once the game is finished?

Offline Builderboy

  • Physics Guru
  • Project Author
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Portal X
« Reply #301 on: June 29, 2010, 12:49:05 am »
Immovable turrets kinda defeats the original purpose of turrets though, which is to find some way to either get behind them or knock them over with boxes.  Oh well, i think the game will be fine without them :P

As for Level Editor, definetaly.  I will probably just modify the current level creator i have to be a bit more user friendly and bug free.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Portal X
« Reply #302 on: June 29, 2010, 01:27:43 am »
yay! ;D

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: Portal X
« Reply #303 on: June 29, 2010, 10:39:02 am »
This keeps getting better and better.
How did you deal with the 8kb limit? Did you rewrite the engine?
Hobbing in calculator projects.

Offline Builderboy

  • Physics Guru
  • Project Author
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Portal X
« Reply #304 on: June 29, 2010, 02:31:15 pm »
I have a version of Axe that compiles the App, so memory isnt a problem anymore.  I have just been using MirageOS because it has a faster compile time, and as of now my program is still small enough to be run.

On a different note, i discovered that my game engine spent roughly 18% of its time multiplying by 18 o.O Since i was multiplying by 18 in my collision code, things were slowing down.  Soooo i changed

Code: [Select]
A*18
to

Code: [Select]
A*2*2*2*2+A+A
And almost 18% of the computational time has been removed :D.  Also, Quigibo, correct me if im wrong, but boolean expressions in Axe are actualy slower than their corospondinf If Statements right?  So

Code: [Select]
X-51->D
If A>30000
D+307->D
End

is faster than

Code: [Select]
A>30000*307-51+D->E
Right?  Since one multiplies by 307 and the other does not.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Portal X
« Reply #305 on: June 29, 2010, 02:32:57 pm »
I have a version of Axe that compiles the App, so memory isnt a problem anymore.  I have just been using MirageOS
Your program doesn't run No-stub?

And nice optimization. Sometimes, speed can be a bit more important than size

Offline Builderboy

  • Physics Guru
  • Project Author
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Portal X
« Reply #306 on: June 29, 2010, 02:39:31 pm »
Nope, it compiles to about 9100 bytes so noStub isnt possible right now.  Lucky for me the 9100 contains enough data so that it still works in MirageOS. 

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Portal X
« Reply #307 on: June 29, 2010, 02:42:36 pm »
aaah ok. So for Nostub it needs to be 8 ish KB including the data? Something I need to keep in mind when compiling stuff...

Offline Builderboy

  • Physics Guru
  • Project Author
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Portal X
« Reply #308 on: June 29, 2010, 02:48:50 pm »
Yeah for Nostub the limit I think is 8100 bytes about including data.  Silly TI x.x

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Portal X
« Reply #309 on: June 29, 2010, 03:10:19 pm »
Ouch x.x

Good thing I learned this before attempting abusing det() too much. This doesn't happen with  appvars, fortunately, though.

Offline mapar007

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 550
  • Rating: +28/-5
  • The Great Mata Mata
    • View Profile
Re: Portal X
« Reply #310 on: June 29, 2010, 03:29:24 pm »
Yeah for Nostub the limit I think is 8100 bytes about including data.  Silly TI x.x

Actually that's not entirely correct. You can have approx. 8100 bytes of executed code, but your data can extend beyond that limit. As long as you don't execute across the 8100 line ($C000), you're fine, so reorganizing data sometimes pays off. (i.e. putting it all at the end of the program binary)

EDIT for the nitpickers: This holds in the standard memory mapping. If you swap in an uneven-numbered RAM page in the $C000 bank, you'll be safe to execute code, but that's not really the best way to deal with the problem :) (cue OS freakout on every interrupt => CRASSHHHH)

Offtopic edit: this semi-useful post is my #400. I'm still the staff member with the lowest postcount, though.
« Last Edit: June 29, 2010, 03:32:03 pm by mapar007 »

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Portal X
« Reply #311 on: June 29, 2010, 03:39:34 pm »
An even faster way to do this:
Code: [Select]
A*18
Is this:
Code: [Select]
A*6*3
Since both *6 and *3 are auto optimized.

Quote
Also, Quigibo, correct me if im wrong, but boolean expressions in Axe are actualy slower than their corospondinf If Statements right?

Not sure about that, I would say it would only be slower if you had to do extra math like a multiplication or a division.  But I do know that
Code: [Select]
A<<0
Is faster and smaller than
Code: [Select]
A>30000
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Portal X
« Reply #312 on: June 29, 2010, 03:43:28 pm »
quigibo, is there a list of auto-optimized mulitiplication/division/signed division etc. numbers?


Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Portal X
« Reply #313 on: June 29, 2010, 03:47:55 pm »
It is included in the Axe downloads. The file is called Auto Opts.txt or something like that.

@Mapar not really, the staff with lowest post count is Miotatsu :P

Offline Builderboy

  • Physics Guru
  • Project Author
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Portal X
« Reply #314 on: June 29, 2010, 03:54:03 pm »

Actually that's not entirely correct. You can have approx. 8100 bytes of executed code, but your data can extend beyond that limit. As long as you don't execute across the 8100 line ($C000), you're fine, so reorganizing data sometimes pays off. (i.e. putting it all at the end of the program binary)



Thats true for MirageOS or other Shells, but for asm program run from the home screen, data counts.  try this in Axe:

Code: [Select]
.Axe
Zeros(9001)->Str1
Output(0,0,"OHAI

you get an Asm program thats mostly data, and yet the TiOS throws an Error Invalid upon execution.  The limit on the home screen is about 8100 of program size.  The limit for shells is about 8800 of executable.

And thanks Quigibo ;D I need to check the auto optimizations list more often, and stop being a silly programer :P thanks!
« Last Edit: June 29, 2010, 03:55:45 pm by Builderboy »