Jump to content
video game addict

Galaga for 8-bits?

Recommended Posts

let's go

Xxl, I'm pretty sure it's using mode 15, which is a bitmap mode, and bitmap mode is a lot slower with soft sprites, but it's a good start! Our efforts should be more directed towards using something like mode 12 for the game.

Edited by EnderDude

Share this post


Link to post
Share on other sites

I'd forgotten about the BBC version - also a good candidate.

Using text mode would mean a huge rewrite, probably not worth the effort.

 

What might be needed though is some optimisation - Atari is somewhat slower by default than the BBC, it's unencumbered @ 2 MHz with ours around 1.4 effective. Though I suspect the Atari should be faster than the Electron since it's crippled by 4 bits per cycle Ram access.

Share this post


Link to post
Share on other sites

I'm pretty sure

 

 

In this day and age it does only takes a few seconds to be sure...

 

Altirra> .dumpdlist
FD00: blank 4
FD01: mode 4 @ B000
FD04: x2 mode.i 4
FD06: mode 4
FD07: x2 mode.i 4
FD09: mode 4
FD0A: x2 mode.i 4
FD0C: mode 4
FD0D: x2 mode.i 4
FD0F: x2 mode 4
FD11: mode.i 4
FD12: x2 mode 4
FD14: x2 mode.i 4
FD16: mode 4
FD17: x2 mode.i 4
FD19: mode 4
FD1A: x2 mode.i 4
FD1C: mode 4
FD1D: x2 mode.i 4
FD1F: mode 4
FD20: waitvbl FD00

Share this post


Link to post
Share on other sites

Xxl, I'm pretty sure it's using mode 15, which is a bitmap mode, and bitmap mode is a lot slower with soft sprites, but it's a good start! Our efforts should be more directed towards using something like mode 12 for the game.

 

Why would be bitmap modes "lot slower with soft sprites" ? It can be in some cases, but in general ?

  • Like 1

Share this post


Link to post
Share on other sites

 

Why would be bitmap modes "lot slower with soft sprites" ? It can be in some cases, but in general ?

According to peteym5:

 

Using a graphic 15 (bitmap) screen will make it difficult to render movement within a single VBI cycle. Also use up considerable memory to store the graphics patterns of the 4 bit shifts of the enemy ships. Antic 4 character set mode makes it easier to move "soft sprites" at a reasonable frame rate.

Share this post


Link to post
Share on other sites

In Antic 4 the 4 copies of shifted data are also required to keep the speed up so it's not a valid argument.

The characters need to be rendered on the fly since there's nowhere near enough characters to represent 4 shifts and the 8 possible vertical offsets.

The advantages being the extra colour plus the erase phase can be done a lot quicker.

 

If converting from C64 or BBC though, the simulated bitmap of using Antic 4 in that way means the program needs less modification.

  • Like 3

Share this post


Link to post
Share on other sites

Using a graphic 15 (bitmap) screen will make it difficult to render movement within a single VBI cycle. Also use up considerable memory to store the graphics patterns of the 4 bit shifts of the enemy ships. Antic 4 character set mode makes it easier to move "soft sprites" at a reasonable frame rate.

 

 

 

That's just statement, not argument. Even in character mode you need to either shift the data or have them preshifted. It could only be faster in some cases, if you could fit all graphics into the charset (or more), and you just modify the VRAM, not charset itself. But that's unlikely in Galaga type game. And once you start processing the content of the charset, you have to manipulate same number of bytes as in bitmap modes.

 

Character modes gives you fifth color. It allows for fast use of the same tiles on several places on the screen, which is useful in platform games. On the other hand you have to deal with bad lines, and they especially complicate color switching DLIs. The code, if you want to have masking and Y positioning, dynamic allocation of characters across several charsets, is pretty complex (but not necessarily slower).

 

Bitmap modes make Y positioning simple, and have no bad lines. The code is generally simpler. You don't need to care about character limits, or charset DLIs.

 

Bit shifting, masking, background processing (either clearing or storing), PMG coloring, all is pretty much same in both modes.

 

