Pacific, my entry to MSX Dev 2020

Page 1/2
| 2

By albs_br

Expert (67)

albs_br's picture

29-07-2020, 06:29

Finally submitted my game to the MSX Dev and they published on their page:
https://www.msxdev.org/2020/07/28/msxdev20-16-pacific/
Source:
https://github.com/albs-br/pacific

It's the result of 40 days and more than 100 hours of old school programming. I never thought that it would be so hard.

I hope you guys enjoy it, and help with suggestions, bug reports would be very appreciated.

I already know that it crashes on Casio PV-7 (I assume RAM starting at 0xC000, I don't know yet how deal with it).

Login or register to post comments

By albs_br

Expert (67)

albs_br's picture

29-07-2020, 06:29

Version 1.1.0 has support for joystick (which itself caused a small bug).

By albs_br

Expert (67)

albs_br's picture

29-07-2020, 06:35

Backlog so far has these items:

boss or bosses
hi score
3 shots player
islands / other land types
3 types of player shot / power ups
cheating
joystick support
attract mode
fix bug shadow right side appear at left
items (extra life, invencibility, kill all) only life implemented
2 players
randomize enemies
fix bug enemy shots stops after player blows up
use box collision
optimize speed on increment counter
day / night levels
adjust EC bit (sprites on left border)
fix bug (won't run on Casio PV-7)
fix bug (diagonal arrows not working on screen border)

Of course I will not make it all before the deadline, but 2 or 3 may be feasible. What do you guys think it would be better? Or any other suggestion?

By santiontanon

Paladin (1023)

santiontanon's picture

29-07-2020, 06:49

Hi albs_br! I just played Pacific earlier today, nice game, everythiing moves very smoothly!

Out of that list I think the one thing that will make the game better would be the "3 shots"! I completed 3-4 levels, but I barely managed to kill any enemy hahaha, that's because the bullet is kind of slow compared to the enemies and you can only have one at a time. So, 3 simultaneous bullets would be awesome! Smile

By Thom

Hero (626)

Thom's picture

29-07-2020, 07:22

albs_br wrote:

I already know that it crashes on Casio PV-7 (I assume RAM starting at 0xC000, I don't know yet how deal with it).

RAM starts at 0xE000 on the PV-7: https://www.msx.org/wiki/Casio_PV-7

By albs_br

Expert (67)

albs_br's picture

29-07-2020, 17:16

santiontanon wrote:

Hi albs_br! I just played Pacific earlier today, nice game, everythiing moves very smoothly!

Out of that list I think the one thing that will make the game better would be the "3 shots"!

Yeah, that's one of the highest priority for me too. All shot'em ups around are able to fill the screen with a mess of shots.

This part of code was one of the firsts I wrote, so is not very well coded Tongue Some refactoring may be necessary.
When I started this project I had a very shallow knowledge of Z80 assembly, I didn't even know the (IX + n) instructions.

By albs_br

Expert (67)

albs_br's picture

29-07-2020, 21:08

RAM starts at 0xE000 on the PV-7

Yeah, that's the problem. The solution is unknown for me. I mean, my variables start with an ORG 0xC000 directive. How can I know, at compile time, were will be the RAM start at target machine?

Anyway, as the requirement is 16Kb RAM, I couldn't be penalised/disqualified if my game doesn't run on a 8kb machine.

Do all 16kb machines have RAM starting at 0xC000? Or have RAM at this address?

By santiontanon

Paladin (1023)

santiontanon's picture

29-07-2020, 22:34

All my games also assume RAM starts at #c000, and I think most other developments for MSX1 as well. So, I think you are safe. But, I'd also be curious to know if there is actually a way to know where does RAM start Smile

By Grauw

Ascended (9176)

Grauw's picture

29-07-2020, 23:06

FC48H BOTTOM Address of the beginning of the available RAM area.
FC4AH HIMEM Address of the end of the available RAM area.

By ducasp

Champion (317)

ducasp's picture

29-07-2020, 23:10

santiontanon wrote:

All my games also assume RAM starts at #c000, and I think most other developments for MSX1 as well. So, I think you are safe. But, I'd also be curious to know if there is actually a way to know where does RAM start Smile

Is not BOTTOM meant exactly for that? Smile

FC48h BOTTOM

My guess is that CASIO machine will have bottom indicating its lowest memory address. About making the game work, if the free space between BOTTOM and HIMEM work for your game, defining it starting higher should not hurt and make it work on those machines as well.

By albs_br

Expert (67)

albs_br's picture

30-07-2020, 00:09

Grauw wrote:

FC48H BOTTOM Address of the beginning of the available RAM area.
FC4AH HIMEM Address of the end of the available RAM area.

I had seen it before, but is not possible to use it in the ORG directive. It would be needed a completely different approach. That's my doubt.

Page 1/2
| 2