Jump to content
IGNORED

Atari Port of C64 1nvader game - BETA TEST


Recommended Posts

7 hours ago, youxia said:

Tried it on MiSTer + CRT TV (the colours are really lovely) both in PAL/NTSC modes. The game seems to be working fine, but there is a glitchy line on the start screen, under the INVADER. Could be the MiSTer core's fault.

 

IMG-20210830-235716.jpg

 

It's a simple game, but strangely hypnotic and addictive. I guess you could add a lot of fun things to it (both gameplay and fx-wise)  if you felt like taking it further.

 

The 1NVADER title graphics relies on the Antic Vscroll "bug" to turn each scan line of Mode F/Gtia pixels into three scan lines. 

The effect works on Atari800 emulator, and Altirra.   Altirra is usually the gold standard for cycle-accurate behavior, so if it works there it's usually guaranteed to behave the same on real hardware.

If I had to guess I would figure the Mist doesn't implement this "feature" of Antic.  

Link to comment
Share on other sites

4 hours ago, Philsan said:

Would it be possible that NTSC and PAL version have the same speed?

motto at my real life job:  Everything is possible given enough time and money.

 

Yeah.  Someday somehow.  Been thinking about how to make the different speed levels running at 5/6 to run at 6/6.

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

57 minutes ago, kenjennings said:

Been thinking about how to make the different speed levels running at 5/6 to run at 6/6.

 

Rough idea:

 

NTSC speed on PAL: Run game logic twice for every 5th frame
PAL speed on NTSC: Skip game logic every 6th frame

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

ZeroPage Homebrew is playing 1nvader on tomorrow's (Fri Sep 10, 2021) stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT+1Day!

 

Games:
  • Yoomp! (2008 | 8-Bit) by Marcin Żukowski @eru (Idea, Main Code, Levels, Tile Design), Łukasz "X-Ray" Sychowicz (music, sound effects, levels, tile design, testing, movies), Bartek "BeWu" Wąsiel (title and end-of-the-game, graphics, game background graphics, fonts, ball and shadow animation, website design and graphics), Piotr "0xF" Fusik (decompression routine, music playback routine, moral support)
  • 1nvader (2021 WIP | 8-Bit) by Ken Jennings @kenjennings
  • Bruce Lee Return of Fury (2021 WIP | 8-Bit) by Ute @Ute, fantômas @fantômas

 (WATCH AT 60FPS FOR FULL QUALITY)

 

 

  • Like 2
Link to comment
Share on other sites

On 8/31/2021 at 7:35 AM, Philsan said:

Would it be possible that NTSC and PAL version have the same speed?

Noooooooo, is old-skool to have the difference :)

 

The multi-coloured ships on title and game screen can be blamed on me :)

 

I really like them better now….they blend in with the rest of all those nice colours much better :):):)

 

  • Like 2
Link to comment
Share on other sites

On 8/31/2021 at 1:35 AM, Philsan said:

Would it be possible that NTSC and PAL version have the same speed?

On 8/31/2021 at 7:03 AM, sanny said:

 

Rough idea:

 

NTSC speed on PAL: Run game logic twice for every 5th frame
PAL speed on NTSC: Skip game logic every 6th frame

 

Current build updated on github.

 

Revised motion control by an array lookup based on NTSC v PAL.  

Motion control values are scaled on PAL across 5 frames to match the apparent speed of NTSC.

May God have mercy on your soul.

 

 

(FYI -- poorly tested.  ?    It amazingly did not crash outright.  Ran it in NTSC and PAL twice.... but not very long.   It seems like they are the same  speed.   PAL has a bit of jerkiness where an extra movement is inserted to fit NTSC.)

 

Edited by kenjennings
more notes
  • Like 2
Link to comment
Share on other sites

So what's everyone's hi-score ? I just got something in the 17000.....but haven't practiced much...

I really like how this looks so much better on absolutely every aspect compared to the C64 :)

I must say the stars and moving mountains succeed in trying to confuse the player....it does make it more challenging.

Strangely this game gives me more of a Centipede feel than Space Invaders....

Oh and....we badly need some sound.....I wouldn't mind if it would sound (a lot) better than the C64 too :D 

P.S. would be a good idea to return to the attract screen after seeing the Game Over screen for a few seconds....10 or so ?

Oh, I just noticed you have to press the fire button to return to the attract mode..... personally I'd prefer to see this go back after a small amount of time like most (arcade) games do.

 

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