I made the bitmap / character mode decision several times for my projects, and it was never simple. Most of the time I choose the characters for the 5th color, if the game allows for it. But sometimes is just not worth the hassle.

 

Edit: yeah, C64 VRAM simulation is also good for char mode.

Edited by R0ger
  • Like 2

Share this post


Link to post
Share on other sites

In this case with the background, it's just stars; so just use interrupts, and the hardware missiles for the stars. Now all that you're left with are the enemies, missiles, and players. Does that simplify it at all?

Edited by EnderDude

Share this post


Link to post
Share on other sites

If we could do Mario, we can do Galaga, if DMCA doesn't screw us up icon_lol.gif :

Who cares about DMCA? Do it anyway and release it as an annonymous torrent sent from your VPN somewhere in India... :)

Share this post


Link to post
Share on other sites

Bitmap mode should not slow down the engine in general. See Time Pilot, zone Ranger, Gremlins.

 

The Slowdown Pete was wondering is due to the fact he used 4x6 chars which use Vscrol trickery to reduce height which leads not only having a lot DLIs on screen with cycle precise writings to d405 plus he had more chars on screen which produces more bad lines means char matrix fetches DMA lost to Antic. Profiler should look at it.

  • Like 4

Share this post


Link to post
Share on other sites

Who cares about DMCA? Do it anyway and release it as an annonymous torrent sent from your VPN somewhere in India... :)

I see I am not the only person who expresses concerns over copyright infringement. So you asking programmers to put a lot of hard work into this project, and have it pirated right away without any compensation for their work. Good luck with that. Not even put it up for digital download? Why can't you make Galaga yourself and put it up on a bit torrent site?

 

In Antic 4 the 4 copies of shifted data are also required to keep the speed up so it's not a valid argument.

The characters need to be rendered on the fly since there's nowhere near enough characters to represent 4 shifts and the 8 possible vertical offsets.

The advantages being the extra colour plus the erase phase can be done a lot quicker.

 

If converting from C64 or BBC though, the simulated bitmap of using Antic 4 in that way means the program needs less modification.

Can we get away with less bit shifts? Maybe 2 horizontally, and use short character 4x4 mode, so we can move stuff 4 pixels vertically. One reason why character mode renders faster is that it needs to write to less bytes to update the screen. A 8x16 pixel image is represented with 4 bytes instead of 32 bytes for a bitmap screen. If I were to do something, maybe I will combine elements of Space Invaders, Demon Attack, Galaga, etc all in one game. We were looking into an ideal of a 4 directional scrolling space shooter type game for the Atari 8-bit, but that is on the back burner.

 

 

Right now, I am avoiding and delaying doing more space shooters myself, because there are many of them out there across multiple platforms.The space shooter style games I did like Delta Space Arena do not sell very fast. Less than 30 units over 3 years. So that is why I am delaying on starting more space shooters myself.

Edited by peteym5

Share this post


Link to post
Share on other sites

hey petey, in this thread- we aren't interested in what you are selling or creating to sell for lance or your views on piracy etc etc. omg lord again and again and again... the thread wasn't started for another petey production.

 

It's for our very own Atari 8 bit Galaga version and or ports with it being as good looking to the arcade as possible and game play to match...

 

This is not the Balaga Blaster, petey and lance thread.. as the guys here have said.... the way you go about things isn't the way they go about it. If you pay attention you might learn what they do and improve your games. Then maybe people will purchase them or at least be more likely to do so...In any event you have a ton of other threads about your games... you can talk about piracy piracy piracy and your productions in them...

 

This is the GALAGA for 8 bits thread. We are only interested in Galaga Graphists and Coding approach concepts at the moment. Although discussion of sound samples/chip sounds and effects have been touched on. The sound in the arcade machine is iconic... Crisp and chirp chirp chirp, Pleasing.

 

Thanks for the parts of the discussion about different approaches for the display portion, if you can stick to that.. we are golden

Edited by _The Doctor__
  • Like 8

Share this post


Link to post
Share on other sites

