Jump to content
IGNORED

Shooting Stars - game released


sometimes99er

Recommended Posts

We want stars to fall from the sky. Actually we will speed things up by not moving them down, but just adding a new star when it, or the column, grows or falls.

 

We set aside an array, "DIM ST(31)" for handling the columns.

 

We add one to a random column and display, something, and loops until one of them reaches row 10.

 


icon_smile.gif

Edited by sometimes99er
Link to comment
Share on other sites

So the main game loop, moving the base, adding stars, and checking for fire, runs at an okay speed. I wouldn't want to change that, or the game would be too slow to be "playable". You're able to move left and right and stars keep dropping.

 

The shooting itself was fast enough to remove a column of stars and continue as if everything is still running. Adding score and sound wouldn't be impossible here. I was then thinking about having the stars disappear, doing some stuff, but not too much, and then get back into the action. This is what I have done now. And the laser now only hits below the stars - actually not much of an effect, but it works.

 

I'm not sure where it's going to go now. I thought about having something in the sky, above the stars, and if you hit it, you're being punished somehow. Don't know if that would work. I guess the "action" is almost there, to make that kind of mistake, and if you're not fast enough, the stars will descend on you. Plenty of room for an end of game/level effect.

 


Edited by sometimes99er
Link to comment
Share on other sites

Well, you're staying in potentially BASIC-only features... You could compile it with Wilhelm's computer for some amazing results.

 

Yeah, that's right. I was planning on bringing in some sprites somehow, maybe as moving bunkers, stars shootings left and right. But absolutely. Good input/idea. A lot of things can be done without sprites. I never took the time to play with any of the compilers. The Wilhelm was Basic only, but then there also were another ?

 

Edit1:

Surprise ! The Development Resource thread does not have the compilers listed (other than the My Little Compiler) !?

 

Edit2:

Wilhelm:

All SS1-6 compile fine, but none of them work. SS1 displays fine, but base can't be moved with the joystick. Guess I have to read the DOCS.

 

Edit3:

Oh ...

IF-THEN-ELSE - works only with line numbers, just like in BASIC. XB style not supported.

DISPLAY - equivalent of PRINT.

RANDOMIZE - no effect.

RND - returns a value of 0. RND is only useful when it is multiplied by a number. i.e. INT(RND*6) gives result (0,1,2,3,4,5).

Do not nest arrays, like Q=A(B(7)). Will make compiled version crash.

Not supported: DEF, ATN, COS, EXP, LOG, SIN and TAN.

No File processing capabilities.

 

Edit4:

Recoded it according to the guidelines above, and it works. And it's fast ! :thumbsup:

 

shootingstar3.gif

Edited by sometimes99er
Link to comment
Share on other sites

I have thought about doing that for some time. Make a GPL Compiler, first a TI BASIC one then a XB one.

 

XB = GPL

 

CALL CLEAR = ALL 32

 

CALL HCHAR(4,6,65,8) =ST 65,V@102

MOVE 8,V@102,V@103

 

IF INT(X*11)+A=47 THEN KABOOM ELSE PFFT =DST @X,@TMP

DMUL 11,@TMP

DADD @A,@TMP

DCEQ 47,@TMP

BS KABOOM

BR PFFT

 

As it is all GPL (Exactly the same as BASIC and XB are written in) I could support DEF, even Arrays without a problem.

Matter of fact as I have the Source Code for BASIC and XB written in GPL it would be pretty easy.

I could even support CALL LINK and the entire thing runs from GRAM. In Classic99 or a Emulators it would be cool.

  • Like 1
Link to comment
Share on other sites

I have thought about doing that for some time. Make a GPL Compiler, first a TI BASIC one then a XB one.

 

Wilhelm estimates that the use of integers instead of floating point alone makes programs 5 times faster.

 

Would your GPL Compiler use and/or allow floating point ?

 

Yes I would, but show the people where to fix the BASIC or XB programs so they do not use Floating Point.

I would put in the output listing where Floating Point was being used and say "Slows down program here, suggest rewrite"

The BASIC or XB programs are much more easy to fix the the Compiled versions is.

 

I see this is the main problem with most Compilers today as they do not point out flaws in the source files.

(By the way that 5 times faster is from a Forth Book by Leo Brodie i.e. Starting Forth)

Edited by RXB
  • Like 1
Link to comment
Share on other sites

My compiled version of Bloxo-TI-z used the joystick and worked fine. I never used real hardware, however, just emulation. The only issue I did have was with button press / unpress / state detection. I worked around it though. :)

 

