Author Topic: Breakout clone  (Read 20594 times)

0 Members and 2 Guests are viewing this topic.

Offline lookitsan00b

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 173
  • Rating: +37/-3
    • View Profile
Re: Breakout clone
« Reply #45 on: November 10, 2010, 11:23:51 pm »
Four things I've learned about Axe from this project:

Code: [Select]
0->{A-3}->{A-2}
fails, as does
Code: [Select]
!If X
...
ElseIf X=1
...
ElseIf X=2
...
End
That throws a ERR: BLOCK.

Also, Rect( doesn't work well with negatives.
Spoiler For upcoming content:
Would be useful for a certain type of block...

And finally, I was pleasantly suprised that this works:
Code: [Select]
If X=0
...
ElseIf X=1
...
Else
...
End

The first stumped me for quite a while :P I was optimising and suddenly the game would only display the first frame...
All better now :D
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 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: Breakout clone
« Reply #46 on: November 11, 2010, 01:45:21 am »
Woah! I just saw the new screenshot and it looks even better! It's sure gonna be fun to create levels. ;D
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Breakout clone
« Reply #47 on: November 11, 2010, 02:03:40 am »
I spent about half an hour in endless mode.
A few limits might help to keep the game challenging and interesting.

1) Paddle width--after a while it was wider than the screen, so you could just leave it and/or watch the score increase ;D
2) # of balls limit--there were about 20 by the time I got tired of it
3) some way to keep track of the score if it goes over 65535.  It looped six or seven times :P
Code: [Select]
Disp <Score>,i,"65535 times ",<Var>  With <var> incrementing by 1 each 65535 or something. 
Vy'o'us pleorsdti thl'e gjaemue

Offline lookitsan00b

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 173
  • Rating: +37/-3
    • View Profile
Re: Breakout clone
« Reply #48 on: November 11, 2010, 08:50:35 am »
I spent about half an hour in endless mode.
A few limits might help to keep the game challenging and interesting.

1) Paddle width--after a while it was wider than the screen, so you could just leave it and/or watch the score increase ;D
2) # of balls limit--there were about 20 by the time I got tired of it
3) some way to keep track of the score if it goes over 65535.  It looped six or seven times :P
Code: [Select]
Disp <Score>,i,"65535 times ",<Var>  With <var> incrementing by 1 each 65535 or something. 
...Whoa.  I never really expected it to be possible to make it loop... I'll probably think of something. (like using one variable for the lower 4 digits and another for the upper, max 655,359,990)  I thought the paddle-size power-downs would make up for the lack of a cap... they seem far more common than their happy counterparts to me. :P

Lol I just found a bug that existed since v.50(and before) :D
 Whenever I deleted something, I just copy the last item in the list over the one that got deleted.
 I just realized that the item that gets copied doesn't get hittested, etc. (whatever the loop is for)
 Just 3 more increments in the whole thing, probably amounts to, at most, 9 bytes :)
 (I've been having really big problems with size recently... can't fit both the source and the program in ram at the same time)
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 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: Breakout clone
« Reply #49 on: November 11, 2010, 05:29:48 pm »
Yeah I think at one point you need to delete the program then compile the source from archive. That said, I can't wait to see what you will come up with in updates.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline lookitsan00b

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 173
  • Rating: +37/-3
    • View Profile
Re: Breakout clone
« Reply #50 on: November 11, 2010, 05:42:56 pm »
Yeah I think at one point you need to delete the program then compile the source from archive. That said, I can't wait to see what you will come up with in updates.
Actually it wasn't that big, I just had to archive the source before running. Also, I pulled a battery, and for some odd reason it freed up some more ram ??? Probably should have another look at my saving routine... (should I be using delvar?)

Spoiler For future content:
It's not here yet. Check back later.
Spoiler For what I'm working on:
Well I can tell you for certain that bomb blocks are out. Can't say the same for C-4 blocks ;) (the destroyed blocks use their normal destruction routines: 1-hit blocks are destroyed, 3-hit blocks degrade, powerups drop, and C-4 blocks explode) (having a couple problems with cascading explosion, also, I have exhausted the whole alphabet :()
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 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: Breakout clone
« Reply #51 on: November 11, 2010, 05:53:51 pm »
Weird, I would do a backup somewhere like a computer in case, though.

EDIT: By the way what do you mean by bomb blocks being out? Do you mean you will not implement them?
« Last Edit: November 11, 2010, 05:55:29 pm by DJ Omnimaga »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline lookitsan00b

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 173
  • Rating: +37/-3
    • View Profile
Re: Breakout clone
« Reply #52 on: November 11, 2010, 06:14:25 pm »
Weird, I would do a backup somewhere like a computer in case, though.

EDIT: By the way what do you mean by bomb blocks being out? Do you mean you will not implement them?