3 hours ago, Level42 said:

I must say the stars and moving mountains succeed in trying to confuse the player....it does make it more challenging.

 

I meant to do that.  ?     (At least I hoped so.)   The stars are bigger/brighter/flashier than the C64 version so they are of off-putting when trying to focus especially when the mothership is moving fast.   The mountains blow your focus too.   Makes it a bit harder to play.  

 

 

 

3 hours ago, Level42 said:

Oh and....we badly need some sound.....I wouldn't mind if it would sound (a lot) better than the C64 too :D

 

Request denied. 

 

 

Sound is on the list.   I know as soon as I have it making noise people will consider it complete, so I want to deal with it toward the end.   I have worked out some sounds that are more like the original Space Invaders than the C64 version.

 

 

 

3 hours ago, Level42 said:

P.S. would be a good idea to return to the attract screen after seeing the Game Over screen for a few seconds....10 or so ?

 

Yeah, timeout on the game over screen is do-able.   It also depends on if there is (will be) any end-game audio.   I think a minute of wait time is appropriate -- the player should be smart enough to press the button. 

 

 

  • Like 1
Link to comment
Share on other sites

On 8/30/2021 at 6:09 PM, youxia said:

Tried it on MiSTer + CRT TV (the colours are really lovely) both in PAL/NTSC modes. The game seems to be working fine, but there is a glitchy line on the start screen, under the INVADER. Could be the MiSTer core's fault.

 

IMG-20210830-235716.jpg

 

 

Hi lo!

 

Would you download the current build from Github and try on the mist fpga again?   

 

I replaced the VSCROL hack with regular LMS instructions in the display list.  Hoping this will make the screen stable for you.

 

Link to comment
Share on other sites

On 9/9/2021 at 6:39 PM, ZeroPage Homebrew said:

ZeroPage Homebrew is playing 1nvader on tomorrow's (Fri Sep 10, 2021) stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT+1Day!

During the show, I said that this could be a candidate for a tenliner, James proposed it for 2022's contest, and someone commented that I'd have a first version by tomorrow.

 

Last night I took that glove and coded the basis in a couple of hours. I updated it today to include one more element, and the result was this:

 

 

There is no score (just a count), no increasing speed, no background, no bitmaps, no sound and no two players version.

 

I think it is feasible, but I'm not sure if I'd continue this. If I do, I think I'll try to follow the C64 version, as this one from Ken is fantastic, with lots of colors and animations, it is just waiting for its sounds and music.

 

  • Like 6
Link to comment
Share on other sites

16 hours ago, vitoco said:

During the show, I said that this could be a candidate for a tenliner, James proposed it for 2022's contest, and someone commented that I'd have a first version by tomorrow.

 

Last night I took that glove and coded the basis in a couple of hours. I updated it today to include one more element, and the result was this:

 

 

There is no score (just a count), no increasing speed, no background, no bitmaps, no sound and no two players version.

 

I think it is feasible, but I'm not sure if I'd continue this. If I do, I think I'll try to follow the C64 version, as this one from Ken is fantastic, with lots of colors and animations, it is just waiting for its sounds and music.

 

I'm always amazed by today's ten-liners.

Back in the day (must have been 1983/4 or so) Atari Benelux had a competition in it's magazine where you had to try to make a certain BASIC program as short as possible, while still remaining exactly the same functionality (IIRC it was some steam train "running" on screen....). I was SURE I had it nailed, but I was amazed and disappointed when the result was published and people had found 1 more trick than I had, LOL. 

  • Like 1
Link to comment
Share on other sites

On 9/12/2021 at 4:52 PM, vitoco said:

I think it is feasible, but I'm not sure if I'd continue this.

Even though I said that during the weekend, I received an AA notification yesterday during the afternoon. It said that @ZeroPage Homebrew added my video as a WIP port of this game.

 

I think that his move was strategic, just to force me to continue. And he succeeded... During the evening I changed the focus and rewrote everything again using the DLI feature of FastBasic, which would allow me to include a second player without losing the shape of the projectiles. I've also uploaded a new video.

 

 

I guess I should start a new thread for my own port... Or not?

  • Like 4
  • Haha 1
Link to comment
Share on other sites

On 9/10/2021 at 1:47 PM, kenjennings said:
On 9/10/2021 at 10:14 AM, Level42 said:

