Jump to content
Coolcrab

[Done] Astronomer development thread

Recommended Posts

Managed to solve it with trial and error, there was some issue with my numbers. :P

Anyhow, it now has paddle support! (Set left switch to A) Also the clouds will now changes their shape and multiply and move based on what level you are in. (download in main post) or play here: http://javatari.org/?ROM=http://pietrow.net/games/astronomerV0.7.bin

 

One problem that I still have is that I can't seem to display the level at the end. In the game over loop I set score to _level (which gets raised every time a star is observed) But the score in the game over screen is always 47 for some reason. Does anybody know why?

 

Also how can I see how much space there is left on the 4k? I want to add a title screen and a better Game over screen

__Game_Over_Setup
  playfield:
 ..XXXXXX..XXXXX..XXXXXXX..XXXXXX
 ..X.......X...X..X..X..X..X.....
 ..X.XXX...XXXXX..X..X..X..XXXXXX
 ..X...X...X...X..X..X..X..X.....
 ..XXXXX...X...X..X.....X..XXXXXX
 ................................
 ..XXXXXX.X........X.XXXX..XXXX..
 ..X....X..X......X..X.....X..X..
 ..X....X...X....X...XXXX..XXXX..
 ..X....X....X..X....X.....XX....
 ..XXXXXX.....XX.....XXXX..X.X...
end
 

__Game_Over_Loop

   COLUPF = $86

   drawscreen
   score = _level

   if switchreset then goto __start_restart
  AUDV0 = 0


   goto __Game_Over_Loop 
Edited by Coolcrab

Share this post


Link to post
Share on other sites

If you are using Visual batari Basic, it tells you every time you compile. Example: 1508 bytes of ROM space left.

Share this post


Link to post
Share on other sites

AH! this helped yes :D

 

I added it into V0.71. Also added a pause button (BW switch) and a way to get past the boring intro buildup. (Set right difficulty to A and press select button. This will also make the game more difficult in general) It is quite playable in that mode if I may say so myself.

 

I have 1100 bytes left, so that should be enough for a title screen.

Share this post


Link to post
Share on other sites

New version uploaded and some screenshots. I think that it is mostly done now.

I'll be posting it in the main atari forum tonight. :D

Share this post


Link to post
Share on other sites

You might also want to post an animated GIF or a YouTube video in that new thread.

Bandicam (Videos)
Bandicam is the best screen/emulator recording software for making YouTube videos that I have ever tried (I don't have a Mac and I don't use Linux). It really does seem to have less lag (as they claim on their main page). When I start recording video games in Stella with other programs, there is a noticeable, jarring slow down, but not with Bandicam. (When using Stella, remember to press Alt + P to enable the phosphor effect before recording.)

The program makes it very clear what you are going to record. There is no irritating flashing rectangle around the area you're recording and you can easily disable the FPS overlay (under the FPS Tab), so you can record a game you're playing without any irritating distractions.

Unlike some other programs, you won't have to spend time just trying to find the record button. There are no mysteries or weird, complicated problems. It just works.


LICEcap (Animated GIFs)
Create animated GIFs directly from an emulator such as Stella. Using 33 FPS instead of 30 FPS seems to give a smoother result without increasing the file size by a huge amount. Program recommended by walaber. When using Stella, remember to press Alt + P to enable the phosphor effect before recording. You can also use a free online tool to resize your GIFs.

Share this post


Link to post
Share on other sites

That really helped thanks!

 

I posted the game in the main atari board. If anyone wants to give some feedback that would be great. I don't think that there is much more that can be done on a 4k cart apart from better sound. But i've had some very good tips before, so maybe i'm totally missing something.

  • Like 2

Share this post


Link to post
Share on other sites

Easy to get on a cart mostly. And that outweighs a proper titlescreen for example, and the rest will fit within 4k. (atleast everything i can think of)

Share this post


Link to post
Share on other sites

Made a label. I think that its a nice High res representation of what the games is supposed to look like. :P

post-48701-0-96106300-1513149931_thumb.jpg

post-48701-0-93548200-1513149940_thumb.png

Edited by Coolcrab
  • Like 3

Share this post


Link to post
Share on other sites

I've added mode setting in the menu,more sounds and a high score option. But there seems to be some kind of bug with the score. As it is set to 5 when pressing select (changing game mode) and I am not sure why.

 

Also sometimes a star manages to go up above the screen, while this should be prevented by

 if _star_x < 25 && _star_y > 1 then _star_y = _star_y - 2 : goto skip_move
 if _star_x < 50 && _star_y > 1 then _star_y = _star_y - 1 : goto skip_move

If you guys could take a look, that would be great :)

 