If someone wants to make Galaga run from a cartridge, probably better to have it set up for AtariMax, Big Ben, or The!Cartridge. Looks like SIC! Cartridge is defunct and probably not being produced any more. If the game runs on MAX Carts and fits into the first 64K, it can be burned onto EPROMs, it can be burned onto a Williams Cartridge because they have very similar bank switching code, just the writes to disable the cart is slightly different.

 

If someone wants to comment about my Zoo Keeper similar game still being too close to the arcade game, please comment on that thread. But since no one has said anything further, I assume there nobody has further problems with it.

 

Maybe turn the Galaga Screen sideways and use multicolored player/missile graphics. They probably will not flicker since less sprites will be crowding the same vertical position. However, looks like using character mode with either using player/missile underlays, or Super-IRG to generate the amount of onscreen colors are probably the better options.

 

I looked at some of the soft sprite with font character set source code, trying to figure out how it works. Looks like it is doing a massive amount of manipulation of Character Set Memory RAM with unrolled code. Those sprite shapes are not stored it the character set area with every possible bit shift, so you can have many different shapes. Looks like sprite shape data is copied into the memory area. I was wondering how it was to move over different backgrounds characters. Not sure if it can be combined with a Super-IRG, because it would be manipulating two Character Sets instead of one. Also combining with my Player/Missile Multiplexer would really be pushing the CPU limits during a VBI cycle. Would have to figure out a way to manage all that. Any ideals?

Edited by peteym5

Share this post


Link to post
Share on other sites

back on topic..

Bitmap mode should not slow down the engine in general. See Time Pilot, zone Ranger, Gremlins.

The Slowdown Pete was wondering is due to the fact he used 4x6 chars which use Vscrol trickery to reduce height which leads not only having a lot DLIs on screen with cycle precise writings to d405 plus he had more chars on screen which produces more bad lines means char matrix fetches DMA lost to Antic. Profiler should look at it.

 

 

 

that BBC version is a pretty good start... with some A8 magic we might get it to fly? (no slow downs etc)

  • Like 1

Share this post


Link to post
Share on other sites

Could we use bitmap mode, and then just make the green of the beatles hardware players, since they're only 4 of them normally?

Edited by EnderDude

Share this post


Link to post
Share on other sites

Could we use bitmap mode, and then just make the green of the beatles hardware players, since they're only 4 of them normally?

Looks like it could be good that way.

Black + three colors is good enough for normal enemies. Think that suggestion to spread fine movement of wave (spreading in-out) over multiple frames is solution to speed problem. Think this deserves a try.

Make fast soft-sprite routine, throw bunch of it on screen, try moving 8 of them down in fly path each frame, while moving couple of upper enemies each frame.

If you like fine vertical resolution then maybe it would drop to 25fps which could be fine too. If speed is more important and can stand uglier gfx, go with double vertical scanline bitmap mode.

Share this post


Link to post
Share on other sites

More examples of people altering the title to help avoid being sought out by copyright holders. I know people want a true hardware port. Midway is the copyright holder, and according to Wikipedia, they went bankrupt and bought out by NeitherRealm. They would not have the legal resources of big companies like Nintendo would can come crashing down on you.

 

I went through the SoftSprite demos and source, I see the 1942 demo. I am considering a vertical aircraft battle shooter game someday. It is game I can probably get away with the multi-colored multiplexer also because sprites don't seem to crowd on the same vertical position for very long, so it would not have a lot of flicker. KJMANN approached me to port Battle Squadron (Amiga) to the Atari before doing Tempest.

 

Here is my latest thoughts. Use the softsprites for the enemies, use colors white, blue, green, and hi-bit character color of red. Use a multi-color player/missile graphics for the ships. Use missiles for bullets, make them all one color or same color as the ship graphics. This will probably consume the least amount of CPU to animate. Player/Missile multiplexing will not be used.

 

As said, Super-IRG may be combined with that softsprite routine, it would need to be alternating the character set it is manipulating every other frame, maybe the opposite of the one currently displayed.

 