I must say the stars and moving mountains succeed in trying to confuse the player....it does make it more challenging.

 

I meant to do that.  ?     (At least I hoped so.)   The stars are bigger/brighter/flashier than the C64 version so they are of off-putting when trying to focus especially when the mothership is moving fast.   The mountains blow your focus too.   Makes it a bit harder to play.  

 

While I was programming my tenliner port of this game, I was thinking about how challenging it is. It looks like that in your port, the invader increases its speed every 10 o 20 killed invaders, and at some point (80 hits) it resets to the original speed. As I see (without inspecting the source code), it behaves exactly the same way for both 1 and 2 players.

 

During the @ZeroPage Homebrew stream, it was commented that it is not so challenging in two players mode. Trying to turn my version into something harder, two ideas came to my mind:

- Faster speed in 2 players mode compared to single player mode.

- Increase the speed of the invader in shorter intervals every time the speed is reset. That would make harder to get used to a speed/height ratio.

 

The first one is already implemented in my version. It starts at 1x up to 4x in single player mode, and from 2x to 5x in two players mode. This really improves the challenge. BTW, the cannons move at 0.5x (half of the initial for the mothership).

 

  • Like 2
Link to comment
Share on other sites

3 hours ago, vitoco said:

 

While I was programming my tenliner port of this game, I was thinking about how challenging it is. It looks like that in your port, the invader increases its speed every 10 o 20 killed invaders, and at some point (80 hits) it resets to the original speed. As I see (without inspecting the source code), it behaves exactly the same way for both 1 and 2 players.

 

Best as I could, the rules are the same as for the C64 original.  

Yup.   Every 10 hits increment speed.   Doesn't matter which player hits.   Any hit counts.   At 80 hits it returns to the original speed, and the 80 hit countdown begins again.

 

3 hours ago, vitoco said:

During the @ZeroPage Homebrew stream, it was commented that it is not so challenging in two players mode. Trying to turn my version into something harder, two ideas came to my mind:

- Faster speed in 2 players mode compared to single player mode.

- Increase the speed of the invader in shorter intervals every time the speed is reset. That would make harder to get used to a speed/height ratio.

 

The first one is already implemented in my version. It starts at 1x up to 4x in single player mode, and from 2x to 5x in two players mode. This really improves the challenge. BTW, the cannons move at 0.5x (half of the initial for the mothership).

 

Good ideas.   Yeah, it is easier with two players and the fact that shots can be restarted with another button press once it has traveled half way up the screen.   An option to disable the  shot restart is on the to-do list. 

  • Like 1
Link to comment
Share on other sites

9 hours ago, kenjennings said:
13 hours ago, vitoco said:

As I see (without inspecting the source code), it behaves exactly the same way for both 1 and 2 players.

Every 10 hits increment speed.   Doesn't matter which player hits.   Any hit counts.   At 80 hits it returns to the original speed, and the 80 hit countdown begins again.

I meant that the speed increments behave the same for both player modes. But thanks for the clarification about the increments. I'll think on how to add that half speeds increment to get 8 different speeds instead of 4 in my tenliner.

 

9 hours ago, kenjennings said:

Yeah, it is easier with two players and the fact that shots can be restarted with another button press once it has traveled half way up the screen.   An option to disable the  shot restart is on the to-do list.

That's a third option for two players mode. I also have the half way restriction, but it can be "disabled" by moving the limit towards the top. I think that's the way you can go for that mode... or increment the range on every speed reset!!! ?

 

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

 

Atari 1nvader - 5 Oct 2021 update

 

https://github.com/kenjennings/Atari-1nvader

 

