Jump to content
IGNORED

Arcadia - a game for ABBUC Software Contest 2022


amarok

Recommended Posts

@MrFish, thank you very much for your kind words. 🙂

 

During implementation of Arcadia I realized that in some cases the game logic are more complicated.

 

I decided to design unit tests which should confirm if the implementation is correct or not.

My idea was to run unit tests on the destination environment i.e. directly on Atari.
It was very helpful to check some edge use cases which would be difficult to obtain just during the gameplay.

 

The most unit tests are for interaction with segments of marbles like attaching new marble or joining of segments.
I have to say that it was good idea because it helped me to find and correct of multiple bugs.

 

The game and their unit tests are coded in MadPascal and share some portion of the source codes.
I provided a definition for a conditional compilation to produce either the game or program with unit tests.
To run unit tests it is enough to uncomment the first line of code in arcadia.pas:
unittests.png.5b627015769d2d35a6105cef993380c5.png

 

Additional code for execution of unit tests takes some useful amount of RAM.
Therefore I needed to cut some portion of the game code which is not tested at all.
I prepared mocks for interrupts and playing the sound, because they are out of my interests.
Also resources with gfx and sfx and levels definition are not loaded for unit tests.

 

The code for unit tests can be found on the following link:
https://gitlab.com/amarok8bit/arcadia/-/blob/main/source/unittests.inc

 

Below there is a result when one of unit tests fails.
unit_tests_failed.png.af8a2b97716f90405dd20f2446a86557.png

 

And the screen when the result for all of unit tests is pass.
unit_tests_passed.png.635a0162937bac13ceb1835826efd067.png

 

At the end I would like to encourage you to write unit tests for your own games or programs.
You may save your time of development during figthing with bugs.

  • Like 3
Link to comment
Share on other sites

Sounds pretty thorough.

 

Speaking of which, I have a question regarding the powerup graphics.

I've noticed that occasionally the "Color Paint" powerups show up as a single color graphic (no highlights, outline, etc.). Is there a technical reason for this? I thought it might have to do with the number of powerups currently onscreen at a given time; but then I'm pretty sure I've seen it happen with a single powerup. Not really a problem; but it obviously doesn't look as nice as the multi-color powerups.

 

powerups.thumb.png.f0a22d4ccb1b96975ba809f9a52c7ec7.png

 

Link to comment
Share on other sites

2 hours ago, MrFish said:

I've noticed that occasionally the "Color Paint" powerups show up as a single color graphic (no highlights, outline, etc.).

Thank you for your watchfulness. I've just checked the source codes and in case of NTSC the color for blue paint power-up is invalid. The first number should be $98 not $96.

 

BLUE_PAINT_COLORS_NTSC
    dta $96, $96

BLUE_PAINT_COLORS_PAL
    dta $78, $76

 

I have to admit I haven't spent much time on testing for NTSC. Also my real Atari 130XE is the PAL system. Fortunately it seems that this is the only problem with colors.

 

I will correct it in the next version of the game.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

@ascrnet, thanks! I am really glad you like Arcadia.

 

16 hours ago, ascrnet said:

I had not seen this game mechanics for our beloved Atari.

It was the main reason why I decided to implement this game on Atari.

 

16 hours ago, ascrnet said:

If you have space left in RAM you can add Joy 2B+ support if it's not too much to ask.😅

It is very good idea to support multi-button controllers, and I would like to do it. This is another feature on my TODO list for future version of the game.

 

Actually, in the current implementaion the game uses almost the whole available RAM. One of the solution is to turn off the ROM and use the additional space for the game. Of course in such a case 48k machines would not be supported. Another solution would be to modify the game to load it from cartridge. In both cases I don't have experience yet and first I need to learn how to do it. But it should be doable, I believe.

  • Thanks 1
Link to comment
Share on other sites

7 hours ago, amarok said:

It is very good idea to support multi-button controllers, and I would like to do it. This is another feature on my TODO list for future version of the game.

thanks for the consideration, I think this increases the playability as you can move sideways and also change the color of the ball at the same time. 🤩

 

7 hours ago, amarok said:

Actually, in the current implementaion the game uses almost the whole available RAM. One of the solution is to turn off the ROM and use the additional space for the game. Of course in such a case 48k machines would not be supported. Another solution would be to modify the game to load it from cartridge. In both cases I don't have experience yet and first I need to learn how to do it. But it should be doable, I believe.

Of course there are several ways to have a little more RAM, I think a good solution for all 400/800/XL/XE machines would be in cartridge, but the banking issue is the complicated thing in my opinion as I have never understood it well.😅

 

Looking forward to your future version soon.😉

  • Like 1
Link to comment
Share on other sites

Great game and I second the request for multi button controllers. SNACK adapter with a SNES controller works amazingly well and totally enhances the experience with Final Assault for example. Ability to switch weapons and toggle a map from the one controller in that game is amazing and I'd love to see SNACK support with this wonderful game if that is at all a possible future addition. :)

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

It took me a while but finally I managed to prepare a newer version of Arcadia.

 

In version 1.1 I introduced the following changes and improvements:

  • Support for multi-button controllers based on specification of Joy 2B+ requested by @ascrnet and @Beeblebrox. Button 2 is for changing marbles and button 3 is to pause the game.
  • Loading and saving of high scores on disk requested by @darwinmac. Now it is possible to store your results permanently.
  • Some small fixes including proper displaying of image on NTSC. Especially darkening and undarkening of title screen and colors for blue paint power-up pointed up by @MrFish.

 

I also would like to reveal that the above changes are a side effect of development of a new game based on Arcadia.
I think I will be able to say something more about it soon because I am very close to finishing the work.

 

 

arcadia_v1.1.atr

  • Like 5
  • Thanks 4
Link to comment
Share on other sites

Super addictive game, really love it. An Arcadia Plus with more levels would be fantastic!

 

Something I find weird is the scoring system. It would be great if finishing the game with many lives left granted some kind of bonus. You actually get many more points if you struggle and finish with a single life than going through all the rounds with no lives lost. 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, www.atarimania.com said:

It would be great if finishing the game with many lives left granted some kind of bonus.

I like your idea very much. I think that even after finishing each level an additional bonus might be granted (similar to bonus for accuracy) as the current number of lives left multiplied by some number. It might encourage the player to collect more hearts which give additional lives.

  • Like 1
Link to comment
Share on other sites

Just as a bit of trivia, does anyone remember the game called Arcadia that was on the Vic20 and C64, a shoot-em up from Imagine software who then were purchased by Ocean iirc.

 

Trust me, this game called Arcadia is way better than the imagine one in every way possible :)

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, amarok said:

I like your idea very much. I think that even after finishing each level an additional bonus might be granted (similar to bonus for accuracy) as the current number of lives left multiplied by some number. It might encourage the player to collect more hearts which give additional lives.

That would be great. IIRC, I finished the game in "insane" mode with something like seven lives left and only racked up 21,000 points or so. My usual score with less lives left is about 25,000 points.

 

BTW, I just tried V1.1 and the game appears to be slightly slower. The controls seem to be sluggish and less responsive as well.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, www.atarimania.com said:

BTW, I just tried V1.1 and the game appears to be slightly slower. The controls seem to be sluggish and less responsive as well.

Yes, you are completely right! During implementation of support for Joy 2B+ I made a mistake and changed the reaction of the fire button. In ABBUC version the ball is shot when the button is pressed and in v1.1 when the button is released. Therefore you can feel the less response from the controller. I corrected it in v1.2 which is attached to this post. Thank you very much for pointing the issue out.

 

arcadia_v1.2.atr

  • Like 6
  • Thanks 2
Link to comment
Share on other sites

  • 2 months later...

@bhall408, thank you very much for congrats from you. The nomination was a surprise and is a great honor for me.

 

I haven't heard of Argon before, but James from @ZeroPage Homebrew proposed me to share Arcadia on the platform.

It is great that Argon allows for retro-gaming on multiple devices including mobile phones.

I hope that in the future more Atari 8-bit games will be available on Argon.

 

It is my pleasure to be a participant of it. 🙂

  • Like 3
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...