Jump to content
IGNORED

WIP clowns and balloons made with IntyBasic


catsfolly

Recommended Posts

I think the best way to evaluate a tool is to try and do something with it.

 

So, to try out Nanochess' IntyBasic compiler, I have written a version of "Clowns and Balloons" in it.

The game is written in 100 % basic, and complete source code is included.

 

post-14916-0-99218900-1392654942_thumb.gif

 

post-14916-0-71878700-1392654968_thumb.gifpost-14916-0-30665900-1392654985_thumb.gif

 

clowns.zip

 

Currently it is "beta" - everything functions, but it still needs tuning, and the levels are placeholders.

 

(Some levels feature popular atariage celebrities (if they have short nicknames...))

 

It is pretty easy to stay alive, but difficult to clear the screen with a low bounce count.

 

Please let me know what you think....

 

Catsfolly

  • Like 6
Link to comment
Share on other sites

Looking good!

 

I think that you need something (or someone) trying to stop you to make you loose lives. Maybe a stationary spike in the middle of the balloons that kills you if you hit it or, better yet, an MOB (maybe bird that pecks at you in the air) to add an element of of an adversary to the game.

 

OR ... just limit the number of bounces that you are allowed and if you don't make it, you have to start over again!

 

Just a thought ...

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

Looking good!

 

I think that you need something (or someone) trying to stop you to make you loose lives. Maybe a stationary spike in the middle of the balloons that kills you if you hit it or, better yet, an MOB (maybe bird that pecks at you in the air) to add an element of of an adversary to the game.

 

OR ... just limit the number of bounces that you are allowed and if you don't make it, you have to start over again!

 

Just a thought ...

Fushek -

 

Thanks for checking out the game.

 

I think you are right - it is definitely too easy to stay alive. The game needs something to make it harder....

 

 

Catsfolly

Link to comment
Share on other sites

I'm a fan of the "Circus Atari" games so I'd like to see this become a fully realized game. As for adversaries, have you thought of Sharks with Frickin Lasers on their heads? That, of course, would turn it into an Austin Powers/Dr. Evil game though I suppose. Not sure that would work. :-D

  • Like 2
Link to comment
Share on other sites

What a great job! I am hoping to do something with the IntyBasic and your code is great learning tool. As too making it harder, having the balloons alter the direction of the flyer and maybe random speed and direction when bouncing of the sides of the screen. Making the guys on the ground just a bit slower might also help. Of course, if you can't get the guys on the ground into the right position it might become very frustrating.

 

random dropping prizes might tempt the player to run and catch the prize putting the flyer at risk.

 

Sharks with lasers would be pretty cool

  • Like 1
Link to comment
Share on other sites

Quite amazing! Flicker-free graphics and great physics.

 

 

I wonder if I should continue to learn CP1610 assembly language. With IntyBasic, it will be far easier to create a game.

 

By the way, outstanding job by Nanochess. It will certainly give a boost to the Intellivision homebrew community :thumbsup:.

  • Like 2
Link to comment
Share on other sites

Quite amazing! Flicker-free graphics and great physics.

 

 

I wonder if I should continue to learn CP1610 assembly language. With IntyBasic, it will be far easier to create a game.

 

By the way, outstanding job by Nanochess. It will certainly give a boost to the Intellivision homebrew community :thumbsup:.

Well, if you really want to push the Intellivision to its absolute limits, you still need CP1610 assembly language.

 

However, it looks like you can write some nice, high speed, games using only basic.

 

Maybe games can be written in basic, and then the most time critical parts can be optimized in assembly?

 

Catsfolly

Link to comment
Share on other sites

Okay - so maybe you want to try your hand at making games, but you're not ready to make a whole game yet?

 

What to do?

 

Why not make a new level for "Clowns and Balloons"?

 

Here's how -

 

1. Near the end of the clowns.bas listing , you can find this code:

	REM round 10 rocket
	DATA $0000,$0005,$1100,$0000,$0000
	DATA $02a0,$0805,$1111,$0000,$0000
	DATA $0002,$0885,$1111,$1100,$0000
	DATA $02a0,$0805,$1111,$1150,$0202
	DATA $0000,$0005,$5555,$5550,$0000

	REM blank
	DATA $0000,$0000,$0000,$0000,$0000
	DATA $0000,$0000,$0000,$0000,$0000
	DATA $0000,$0000,$0000,$0000,$0000
	DATA $0000,$0000,$0000,$0000,$0000
	DATA $0000,$0000,$0000,$0000,$0000

