Jump to content
atari2600land

MidSpace (2k game)

Recommended Posts

In case you don't read the homebrew discussion forum, for the past year or so, I've been working on a little game of mine called MidSpace. Maybe you've heard of it, maybe not. But I really would like to see this game released in the AtariAge store, as I worked really hard on it and I think it deserves to be in it. Albert has apparently put me on ignore, so I can't reach him. It's not like I consistently try to, I think the last time I was still working on it. But I think the game is finished, and I'm bored and I want something 2600y to work on. So anyway, please download my game and give me feedback. Just some simple feedback. Stuff I can improve on. Or if you find a bug, tell me about it.

midspace34.bin

  • Like 2

Share this post


Link to post
Share on other sites

I gave the latest version a try. It plays pretty well, and it's cool that you have a titlescreen and theme music for a 2K game. I'm not fond of the enemy shoot noise personally, and I'd probably also get rid of having to press fire after each player death - it takes away from the action feel of the game, IMO. Finally, the enemy missiles seem to originate from behind the enemies when they are coming from the right side.

 

If Albert isn't interested in putting this in the AA store, there are other publishers that might be. Honestly though, there are other games by you that I would personally rather see on cart. E.g. Castle of Doom (last released bin is here), which is great fun, and quite a challenge. I like the infinite retries for each level - it makes it less frustrating.

Share this post


Link to post
Share on other sites

Changes...

  • The enemy shoot noise.
  • Tried to fix the missile coming from behind the enemy on the right side.
  • Fixed a rather annoying bug about garbage coming on the bottom of the screen for a split second after an enemy has been shot that was on real hardware and not emulator.
  • "MIDSPACE" now has a different font, I rounded the corners on the P, C, and E to match the M and S which already did. And I lowered the word.

I might give Castle of Doom another reboot here soon when I'm done with this game.

midspace36.bin

  • Like 2

Share this post


Link to post
Share on other sites

In my game, I have this code:

        lda #<(pretzelGFX + pretzel_HEIGHT - 1)
        sec
        sbc PlayerY+0
        sta Player0Ptr
        lda #>(pretzelGFX + pretzel_HEIGHT - 1)
        sta Player0Ptr+1
    
        jmp POLoop4
        
DrawCashew:
         ldx ItemType
        cpx #240
        bcs DrawCereal
        lda #<(cashewGFX + cashew_HEIGHT - 1)
        sec
        sbc PlayerY+0
        sta Player0Ptr
        lda #>(cashewGFX + cashew_HEIGHT - 1)
        sta Player0Ptr+1
    
        jmp POLoop4

 

DrawCereal:
        lda #<(cerealGFX + cereal_HEIGHT - 1)
        sec
        sbc PlayerY+0
        sta Player0Ptr
        lda #>(cerealGFX + cereal_HEIGHT - 1)
        sta Player0Ptr+1

 

Seems kind of wasteful to have three separate sprite 0 drawing parts. Can I just have one and put the data in "a" into a variable and then just have one sprite 0 drawing part? If so, how would I do that? I tried and I couldn't make it work.

Share this post


Link to post
Share on other sites

If you get in the habit of counting cycles during your visible screen, it will save you a lot of time and headaches when it comes to issues like this. Otherwise you are forever shifting things around by tiny amounts, and hoping for the best. Once you are used to it, counting cycles doesn't really take any significant amount of time, either. Far less than the time you gain back from debugging.

Share this post


Link to post
Share on other sites

Along with counting cycles, this timing chart is invaluable (in case you were not already aware of it).

 

TIA-timing.thumb.png.d16ba4dc6277864df6bee6b611a3e5c2.png

  • Like 1

Share this post


Link to post
Share on other sites

I give you...version 41!

Changes:

  • The chances the speed of the cashew or pretzel will be faster increases at 200 points and again at 400.
  • Different sound effect for getting a cereal piece
  • Enemy missiles won't go away when an enemy is hit, it can still hit your ship.

Let me know what you all think. I have 5 bytes left.

midspace41.zip

  • Like 2

Share this post


Link to post
Share on other sites

Is it normal that I have to press the trigger to be attacked?

(it might be my fault... I have changed some Stella configs in the past and probably one of them is not as expected)

 

Share this post


Link to post
Share on other sites
4 hours ago, atari2600land said:

When you die, you need to press fire for the game to resume.

So I'm always dying... 😭

 

I haven't figured out on how to use my USB gamepad in Stella. I think I need a Stelladaptor.

 

Share this post


Link to post
Share on other sites

Version 43.

Worked a lot with the colors. I wanted to make the title fade in and out, like a pulsing effect, brighter and darker over and over again. I finally saw my problem I was having. It had to do with the FlashTimer variable not being reset whenever the b&w/color switch was pressed. I changed the b&w mode colors. I can change stuff, but if I were to add things, something would have to go because I have 0 bytes left. In version 42, I changed the title because I wasn't liking how it looked.

midspace42.png.aaf616bbe44a933822bc37e5062b94eb.png

I don't like the fact that the title now has a space between the D and S, but I had to make it this way since it looked the best.

midspace43.bin

  • Like 1

Share this post


Link to post
Share on other sites

Nice game!  I think it plays very well and looks great.  The title screen and music are impressive for a 2K game.

 

I noticed the score font is 3x5, and since you are using the playfield to display it, you have to store 2 copies of the digits, one being flipped.  A couple years ago I did a project with a similar font, and I was able to find a way to store both tables of graphics into the same table.  What I did was overlap a mirrored copy in between the 2 forward copies.

 

Looking at a single byte in the table, here are all the bits numbered:  %76543210

Bits 765 and 321 hold regular forward copies as usual.  Bits 543 hold a mirrored version of the same graphics.

 

In order to display a set of reversed characters, you would need to shift the copies into place before ORing them together.  Since you have 10 digits, the table is 50 bytes, but with the extra overhead to handle the mirrored copies, it would probably save you 30ish bytes.  (Although I did notice there is an extra 11th character which wouldn't work with this method...)  I just wanted to mention it in case you wanted to free up a little space.

Edited by JeremiahK
  • Like 1

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