Can always do the game at 25 frames per second, just do bigger movement values to something move faster. NTSC machines would need that delay at 1/6th or 1/8th frame delay. A trick that I do is something called "SIXTH_FRAME_PROCESS" (or EIGHTH) that the VBI jumps. If running on PAL, it jumps to the remain VBI routine, if running on NTSC, it jumps to XITVBV. Do stuff like checking if a console key is pressed, count down timers, updating scoreboard, etc.

Share this post


Link to post
Share on other sites

Yeah well, an Atari company... Atari games Midway probably doesn't have that concern going on as parts of different ports were already in existence back in the day, while not many things made it out... It's reasonable to do what was in works back then and simply make sure to includes such notation in the credits. No one is selling this petey and it is tiresome for you to bring up whatever copyright issue at every available chance. You can do that in one of your peteyright threads. One of the reasons Atari users have the ability to make the stuff they do is that while Atari didn't always get a title out, they always had rights or permissions or one of their own divisions did.. there were so many prototypes and unfinished works that many just need to be completed or yes even finally ported as agreed to back in the day. Atari simply had so many pieces of iron in the fire it didn't know what to do about it all, a miss management nightmare. Incomplete stuff marketed and not put out, completed stuff never marketed or put out. Our user base has the unique position of being able to capitalize on that. also, most of this stuff is well past it's 14 or so years of protection, and lastly a good deal of games were not legally protected out the wazzoo like stuff is today, it simply wasn't a legal instrument at the time or was not utilized as most didn't have it taken care of properly back then (and this was true for a large number of companies).

That all being considered and said...I am not sure we can us the name petey anymore... there might be an implied signature mark involved, nobody wants to get sued by Petey M games... can't take that chance. I may have to refer to you as... the programmer formerly known as Petey but that phrase might be protected some how, better ask the Prince estate... it might be best we get a legal document drawn up so we can use the name Petey in our posts as well as possibly have the ability to talk to or with Petey. This is all too petery for me.

Edited by _The Doctor__
  • Like 1

Share this post


Link to post
Share on other sites

I think you probably have to compromise somewhere if you want it to run on stock hardware and there will be various opinions about what it must do. For me that would be 60Hz, single line resolution with the full number of enemies - I am not concerned about colours or how the formation moves. I would not want to put a lot of effort into something unless I was confident of the results, so for me it's something only to dabble with now and then.

 

In case they may be of use these tests take the path data from the 7800 version and use exclusive-or bitmapped mode with reasonable results. The graphics for the small version come from Galactic Chase, one of the first games I brought for the A8. So perhaps I would end up doing Galactic Gala. Anyway, my "plan" is to do character mode tests next year.

 

test_small.xex

test_big.xex

source.zip

  • Like 11

Share this post


Link to post
Share on other sites

I think you probably have to compromise somewhere if you want it to run on stock hardware and there will be various opinions about what it must do. For me that would be 60Hz, single line resolution with the full number of enemies - I am not concerned about colours or how the formation moves. I would not want to put a lot of effort into something unless I was confident of the results, so for me it's something only to dabble with now and then.

 

In case they may be of use these tests take the path data from the 7800 version and use exclusive-or bitmapped mode with reasonable results. The graphics for the small version come from Galactic Chase, one of the first games I brought for the A8. So perhaps I would end up doing Galactic Gala. Anyway, my "plan" is to do character mode tests next year.

 

You did a really great job with this. It is a great start. I will go with this set up for the completed version.

Share this post


Link to post
Share on other sites

I think you probably have to compromise somewhere if you want it to run on stock hardware and there will be various opinions about what it must do. For me that would be 60Hz, single line resolution with the full number of enemies - I am not concerned about colours or how the formation moves. I would not want to put a lot of effort into something unless I was confident of the results, so for me it's something only to dabble with now and then.

 

In case they may be of use these tests take the path data from the 7800 version and use exclusive-or bitmapped mode with reasonable results. The graphics for the small version come from Galactic Chase, one of the first games I brought for the A8. So perhaps I would end up doing Galactic Gala. Anyway, my "plan" is to do character mode tests next year.

 

 

Looks really good. I think the 'small' version even looks better.

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