After round 10, there is a blank level. It consists and a data table filled with zeros. Each zero represents and balloon position. There are 5 rows of 20 zeros, which matches with the top 5 rows of the Intellivision screen. To enter some balloons, change the zeros to the numbers 1 to 9, or the letters a to f.

 

What do these numbers mean? Earlier in the listing there is a color table:

REM                     C_BLK   EQU     $0              ; Black
REM                     C_BLU   EQU     $1              ; Blue
REM                     C_RED   EQU     $2              ; Red
REM                     C_TAN   EQU     $3              ; Tan
REM                     C_DGR   EQU     $4              ; Dark Green
REM                     C_GRN   EQU     $5              ; Green
REM                     C_YEL   EQU     $6              ; Yellow
REM                     C_WHT   EQU     $7              ; White
REM                     C_GRY   EQU     $8              ; Grey
REM                     C_CYN   EQU     $9              ; Cyan
REM                     C_ORG   EQU     $A              ; Orange
REM                     C_BRN   EQU     $B              ; Brown
REM                     C_PNK   EQU     $C              ; Pink
REM                     C_LBL   EQU     $D              ; Light Blue
REM                     C_YGR   EQU     $E              ; Yellow-Green
REM                     C_PUR   EQU     $F              ; Purple

This table (from Joe Z.'s sdk) lists the color for each number or letter.

 

As an example, we'll make a white box. The color for white is 7, so we'll enter some 7's ...

	REM round 10 rocket
	DATA $0000,$0005,$1100,$0000,$0000
	DATA $02a0,$0805,$1111,$0000,$0000
	DATA $0002,$0885,$1111,$1100,$0000
	DATA $02a0,$0805,$1111,$1150,$0202
	DATA $0000,$0005,$5555,$5550,$0000

	REM blank
	DATA $0000,$7777,$7777,$7777,$0000
	DATA $0000,$7777,$7777,$7777,$0000
	DATA $0000,$7777,$7777,$7777,$0000
	DATA $0000,$7777,$7777,$7777,$0000
	DATA $0000,$7777,$7777,$7777,$0000

2. Next we need to change to balloon_init routine to read this table.

 

Change this line

 

temp = (round-1) % 10

 

to

 

temp = (round-1) % 11

 

3. Change the code to play the new level first:

 

Change line:

 

round=1 ' start at round one

 

to

 

round=11 ' start at round one

 

4. Save the basic program and built it.

 

intybasic clowns.bas clowns.asm

as1600 -o clowns.bin -l clowns.lst clowns.asm

 

5. Finally, run the new program in your emulator:

 

jzintv -z1 -v1 clowns.bin

 

6. Check out the new level:

 

post-14916-0-84600000-1392955752_thumb.gif

 

I'll make a few tweaks to the data and ...

	REM round 10 rocket
	DATA $0000,$0005,$1100,$0000,$0000
	DATA $02a0,$0805,$1111,$0000,$0000
	DATA $0002,$0885,$1111,$1100,$0000
	DATA $02a0,$0805,$1111,$1150,$0202
	DATA $0000,$0005,$5555,$5550,$0000

	REM blank
	DATA $0000,$7777,$7447,$7777,$0000
	DATA $0000,$7717,$7447,$7777,$0000
	DATA $000a,$7111,$7447,$7227,$0000
	DATA $0000,$7717,$7447,$7777,$0000
	DATA $0000,$7777,$7447,$7777,$0000
	

Viola! We have a battery!

 

post-14916-0-16175100-1392956085_thumb.gif

 

Wow a battery! What could be cooler than that?

 

What? What did you say? Lots of things are cooler than batteries?

 

So you think you could do better buddy?

 

You think you could do something more interesting?

 

Yeah?

 

I'd like to see you try!

Seriously, please try....

 

Catsfolly

 

 

 

 

 

 

  • Like 4
Link to comment
Share on other sites

Hmmm ... I played the .bin file from the zip file above just fine. However, when I used the .bas file and went through and converted it to the .bin file, it says that it's playing the round, tries to draw the screen, and then says round complete without letting me play.

 

Probably something wrong with my setup. I think that I need to download the latest and greatest of everything and start over again (and I was excited to see the screen that I designed!)

  • Like 1
Link to comment
Share on other sites

Well, if you really want to push the Intellivision to its absolute limits, you still need CP1610 assembly language.

 

However, it looks like you can write some nice, high speed, games using only basic.

 

Maybe games can be written in basic, and then the most time critical parts can be optimized in assembly?

 

Catsfolly

 

Although IntyBASIC is a compiler, for most expressions and statements it generates very reasonable code, so it's near of assembly performance for most tasks.

 

On the other way, if a programmer is good enough, he/she can take the generated assembler output and optimize it by hand.

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...