Apart from that I'm running out of variables to do much more, are there any more that I can use other than a-z? Otherwise I'll have to check what I can resuse where.

 

After this is done, I think that I have Incorporated all feedback so unless more will come (Especially longplays would be great as I don't know if the difficulty increace is fair) I think that it's mostly done.

astronomerV0.8.bas

Share this post


Link to post
Share on other sites

I don't think you need seperate variables for the sprite positions


I don't think any of the variables used by the line drawing needs to be persistent


If the astronomer doesn't move then those coordinates could be constants

they currently get set from constants, the constants could be moved into the code

and the temp variables used for something else


I expect all that junk using p to fake paddles could be cleaned up or removed


Only three bits of f are used by the line drawing you could use the rest for

state (it would need some code to seperate them when needed)


You could maybe save something by taking your star/object velocities

from a table indexed by some master clock you could also solve your

stars going off screen that way (but it would need a variable so you could

do fractional y velocities)

It would be simpler and more straight forward, and arbitrary

(you could add retrograde motion planets, or comets or something)

but it might need more ROM (but maybe not much, you'd be replacing some

code)
Edited by bogax

Share this post


Link to post
Share on other sites

I'm going to see if I can squeeze out any variables and see what I can do about the other things.

Thanks! :)

 

 

I don't think you need seperate variables for the sprite positions

 

This would free up 6, so that would help. You mean just using player0x, etc instead of _star_x right?
I don't think any of the variables used by the line drawing needs to be persistent

 

 

Yea you can use it for throwaway values. I used g in that way for example. But you can't store values in it right?
If the astronomer doesn't move then those coordinates could be constants they currently get set from constants, the constants could be moved into the code and the temp variables used for something else

 

 

Do you mean x1 and x2? They can't be constants right? It has to overwrite them when moving.
I expect all that junk using p to fake paddles could be cleaned up or removed

 

 

I like having both paddle and joypad compatibility, so I'll probably leave it in.
Only three bits of f are used by the line drawing you could use the rest for state (it would need some code to seperate them when needed)

 

 

That could work.
You could maybe save something by taking your star/object velocities
from a table indexed by some master clock you could also solve your
stars going off screen that way (but it would need a variable so you could
do fractional y velocities)
It would be simpler and more straight forward, and arbitrary
(you could add retrograde motion planets, or comets or something)
but it might need more ROM (but maybe not much, you'd be replacing some
code)

 

 

How would you do this? I don't really understand how that would work with tables. (Although I haven't done much with it yet) I did want to put some meteorites in, and that should work by just freeing the movement vars. But what you describe sounds very useful.

Share this post


Link to post
Share on other sites

I finally found the place in your program that is causing a verbose error message for me and I don't know why you aren't getting the same error. Here it is:


   if _slowdown - _level then . . .


 

Is that supposed to be an equals sign?

 

Share this post


Link to post
Share on other sites

I finally found the place in your program that is causing a verbose error message for me and I don't know why you aren't getting the same error. Here it is:


   if _slowdown - _level then . . .


 

Is that supposed to be an equals sign?

 

Strange that didn't give me an error. The idea there was that the cloud will move slightly faster each level. Instead of every 30frames it would move every 30-level frames. But this gets very hard very quickly so maybe it should be removed (and put back into the if _slowdown check 1-2 lines below.) Making it progressively harder is difficult all together. Is there some general rule for how to speed things up properly?

 

But odd that it doesn't compile for you. Ww should have the same bB now.

Edited by Coolcrab

Share this post


Link to post
Share on other sites

It's odd that it accepts it though. But this is good to get rid of yea.

Also dId you manage to find where the score=5 came from by any chance? I still can't find that one.

Share this post


Link to post
Share on other sites

It's odd that it accepts it though. But this is good to get rid of yea.

Also dId you manage to find where the score=5 came from by any chance? I still can't find that one.

 

I'll get back to work on it later tonight or possibly in the morning. I have to do some yard work while it's warmer outside.

Share this post


Link to post
Share on other sites

In C if your code is this:

 if (slowdown - level) 
 { 
 // do something
 }


Then do something would occur if the results of slowdown - level was non-zero. As such, in C using - is the same as using !=.

bB might work the same, though I think bB uses <> instead of !=

  • Like 1

Share this post


Link to post
Share on other sites

In C if your code is this:

 

 

 if (slowdown - level) 
 { 
 // do something
 }

Then do something would occur if the results of slowdown - level was non-zero. As such, in C using - is the same as using !=.

bB might work the same, though I think bB uses <> instead of !=

That's what I was going for.

 

"If slowdown - level then " should be true shorter than "if slowdown then" if you are calling "slowdown=slowdown-1" every frame. But there are better ways of doing this now that I think about it. :P

Share this post


Link to post
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.

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