More Prettification and work in progress.

 

  • Player/Missile graphics are used to tint the scores to match the color of the active player(s).
  • An animated subtitle appears under the big title graphics providing some messages of emotional impact. (ONE BUTTON -- ONE ALIEN -- ONE LIFE -- NO MERCY)
  • There is a new line added for Options, and a line for Options documentation. (Picking Game Options is WIP/Future feature.) 
  • Supporting the Options documentation text, the custom character set is re-done to include A-Z glyphs appropriate for ANTIC Mode 2 text.
  • Also, pretty much fixed the glitchy flashiness moving between the Title screen and the Game screen.  (Maintaining  the VBI Title screen logic through the Game screen setup.  Duh.  Then the indexed things get reset and don't have a chance to go brain damaged.)
  • The Game Over screen automatically times out and returns to the Title.   Approximately a minute-ish.

 

(Scoring is temporarily broken. Looks like this is due to the Player/Missile graphics overlays. I think whacking HITCLR needs to be done at a different time/place on screen.   Shhhhhh.)

 

I changed the Player/Missile used for the colorization, and this same scoring issue is still happening.  So, this is not the result of some kind of fake collision.   Looks like it is going to go under the heading of stupid programmer tricks....

 

SOMETIMES, player 2 gets points added when player 1 hits the alien.   Often enough to notice.   It even happens when Player 2 is NOT playing (the updated  score appears when the game returns to the Title screen).  I haven't yet seen an occurrence of the reverse happening of player 1 awarded for player 2's hits.  So, somewhere there is something insidious happening with a disagreement between X=0 and X=1.

 

The Player 2 extra credit indicated above is fixed, and it was definitely a Stupid Programmer Trick.  New upload on github.

 

I realized that the points occurred every 10 hits and this is also when the mothership speed increased.  Found that the speed scaling logic implemented for PAL added another function layer which needed to use the X register which the calling code uses to know which player is being worked on.   Thus when it returned the X value was toast and the remaining code in the section misunderstood which Player was being considered. 

 

Edited by kenjennings
  • Like 4
Link to comment
Share on other sites

1 hour ago, Yautja said:

Interesting: you can "cancel" the last shot by pressing the trigger button again. Is that a bug or a feature?

It is a feature, but you can do that only when the missile has travelled half of the way. This is to add some difficulty when the invader is too low.

 

(in my tenliner version, that distance will vary as you kill more aliens)

  • Like 2
Link to comment
Share on other sites

1 hour ago, Yautja said:

Interesting: you can "cancel" the last shot by pressing the trigger button again. Is that a bug or a feature?

 

Feature.   Same as the original C64 version.   When the laser reaches the middle of the screen it can be restarted.

 

Turns out in two-players this makes the game easier.   Eventually will be adding selectable options to change the height of the restart or turn it off .

 

  • Like 1
Link to comment
Share on other sites

  • 5 weeks later...

Ran head-first into a brick wall.   It looks like Mads may be broken  due to something in the 1nvader source added in the last couple weeks.

 

i'm getting an error from MADS when trying to assemble the 1nvader game.

Compiler 'MADS' output:
Runtime error 216 at $0000000000417845
  $0000000000417845

 

This happens from command line or from eclipse/WUDSN.

 

i thought maybe the mads which I had downloaded long ago was out of sync with current  linux libraries, so did some updates, got the current source, built a new executable without issues (remarkably), and still get the same error.   (At least I have a nice shiny 2.1.3 now).

 

Then I tried the last large game I wrote (Pet Frogger V03) and it assembled just fine from eclipse/WUDSN

 

So, it seems that there's something about the 1nvader source code that's breaking mads.   ANY IDEAS?   What I get out of google is that this is a memory access error.   

 

Most recently, I had been adding some strings for options menus, and commenting out declarations of unused variable.   Is there any limit in Mads that I may be hitting --  like file size limit or total number of source lines?

Link to comment
Share on other sites

I just downloaded the current version from github and this version refuses to work.

 

On original hardware (800XL pal) I only get a humming noise and some vertikal (PMG) bars. On Altirra it crashes with a CPU: Illegal instruction hit (tried both pal/ntsc settings).

 

I have a version of september, 19th that is running fine on original hardware (obviously without sound).

 

Edit: I just downloaded the game again and now everything is running fine. It was my fault, apologies. I clicked on the folder (didn't see that it was one) and said save as... in firefox. Now after opening the folder and downloading the .xex from within the game is running fine in both Altirra and on real hardware (pal). Once again sorry for the confusion.

Edited by patjomki
  • Confused 1
Link to comment
Share on other sites

3 hours ago, patjomki said:

I just downloaded the current version from github and this version refuses to work.

 

 

I just downloaded from the github site.   file size 14,601 bytes.    It ran OK here in NTSC and PAL on atari800 4.2.0 (linux) and Altirra 3.90  (PC).   

 

My config is running with no cartridge inserted, (and so, no BASIC. )  Though the program was small enough, that didn't really seem to matter.    Maybe the size has grown to the point where this is now a requirement.

 

 

Is anyone else having issues on real hardware or Altirra?  Please report config.

 

Edited by kenjennings
typo
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...