The only real problem with compilation is it does delay the code / test / fix / whatever cycle. But... since the game already worked, it was just making it more responsive and then doing appropriate slow downs to ensure it wasn't too fast....

  • Like 1
Link to comment
Share on other sites

My compiled version of Bloxo-TI-z used the joystick and worked fine. I never used real hardware, however, just emulation. The only issue I did have was with button press / unpress / state detection. I worked around it though. :)

 

The only real problem with compilation is it does delay the code / test / fix / whatever cycle. But... since the game already worked, it was just making it more responsive and then doing appropriate slow downs to ensure it wasn't too fast....

 

Well my point was to make some thing that would work in Emulators or on a real TI99/4A.

Emulations is fine but why even be on a TI99/4A web site if the point is not be a TI99/4A, but a Emulation of some of what it does?

Pretty much breaks the idea of why we like the TI to just make a utility that only partially uses the what we use or love.

Like a mechanical Dog, yea barks and fetches sticks but really not the same at all, just a facsimile of a Dog. Do you see my point?

 

Also the amount of fixing the code is going to be a lot less then Assembly as the two are so far apart, BASIC and XB are already in GPL so the step is small.

(Down the line I could go the next step and make a GPL compiler that takes the GPL and turns that into Assembly)

Edited by RXB
Link to comment
Share on other sites

The only real problem with compilation is it does delay the code / test / fix / whatever cycle. But... since the game already worked, it was just making it more responsive and then doing appropriate slow downs to ensure it wasn't too fast....

 

Wilhelm estimated programs being 20 times faster, sometimes 70 times faster. Turning on CPU Overdrive here makes things about 10 times faster, so maybe that let's me isolate a good deal of the development to pre compilation. I think I would compile and test about every hour (developing time) to insure I'm not out on a detour though.

 

Wilhelm says that the compiled versions has its own small and fast interpreter. Here's what I got (all TIFILES) ...

 

SS7 (=SS5 recoded) 896 bytes

SS7M 896 bytes

SS7A 2688 bytes

SS7O 15744 bytes

SS7C 4736 bytes

 

If I did the TI Basic to Assembly conversion myself, I think I'd end up with less than 736 bytes. Now size isn't the big question, but it's interesting how size develops. I guess most of the size right now is the interpreter, and hopefully that's a constant (of there about).

 

The big issue is (to me right now), how stable is this Wilhelm's Compiler ?

Link to comment
Share on other sites

Edit1:

Surprise ! The Development Resource thread does not have the compilers listed (other than the My Little Compiler) !?

 

It's still on my todo list. I requested about collecting information on basic/exbasic compilers a while ago.

I'll see that I'll update the Development Resources thread with what I have at this time. Just give me some time. I'm currently preparing myself for an exam and have almost no TI time.

 

In the meantime I have also been in touch with errorfree (not a member of atariage). I had some interesting discussion with him during the last regional TI-Treffen in Birkenau germany.

He worked on an Extended Basic compiler during the last few years. It's written in assembly language and runs on the TI-99/4A. As with the other compilers around it does have some

restrictions. But it's the only compiler I know about that has seen maintenance since the 80's.

 

Ofcourse I'm also looking forward seeing how the compiler Rich started working will look like.

Edited by retroclouds
Link to comment
Share on other sites

The core is the EA module so the only thing replaced is the Assembler with a Compiler and of course no option for RXB.

 

Other then that it looks very much like a REA cart with my Directory utility. So will run EA3, EA5 and built in EA Editor.

Edited by RXB
Link to comment
Share on other sites

Okay, so this small XB Game Development thread has changed a bit. We're going to use the Wilhelm's compiler, so it's going to be much more TI Basic than XB, though the final product will be an XB format file.

 

I've moved the stars to the top of the screen. Added more colors to the stars. The line below the base is now made up of oil barrels. One line reserved at the bottom for game information like lives and score.

 

I tried to divide the code into sections and add a comment or two. I'll probably add much more comments - to help me - and you. I'll look into making the flow easier to follow. I've added one CALL SOUND statement to maybe try and have the game wait a frame, and it looks as if it had the desired effect on the compiled version. Apart from this maybe being a bit of fun, I'm almost clueless as to what would make this playable and challenging. Any ideas ?

 




			
				


	Edited  by sometimes99er
	
	

			
		
Link to comment
Share on other sites

Compiles fine with the new updated Extended Basic Compiler v2.1 by Harry Wilhelm. Runs fine too. There's a limited increase in footprint (I guess the new support library is just a bit bigger, and that all of it (the support library) is included in the final compiled file.

 

shootingstar5.png

Edited by sometimes99er
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...