Stealth-Cancelled

A forum where you can announce your awesome project(s).

Moderator: MaxCoderz Staff

Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

Well first off, I do see only 2 downloads on that so far, i thought it would be downloaded faster than that... oh well

onto the news:

Mission 2 has now been planned out and I am currently programming the screens. About half of the stuff in this mission I referenced to Metal Gear Solid (and parodys of it :) ) and the other half is a bunch of puzzles that some of you might not know, but thats why I'm putting spoilers way down at the bottom of the readme file... :D

Finally, it looks like ive got to find out how to program each of these boss battles to be entertaining, yet workable, while not exceeding the memory limit (Ive already done at least 3000 bytes worth, and thats just the beginning screen and basic layouts of 2 other screens :( )

Also, I think I may need a private beta tester to test the bosses on this one to make sure that they are fun and workable (its better to see other points of view than your own :D ). Any volunteers?
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

I'll beta test it.

email: CompWiz17@gmail.com
Last edited by CompWiz on Wed 05 Apr, 2006 2:39 am, edited 1 time in total.
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

lol, that was quite fast.

I'll give others a chance to put a post up to see if they want to beta test it, then ill make a quick "hat drawing" program to see who gets to.
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Ok, well I downloaded it as I have done in the past. I still think it is very fun, and the mine detector was a great addition! So now that is said lets move onto business.
Here are a few optimizations I would like to suggest.

Code: Select all

For(I,1,8
For(J,1,16
If [A](I,J)=1:Output(I,J,"=
etc...

can be

For(I,1,8
For(J,1,16
Output(I,J,sub(" =+-",[A](I,J)+1,1
End
End
This would make the map loading alot faster. I started to optimize your game, but I got busy with other things..I see you have a map loading engine in each program (S1,S2 etc..). Well you could make it where you have one program for dialogs and one for levels. Where in the levels you would have something like

Code: Select all

L+1->L
If L=1:Then
;matix code for the level
;the string to be displayed on top (like L=left or w/e)
;the cord. of the end of the level...
;a flag for which type of enime(s)
End
etc each level
;here would be your display routine, I know you have some levels where 3 on a matic would be a R or something. But if you went and reworked it where 0=space 1="=" etc then you would only need one map display routine.
and the starting program (main one) would have you declariations of your varibles and also DelVar L before your main loop.

I can explain this to you more if you would like, I hope this doesn't discuorage you as it would make your program size alot smaller. Thanks and good luck!

p.s. lots of spelling errors here :P.
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

well, i think that im not too far into mission 2 to instate your first suggestion into it, plus into the other missions as well, but if you could explain your second suggestion to me a little more for me to understand it. I think it may be a little late right now with the progress I made, but after I release Mission 2, i could probably use what you said to revise the three missions as to make them an easier access.

BTW, Mission 2 is going ok, first boss is almost done, and i think it will be quite fun/funny (im hoping).

Most of this is going to take alot of guess and check to see if it will work the way i want it to.

Edit: Your first suggestion rocks! Im switching all map fuctions over to it right now for Missions 0, 1, and 2. Could you post button pathway for the sub( command though? would be easier than using catalog :D
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

I am not sure if it is anywhere besides catalog, at least not with the use of any asm routines. Well to go into detail I meant something like making all you level be runned through one program.

Ok I will show an example with your code, you have a matix in each S1-SX program and you have a display routine for each program

Code: Select all

:For(I,1,8
:For(J,1,16
:If [J](I,J)=1
:Output(I,J,"!
:If [J](I,J)=2
:Output(I,J,"+
:If [J](I,J)=3
:Output(I,J,"-
:End
:End
well instead of you having a display routine on each SX program you could put it inside of one example of a Level program:

Code: Select all

DelVar [J]L+1→L ;we delete [J] so we don't need to waste the memory in case you have alot of space taken up in the RAM
If L=1:Then
:"WelcomeToStealth→Str0
:5→X
:2→Y
:[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,2]
[1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1]
[1,0,2,3,2,0,2,0,2,3,3,3,3,3,3,2]
[1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
[1,0,2,3,3,3,2,0,2,3,3,3,3,3,3,2]
[1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0]
[2,3,2,0,0,0,2,3,2,0,0,0,0,0,0,0
:End
If L=2:Then
:"ThisGuyLooksUp→Str0
:2→Y
:[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,2,3,3,3,3,3,3,3,3,2,0,0,0,0,0]
[0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0]
[2,2,0,2,3,3,2,0,0,0,2,3,3,2,0,0]
[0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0]
[2,3,3,2,0,0,1,0,0,0,2,2,0,1,0,0]
[0,0,0,0,0,0,2,3,3,3,2,1,0,1,0,0]
[0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0
:End
...etc for each level, for mission one you have 6? so it would goto If L=6..
Ans→[J] ;since the matix stays in the Ans position you don't need to do →[J] each time. btw a optimization is to take off the ]] closing of a matix.
:For(I,1,8
:For(J,1,16
:Output(I,J,sub(" !+-RLUD",[J](I,J)+1,1 ;since a blank space is 0 in the matix we add 1 so we don't get a domain error. You would need to make 1="!" on every matix and same with the other chars i.e. "R","L","U","D" etc... so make "R"=4 on every matix. Get what I am saying?
:End
:End
Now that you made the level program like that you would need to modify the main program. Basiclly I would do something like this:

Code: Select all

DelVar L
;you can make the dialog for the opening here or make a program that will run this program after. i.e. the user runs prgmSTART (which has the dialog) and after the dialog is finished it would call this prgm (say this is MAIN), so it would be prgmMAIN.
While 1 ;this would make it run indefinitly, so if you want the game or mission to end when you get to a certain level then you would do something like Repeat L=X ;X being the last level, so the program would run the last level then quit.
prgmLEVEL ;every time you end a level you will need to run prgmLEVEL to make the next level.
Output(1,1,Str0
I will continue this if you want to do it, or if you understand me. I have it all worked out in my head :P.
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

ok comp wiz, unless anyone volunteers to be a beta tester by the time i finish up the first boss, then you are the beta tester.
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

I can do a beta, did you read through my post above?
You can send it to me at kalan@kalan.us
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

ok i read your post, and i understand it (somewhat :? ) but the real problem with making that is when i make my branching out programs.

By mission 1, im sure you meant mission 0, so just to keep your pattern, mission 2 is 10 screens. Even though I could make it in a pattern up to a point like you said, and I could even possibly still go backwards, it would be incredibly hard for me to figure out how you can go in many different directions while the level program keeps track of them all

Unless you can apply some sort of different path generator, thus allowing the player to not only move backwards, but also move in different paths branching off from the main path. i think it would be better with the first idea which moves quite fast and saves on some ram.

Thank you though for suggesting both these improving plans. I think you deserve your own slot on the credits :D.

Edit: ok, kalan and comp will both be testers unless someone else wants to test
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
katmaster
Sir Posts-A-Lot
Posts: 252
Joined: Tue 09 Aug, 2005 9:34 pm
Location: south of the north pole
Contact:

Post by katmaster »

I can beta test too if you need another person. You can just send it to me at katmaster200@yahoo.com .

Also, about where to find the sub( command, I use omnicalc when I'm programming on the calculator itself. It installs a menu when you double tap VARS that you can paste any command into. Don't know if that helps but its great with xLIB programming...
cheese=yum
Image
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Well I just thought I would tell you about something else you can optimize:
Your walking engine:

Code: Select all

:While 1
:T+1→T
:getKey→G
:If G=0
:getKey→G
:If G=24:Then
:If [J](X,Y-1)=0:Then
:Y-1→Y
:Output(X,Y+1,"
:Output(X,Y,"S
:End
:End
:If G=26:Then
:If [J](X,Y+1)=0:Then
:Y+1→Y
:Output(X,Y-1,"
:Output(X,Y,"S
:End
:End
:If G=25:Then
:If [J](X-1,Y)=0:Then
:X-1→X
:Output(X+1,Y,"
:Output(X,Y,"S
:End
:End
:If G=34:Then
:If [J](X+1,Y)=0:Then
:X+1→X
:Output(X-1,Y,"
:Output(X,Y,"S
:End
:End
:If Y=16 and X=5:Then
:ClrHome
:2→Y
:prgmS2
:End
:End
Optimized:

Code: Select all

:Repeat Y=16 and X=5 ;change this for the other cords
:T+1→T
:Repeat Ans
:getKey→G
:End
:Output(X,Y," " ; just one space, you can remove the second "
:{X,Y→L1 ;use a varible or a different list if you want, but this is a temp list
:Y+(G=26)-(G=24→Y
:X+(G=34)-(G=25→X
:If [J](X,Y:Then ;If it isn't a blank spot then it will not let you walk on it, but you will need to change this to allow you to walk on R L etc..
:L1(1→X
:L1(2→Y
:End
:End
:2→Y ;no clearhome here since you have it clearhome in prgm S2
:prgmS2
Hope this helps.
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

it looks like i understand that, but could you show me an example when there is two or more exits to another screen?

by the way, beta testing choosing is off. Im going to have each of you pick 1 boss to beta test instead of all three of you do all three bosses.
The order of picking the bosses comes in the style of first come first choose, or whoever posts first on which one they want.

You only get to know the titles, so:
Boss 1: Crab Battle (given to CompWiz)
Boss 2: Metal Gear Solid Torture (taken by kalan_vod)
Boss 3: Psycho Mantis (taken by katmaster)

I would tell you more, but that would ruin the surprise for each boss. besides, im spoiling the bosses basic ideas enough as it is with the titles.

Edit: Other beta testers, please choose quickly or I will assign you a boss.
Last edited by Floodkiller on Thu 06 Apr, 2006 2:55 am, edited 4 times in total.
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

boss two
Well if you decide not to switch over to the way of organization I have discribed some what, you could simply add a another condition in the Repeat:

Code: Select all

:Repeat Y=16 and X=5 or Y=1 and X=8;These are just examples of cords.
Just the main loop needs to be changed, but if you went with the way I am discribing it would be something similar to:

Code: Select all

Repeat fpart([J](Y,X
Which would allow the game to run alot faster and only having that engine once, not being repeated in each program. Where if the cord of the X,Y on the matix has a decimal of anything (1.0 would be no decimal but 1.1 would), but I will not go into this until you let me know if you are interested.
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

ok, the first boss is done. at first i had trouble with it, the boss didnt want to move, the map wanted to bug, and you couldnt die, but that is all solved and ready for whichever beta tester picks it.

im sure boss 2 shouldnt take too long, as ive already created a minigame like it before
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

you know kalan, even though that optimized walking code was extremely well, i ran into the problem that it went too fast for what felt like true Stealth speed for me :shock:

however, i think i will use that coding for the TI-83 version of Stealth, cause I know that runs at an excruciatingly slower rate, and will probably need that speed boost :D.
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
Post Reply