Jump to content

TROGBlog

  • entries
    47
  • comments
    219
  • views
    125,210

The Battle of Midway v0.21


TROGDOR

1,633 views

This is the first release of the game that is minimally playable. You can actually sink the ships now.

 

tbom21hx2.png

Mission Accomplished

 

tbom21.zip

New Features:

tbom18.asm 8/3/08

- Removed HMOVE artifact from title screen using cycle 73 HMOVE.

- Time-based high-res physics engine for Zero.

- AI to control Zero flight patterns. (preliminary)

- Crash animation and sound Fx for Zero.

- Multiple vectors for AA fire.

- Detects a hole in the ship, and when the ship has been sunk.

- Added preliminary sound Fx for sinking ship.

 

tbom19a.asm 8/6/08

- Kernel cleanup. Changed the main kernel from a 2LK to a 1LK that makes proper use of VDEL0.

 

tbom19b.asm 8/7/08

- Kernel Cleanup. Changed the main kernel to use quick load masks instead of skipdraw.

 

tbom20.asm 8/15/08

- Preliminary ship sinking effect.

- Unwrapped the ship display kernel loop to open up 15 cycles.

- Added WaterLevel variable to display water transition in ship kernel.

- Added random changes to water level to simulate waves. (3 levels)

 

tbom21.asm 8/18/08

- Prevent AA fire when capital ship is sinking.

- Flashing background while ship is sinking.

- After ship sinks, new ship is displayed.

- Levels implemented. Odd levels have the Yamato Battleship. Even levels have the Akagi aircraft carrier. If you sink both capital ships, you start back at the Yamato, but you will have to bomb two holes all the way to the water to sink the ship. This pattern continues. For every two ships you sink, the next two will require that you bomb one more hole to sink it.

 

To Do:

- Proper physics engine for player plane, to allow for engine stalling.

- AI targeting for AA fire and Zero fire.

- Better transition between ship sunk and new ship.

- Better end of game sequence.

- Display the game level somehow. Probably in between ships.

- Squadron attacks with alert klaxon. (triple sprite enemy planes.)

- Improve sound channel multiplexing.

 

Known Issues:

- If you collide with the Zero, after your planes crash your new plane will be hit as soon as it appears. This should be an easy fix. I'm missing a collision register reset somewhere.

- If a bomb is falling and you press reset, the falling whistle will continue to play during the title screen.

 

Development Notes:

An early version of the instruction manual is included with this release. It's recommended reading if you download the binary.

 

The game now has levels. Here's the description of the levels from the manual.

 

<> Progressive Difficulty

Each time you sink a capital ship, you will advance to the next level.  The level determines the type of capital ship you must sink, and the number of holes required to sink it.

Level	 Ship	   Holes to sink
1		 Yamato	   1
2		 Akagi		1
3		 Yamato	   2
4		 Akagi		2
5		 Yamato	   3
6		 Akagi		3
7		 Yamato	   4
8		 Akagi		4

 

There are still several features that need to be added. The game will get a lot more challenging. There will be at least two phases to the game. In the first phase, you will defend your own capital ship from enemy bombers. You will have to shoot the bombers down before they can drop their bombs on your ship. In the second phase, you will attack the enemy ship, which will be similar to the current demo.

4 Comments


Recommended Comments

Very cool. ;)

The way the planes disappear when they get too low and too high is a little odd, though.

Thanks Bob. The vertical plane wrapping will be gone after a few more enhancements. When I upgrade the computer AI, the Zero will have flight patterns and boundary checks that will prevent it from flying off screen. For the player, if you fly too low, you will be shot down by the capital ship. If you fly too high, your plane will stall out. You'll then have to restart the engine before your plane crashes. (Similar to the biplanes in Intellivision's Triple Action.)

Link to comment

This is coming along great! I managed to sink a ship after a few tries. Very rewarding.

 

Not sure if this would be possible... but could you add wind or motion of the ships into the mix? Maybe by showing clouds drifting by at different speeds?

Link to comment
This is coming along great! I managed to sink a ship after a few tries. Very rewarding.

 

Not sure if this would be possible... but could you add wind or motion of the ships into the mix? Maybe by showing clouds drifting by at different speeds?

Thanks Nathan.

 

Horizontal ship motion can't be done without more RAM. I'm currently using 36 bytes of RAM to display the ship. Scrolling the ship across the bottom of the screen would require at least 60 bytes of RAM (5 x 12), and would only be possible with a dedicated kernel that wouldn't allow any other movable objects on the same scanline, because I'd have to refresh all 3 playfield registers twice on every scanline. I'm already using up most of the RAM, so I've punted on the idea of a moving ship.

 

I have considered clouds, but they wouldn't be moving clouds. An aysnc moving cloud in the area where the planes fly would use too many cycles. The current kernel is updating all 5 movable objects on every scanline, so there aren't a lot of free cycles. But I'm thinking about adding a static cloud using a mirrored playfield that would appear on harder levels.

Link to comment
Guest
Add a comment...

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