Jump to content
IGNORED

Head to Head Battleship with 2 consoles


Pioneer4x4

Recommended Posts

OK, here is the new thread with what I am working on/dreaming about.

Some info on what I was asking about is in this thread.

http://atariage.com/forums/topic/288438-extra-ram-batari-basic-and-hardware/

 

When I realized you can effectively send data and read data over a controller port it reminded me of a program I wrote back in 1982ish for my TRS-80. It was a head to head BattleShip game with each person at a computer and you make your move, and one person would hit a key to receive, and the other would send. It used cassette cables linked together and the basic save command for writing data to a tape.

 

It worked great, and the only real limitation was the crude graphics of the TRS-80 at the time.

 

SO, what my idea was, is to do the same thing with 2 2600s.

Each player would have a 2600,TV,Game on cart. And a simple cable linking 2 of the controller ports.

For the game you would need a 10x10 grid showing your guesses of the other person's location with 3 color options, unguessed, guess-miss,guess-hit. And on the screen of your ships, you would potentially only need 4 options empty, ship, miss, hit, you don't need a hit&ship in the same square, since they are technically redundant.

 

I envisioned gameplay to have a setup phase where you place ships, (I think I had that working years ago) then the combat phase.

During combat, you would toggle one of the switches to be in "fire mode" then after choosing your shot, flip a switch (b/w-color, or a diff...) then your console will send a signal on a pin and listen on another, when both consoles know that both have fired, they send/receive the shot, then either a timer, or a handshake and display/sync the result.

 

It was the best case of head to head, turn based, with minimal data going back and forth without need for instant timing.

 

assuming 10x10 grid, only a couple of bytes of data need sent every turn. I figured using "nibbles" or 4 bit chunks over the data pins, so only 2 nibbles for a shot fired, and 1 nibble for result...

 

But storing the 100*3+100*4 grid possibilities needs 700bits of data so at least 80 bytes by the time I organize it, probably more like 128, and then getting it to look recognizable on the screen needs something with a nice resolution.

 

BUT with all that, I think it really isn't that much of a reach to get it working.

SO , back to my hardware needs, for me to get it working, I need 2 copies, and I only have 1 Harmony, but I have 2 superchargers, 1 is modified. And if anyone else ever wanted to try this, they would need 2 of everything. I think a LOT of us have multiple consoles, but not multiple Harmony carts.

Edited by Pioneer4x4
Link to comment
Share on other sites

If you use the playfield for hits and misses, you would probably want to use flicker to create a transparency effect between your ship and the background.

 

A one player version would be trivial to.develop with bB DPC+. The link play feature would be a bit more work, but there should be plenty of resources.

 

Given that the frame rate doesn't matter much, an efficient design would be able to do plenty of bankswitches. As games designs go, it would be easy to do.

Link to comment
Share on other sites

I like the use of the console switches, 6 switchers are the best. You can use the diff switches as controls, like in Phasor Patrol. Maybe bw/color for "Your Ships/Enemy Ships" And use something else to trigger ready to fire. Actual gameplay code should be quite simple, bascially housekeeping.

Link to comment
Share on other sites

You don't want to force gamers to flip switches on the console. It's probably best to add support for Genesis pads.

 

The playfield automatically stores the state of the game and there's plenty of room on the DPC stack. You can store the attack white pf block misses as booleans. There are very few possible hits on both your board and the attack board, so you can store all the reds as coordinates.

 

I'd push the state of your ship playfield to the DPC stack, clear the pf, turn on the new red "enemy shot" playfield block, and use hardware collision with the ship sprites. Then, you can just subtract from a global hit point value for all ships. If it's a hit, leave the new red playfield block on and pull the other red playfield blocks back off the DPC stack.

Link to comment
Share on other sites

I found some code, and some bins I made of gameplay interface, and I have a 8K "set romsize 8kSC" and I fired them up. I forgot I actually got a side by side screen working. Looks like crap, but works.

I'll attach screenshots, and try to explain them.

The left is your ships. The right is enemy ships. Each grid position is a stack of 3 cells.

The left side has the ships arranged already, and each ship's location is defined by cells 1,3 and shots are marked in #2, so a hit is all 3 cells in a grid position.

This crappy screen actually shows 10x10 your ship grid with 5 ships in place. And a 10x10 grid to shoot at enemy.

post-25375-0-37827100-1550858283_thumb.png

The working model I made just shoots on your self to test what it would look like. The red square is your cursor, and you move it to a grid position on the right and fire. If a miss, just the center cell shows, if a hit, all 3 show. I went and made an x from each corner to corner, and you can see where it hits and misses based on the left screen's ship positions.

 

post-25375-0-45631500-1550858299_thumb.png

 

This is all from exactly 9 years ago, so I don't remember a lot of why I did what, but it is coming back to me.

I also have a similar but even crappier looking 4k one, but not enough vertical lines to do the ships, only shots.

Edited by Pioneer4x4
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...