Exactly what I meant... But now I'm having even more problems: I'm getting 'ERR: INVALID' when I try to run it... (no, I'm not trying to run the source :P, and yes, I am using 'Asm('. Isn't there a max program size or something? It isn't 8k, is it?)
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 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: Breakout clone
« Reply #53 on: November 11, 2010, 06:16:32 pm »
8 KB for the executable code. That excludes the data included in the executable. For Flash APPs it's 16 KB for both the code and data included inside it.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Breakout clone
« Reply #54 on: November 11, 2010, 06:17:02 pm »
Code: [Select]
!If X
...
ElseIf X=1
...
ElseIf X=2
...
End
That throws a ERR: BLOCK.

Also, Rect( doesn't work well with negatives.
Spoiler For upcoming content:
Would be useful for a certain type of block...

And finally, I was pleasantly suprised that this works:
Code: [Select]
If X=0
...
ElseIf X=1
...
Else
...
End

That's a bug that should have been fixed in Axe 0.4.5... What version are you using?

Weird, I would do a backup somewhere like a computer in case, though.

EDIT: By the way what do you mean by bomb blocks being out? Do you mean you will not implement them?

Exactly what I meant... But now I'm having even more problems: I'm getting 'ERR: INVALID' when I try to run it... (no, I'm not trying to run the source :P, and yes, I am using 'Asm('. Isn't there a max program size or something? It isn't 8k, is it?)

If it's more than 8192 bytes, the OS refuses to run it with Asm(.
« Last Edit: November 11, 2010, 06:18:30 pm by Deep Thought »




Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Breakout clone
« Reply #55 on: November 11, 2010, 06:19:41 pm »
8811, to be exact, if it's compiled for a shell.
Quote
also, I have exhausted the whole alphabet :(
Are you already using L1?
« Last Edit: November 11, 2010, 06:20:29 pm by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Breakout clone
« Reply #56 on: November 11, 2010, 06:20:30 pm »
8811, to be exact.
Quote
also, I have exhausted the whole alphabet :(
Are you already using L1?

No, 8811 is the number of bytes that you can run from a shell. With Asm(, you can only run 8192 bytes. Any more and the OS gives you an ERR:INVALID.




Offline lookitsan00b

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 173
  • Rating: +37/-3
    • View Profile
Re: Breakout clone
« Reply #57 on: November 11, 2010, 06:22:49 pm »
well then who wants to optimize some code ;D I don't have any experience in it, and my minor attempts so far have failed dramatically.

I actually have very little data in here. Most of my graphics are Rect(/RectI( commands.

Just a couple tips for anybody who wants to take this on:
  It's mostly uncommented.  All I have are section headers.
  The Output( statement immediately after the second DispGraphr was for debugging, it's what pushed me over the limit :P

any volunteers?

EDIT:
Code: [Select]
!If X
...
ElseIf X=1
...
ElseIf X=2
...
End
That throws a ERR: BLOCK.

Also, Rect( doesn't work well with negatives.
Spoiler For upcoming content:
Would be useful for a certain type of block...

And finally, I was pleasantly suprised that this works:
Code: [Select]
If X=0
...
ElseIf X=1
...
Else
...
End

That's a bug that should have been fixed in Axe 0.4.5... What version are you using?

Weird, I would do a backup somewhere like a computer in case, though.

EDIT: By the way what do you mean by bomb blocks being out? Do you mean you will not implement them?

Exactly what I meant... But now I'm having even more problems: I'm getting 'ERR: INVALID' when I try to run it... (no, I'm not trying to run the source :P, and yes, I am using 'Asm('. Isn't there a max program size or something? It isn't 8k, is it?)

If it's more than 8192 bytes, the OS refuses to run it with Asm(.
I'm using 0.4.5 :P

8811, to be exact.
Quote
also, I have exhausted the whole alphabet :(
Are you already using L1?

No, 8811 is the number of bytes that you can run from a shell. With Asm(, you can only run 8192 bytes. Any more and the OS gives you an ERR:INVALID.

I am using L1, L2, and L4, not to mention the buffers...
My program is 8216 running with Asm(
« Last Edit: November 11, 2010, 06:26:01 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 Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Breakout clone
« Reply #58 on: November 11, 2010, 06:27:08 pm »
well then who wants to optimize some code ;D I don't have any experience in it, and my minor attempts so far have failed dramatically.

I actually have very little data in here. Most of my graphics are Rect(/RectI( commands.

Just a couple tips for anybody who wants to take this on:
  It's mostly uncommented.  All I have are section headers.
  The Output( statement immediately after the second DispGraphr was for debugging, it's what pushed me over the limit :P

any volunteers?

Hmm, let's see.

All If  statements that say something like

Code: (Axe) [Select]
If I=1
can be optimized to

Code: (Axe) [Select]
!If I-1
and it'll save several bytes. (I think there were certain conditions where you couldn't do that, but I don't remember what. They're not important, anyway ;D)




Offline lookitsan00b

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 173
  • Rating: +37/-3
    • View Profile
Re: Breakout clone
« Reply #59 on: November 11, 2010, 06:29:01 pm »
well then who wants to optimize some code ;D I don't have any experience in it, and my minor attempts so far have failed dramatically.

I actually have very little data in here. Most of my graphics are Rect(/RectI( commands.

Just a couple tips for anybody who wants to take this on:
  It's mostly uncommented.  All I have are section headers.
  The Output( statement immediately after the second DispGraphr was for debugging, it's what pushed me over the limit :P

any volunteers?

Hmm, let's see.

All If  statements that say something like

Code: (Axe) [Select]
If I=1
can be optimized to

Code: (Axe) [Select]
!If I-1
and it'll save several bytes. (I think there were certain conditions where you couldn't do that, but I don't remember what. They're not important, anyway ;D)

Actually I was thinking about asking if that would be better.
Condition where you can't do that:
  When you're using ElseIfs (at least with my version of Axe)

EDIT: actually, edit out that Output( statement and it will run perfectly, except for the new type of block I was putting in.
« Last Edit: November 11, 2010, 06:30:41 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