Jump to content
mad4j

Ms Snake! is coming

Recommended Posts

Dear all,
I'm pleased to announce the availability of the first playable release of Ms Snake! my first homebrew game developed using Batari.

It is a remake of the classic Snake.
It is very simple and tested using Stella on Windows.

Obviously is not finished, I'm working on:
1. Graphic of the Title and Game Over screens [DONE]
2. Scoring system [DONE]
3. A second element in the game logic (aka Red Spider) [REMOVED]

It's my intention to complete the game before this Autumn.
Meanwhile I would be very happy to receive your feedback and suggestions

 

 

added v1.0 releases

  • NTSC/PAL60 use Color/BW switch to change color palette
  • PAL50 fixed version

in this release:

  • no more auto-biting in case or reverse direction
  • restored old title screen with animation (Ms Snake closes eyes every 3 seconds)

Thanks,
Daniele

ms-snake!.bas.bin

ms-snake!-0.1-NTSC.bas.bin

ms-snake!-0.2-NTSC-PAL60.bas.bin

post-36687-0-69680900-1379870596_thumb.jpg

post-36687-0-35345300-1379871647_thumb.png

post-36687-0-99766500-1379872597_thumb.png

ms-snake.-1.0-PAL50.bas.bin

ms-snake!-1.0-NTSC-PAL60.bas.bin

post-36687-0-96732600-1385145196_thumb.jpg

Edited by mad4j
  • Like 3

Share this post


Link to post
Share on other sites

It is a PAL game, but is 311/312 OK?

 

Oh yes! it is compiled as PAL.

I was just reading the interesting post that you made reference.

 

Using the first method "The Fast, On the Fly Way", I'm obtaining something similar to the attached snapshot (311 or 312 counts). is it correct for a PAL video.

If you may help me, for an NTSC version I need:

  1. change the
    set tv pal

    directive
     

  2. adjust the colors

Right?

 

Thanks a lot,

Daniele

post-36687-0-29268600-1377276965_thumb.jpg

Edited by mad4j

Share this post


Link to post
Share on other sites

This is great! I have been waiting for a snake game. Here's my high score.

 

Wow! I really appreciated.

Just one question, I'm interested in different opinions.

You will prefer:

  • a simple/classic scoring system (1 eat / 1 point)
  • something more sophisticated (e.g. increasing points accordingly with Ms Snake speed/length)

Thanks,

Daniele

Share this post


Link to post
Share on other sites

This is great! I have been waiting for a snake game. Here's my high score.

Nice Job! My best so far is 28. I seem to die often trying to do a quick 180 degree turn and also when turning at the last second along the border. Either way, it's a fun game and a fantastic first effort. Great Job, Daniele!

 

Steve

Share this post


Link to post
Share on other sites

This is nice! I think the scoring system you currently have is good. I suppose you could have both versions of scoring and allow the player to choose how they want to play.

Share this post


Link to post
Share on other sites

It is a PAL game, but is 311/312 OK?

 

Thanks. I didn't notice that it was PAL. But knowing it's PAL now, it seems to be bouncing between 311 and 312 instead of having a steady 312.

Share this post


Link to post
Share on other sites

Sounds like a kernel timing issue... mad4j, can you please confirm which bB you're using, and attach or PM me the source so I can reproduce it?

Share this post


Link to post
Share on other sites

Wait... if bB fills up the remaining scanlines how is it bouncing between 311 and 312? :?

As for the game itself, I like it. I haven't played a ton of snake in my time but it seems to get everything right from what I remember :grin:

My high score is currently 22... I'm pretty bad, haha.

 

Edit: Out of curiosity, if you press the opposite direction that you're going is it supposed to register as a turn? (aka death)

Edited by RetroFiends

Share this post


Link to post
Share on other sites

Wait... if bB fills up the remaining scanlines how is it bouncing between 311 and 312? :?

bB carefully fills in scanlines on the visible part of the frame, but most scanlines on the non-visible parts of the frame are drawn on TIA-autopilot, during which the 6507 executes user bB code. bB, like most 2600 programs, uses a timer to determine the actual scanline count of those sections.

 

Its a bit more complicated than it sounds because the timer has a granularity of 64 cycles, while a line take 76 cycles to draw. Sometimes a timer value will produce the right number of scanlines under some circumstances and not others. Normally it's easy enough to fix that by bumping the timer value used up or down, but the standard kernel has a lot of options and code that gets turned on and off conditionally, so adjustments can get tricky.

 

Anyway, I suspect in this case an older bB was version was used, but I'd like to confirm. While trying to reproduce the issue (I couldn't) I found another pal timing issue and have fixed it up in my private source. Now I'm just waiting for confirmation of the version used here, and hopefully source so I can double-check things before releasing the new version.

Share this post


Link to post
Share on other sites

Daniele,

why don't you use NTSC and PAL60?

European TVs support PAL60 (apart very old ones).

You'll get more speed and you only have to change colors to match differenti palettes then.

Share this post


Link to post
Share on other sites

Anyway, I suspect in this case an older bB was version was used, but I'd like to confirm. While trying to reproduce the issue (I couldn't) I found another pal timing issue and have fixed it up in my private source. Now I'm just waiting for confirmation of the version used here, and hopefully source so I can double-check things before releasing the new version.

 

Hello, I'm back!

I'm supposing to use bB1.1d, but probably I'm messing up with my local compiler configuration because this is the version reported is

 

batari Basic v1.01 (C)2005-2007
2600 Basic compilation complete.
User-defined score_graphics.asm found in current directory
DASM V2.20.07, Macro Assembler (C)1988-2003

Anyway, in order to prevent you from wasting time, I've prepared a small example that reproduce the problem (see title_demo.bas).

When compiled using PAL and the no_blank_lines options then Stella reports a steady 311 scanline count (see attached snapshot).

 

I hope that this will be useful.

 

Anyway, regarding Ms Snake! I will switch soon to NTSC/PAL60 as promptly suggested.

 

Thanks to all,

Daniele

post-36687-0-04133200-1377439113_thumb.jpg

title_demo.bas

  • Like 1

Share this post


Link to post
Share on other sites

Hello, I'm back!

I'm supposing to use bB1.1d, but probably I'm messing up with my local compiler configuration because this is the version reported is...

You likely do have 1.1d running fine. It was probably an oversight, but batari didn't adjust the version string when he released the new versions.

 

Thank-you very much for the test program. I now have a better understanding of the bug. Its present in all bB versions, and it only appears with "set tv pal" and certain values of pfres. I'll see if I can squash it, though I can confirm switching to pal60 (ntsc with pal colors) will avoid triggering it.

Share this post


Link to post
Share on other sites

Released Ms Snake! v0.1-NTSC:

  1. fixed scanline count and colors (only NTSC at the moment)
  2. tuning of snake speed
  3. new drawft of titlescreen

See you soon,

mad4j

 

post-36687-0-20855200-1377510852_thumb.jpg

ms-snake!-0.1-NTSC.bas.bin

Edited by mad4j
  • Like 3

Share this post


Link to post
Share on other sites

Hello!

a new release of Ms Snake! and few questions.

 

In this release:

1. High scores

2. Animated title screen

3. Support for NTSC and PAL (use BW/Col switch)

 

Then two questions for forum gurus:

1. Using the 96x2 minikernel, I'm getting flickering and wavy lines. Am I doing something wrong?

2. Is there some dirty hack that made possible to draw the first and the last columns of the play fields with different colors?

It will be very cute if border and snake may have a different color (but, of course, they are both rendered using playfield pixels)

 

Thanks to all for compliments and suggestions.

 

Daniele

ms-snake!-0.2-NTSC-PAL60.bas.bin

post-36687-0-97608200-1379160023_thumb.png

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for the update! I just ran the binary using Stella but there was no animation on the title screen. What is it supposed to be doing?

Share this post


Link to post
Share on other sites

1. Using the 96x2 minikernel, I'm getting flickering and wavy lines. Am I doing something wrong?

Not at all. The 2600 is normally only capable of drawing flawless 48 pixel-wide arbitrary images with players. Wider arbitrary images require other trickery, such as flicker or external hardware assistance, and the 96x2 minikernel uses a form of flicker; here's the comment on the 96x2 minikernel from the manual...

 

To display a bitmap this wide, this minikernel employs a flicker technique called flickerblinds. While flickerblinds is not as objectionable to most people as regular flicker is, it can still be distracting.

 

 

2. Is there some dirty hack that made possible to draw the first and the last columns of the play fields with different colors?

It will be very cute if border and snake may have a different color (but, of course, they are both rendered using playfield pixels)

Nothing easily done to do exactly that. You'd need to insert 2 color changes into very specific parts of the kernel, and it's already pretty full.

 

If you're not using the other player, I think if you use NUSIZ# with far copies you can make a border out of the player by positioning it at the far right border and allowing screen wrap to draw the copy in the left border position. IIRC the positioning for that technique works out right, or very close to right.

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