Jump to content
IGNORED

RetroAchievements Support for Intellivision


Recommended Posts

RetroAchievements is a community run site that adds achievements to retro games through emulators, for those of you who haven't heard of it. I've just noticed they added support for the Intellivision. Figured it was worth bringing up here. So far, people have made achievements for 4 intellivision games, those being AD&D Cloudy Mountain, Treasure of Tarmin, Ice Trek, and Astrosmash. It's entirely community run, so any of you could even make your own achievements for Intellivision games using their tools.

https://retroachievements.org/ (site homepage)

https://retroachievements.org/gameList.php?c=45 (Specifically Intellivision)


Unfortunately for the Aquarius brotherhood there's no Aquarius support yet though.

  • Like 2
Link to comment
Share on other sites

43 minutes ago, EdgeOfPortal said:

RetroAchievements is a community run site that adds achievements to retro games through emulators, for those of you who haven't heard of it. I've just noticed they added support for the Intellivision. Figured it was worth bringing up here. So far, people have made achievements for 4 intellivision games, those being AD&D Cloudy Mountain, Treasure of Tarmin, Ice Trek, and Astrosmash. It's entirely community run, so any of you could even make your own achievements for Intellivision games using their tools.

https://retroachievements.org/ (site homepage)

https://retroachievements.org/gameList.php?c=45 (Specifically Intellivision)


Unfortunately for the Aquarius brotherhood there's no Aquarius support yet though.

That's sweet. But what would be RAD for Aquarius is to make it compatible with the modem cartridge. Then, a new version of the Aquaricart that can update and store achievements so that when you launch ANY of the carts from the menu it can display notifications.

 

And it'd be sweet if it could output the data to a FinFile compatible file. Or any number of file types... LOGO, Basic...

Link to comment
Share on other sites

15 minutes ago, Intelligentleman said:

That's sweet. But what would be RAD for Aquarius is to make it compatible with the modem cartridge. Then, a new version of the Aquaricart that can update and store achievements so that when you launch ANY of the carts from the menu it can display notifications.

 

And it'd be sweet if it could output the data to a FinFile compatible file. Or any number of file types... LOGO, Basic...

That's a really cool idea. I'm not entirely sure about the technical aspects of that, but perhaps someone more knowledgeable here could provide some info? @jaybird3rd perhaps?

  • Thanks 1
Link to comment
Share on other sites

The more I think about this... It wouldn't even need to be a real-time achievement system. If the Aquaricart could somehow log the player's high score. Or level progression. Or some other indicator of progress for each title...

 

Next time the player turns on Aquaricart, it automatically pings a server and updates the player progress from the previous session. Achievement's don't display in real time, but players can view their rank from the menu. Current as of last ping.

Link to comment
Share on other sites

2 minutes ago, Intelligentleman said:

The more I think about this... It wouldn't even need to be a real-time achievement system. If the Aquaricart could somehow log the player's high score. Or level progression. Or some other indicator of progress for each title...

 

Next time the player turns on Aquaricart, it automatically pings a server and updates the player progress from the previous session. Achievement's don't display in real time, but players can view their rank from the menu. Current as of last ping.

I dev on RetroAchievements, and the way it works there is that RA's supported emulators monitor the game's memory, and based on user-made code, an achievement will trigger when 1 or more specified addresses is equal to, less than, or above a specified value. For example, if an achievement says, 'Reach 10,000 Score' then the emulator will monitor the address that represents score, and if it reaches 10,000 or higher, then the achievement triggers. I would say the best way to accomplish this, if possible, is have it monitor the memory of the Aquarius.

I'm not sure of the technical parts for the Aquarius though as I said.

  • Like 1
Link to comment
Share on other sites

I'm not familiar with RetroAchievements, but if it can already monitor in-memory score changes, and if it supports MAME, it sounds as if it wouldn't be difficult to implement for the Aquarius as well.  Support for Aquarius emulation in MAME has improved considerably in recent releases, and it should be simple to identify the score locations in memory for different Aquarius games.

 

Being able to save and re-load high scores is definitely a cool idea, but it would require patching the original games to support that feature.  Coincidentally, my design for the SuperCart II (the successor to the cartridge board used in the Aquaricart) will include an EEPROM for saving small amounts of permanent game data in the cartridge, including high score tables.  I had intended to support it in some new Aquarius games that I have planned, but theoretically, it should be possible to patch some of the old games to be able to reload their high scores from the EEPROM.  Not all Aquarius games keep track of the player's high score (as a separate value from the current score), but for those that do, it might be a fun project to try.

  • Like 2
Link to comment
Share on other sites

Ok ok, what about this... Could the Aquaricart somehow log or otherwise output a player's score per gaming session? Perhaps to a database.

 

If so, maybe the achievements and rankings and improvement tracking could all happen on the backend.

 

So, a player would fire up the Aquarius with Aquaricart 2, it checks the user's battery backed memory storage for high scores and/or memory states. pings the server, then writes to battery backed memory in the user's cart. 

 

Once that "handshake" is complete, the player can open an "Achievements" program from the Aquaricart menu that simply displays the contents of the battery backed memory per last ping?

 

Or if coding a new program into the Aquaricart is out of scope, could the Aquaricart instead save the data to a FinForm or Basic "state?"

Link to comment
Share on other sites

8 hours ago, EdgeOfPortal said:

RetroAchievements is a community run site that adds achievements to retro games through emulators, for those of you who haven't heard of it. I've just noticed they added support for the Intellivision. Figured it was worth bringing up here. So far, people have made achievements for 4 intellivision games, those being AD&D Cloudy Mountain, Treasure of Tarmin, Ice Trek, and Astrosmash. It's entirely community run, so any of you could even make your own achievements for Intellivision games using their tools.

https://retroachievements.org/ (site homepage)

https://retroachievements.org/gameList.php?c=45 (Specifically Intellivision)


Unfortunately for the Aquarius brotherhood there's no Aquarius support yet though.

Hi Edge,

In what it consists exactly to make an achievement on AD&D Cloudy Mountain ? Thanks!

Link to comment
Share on other sites

4 hours ago, Morpheus said:

Hi Edge,

In what it consists exactly to make an achievement on AD&D Cloudy Mountain ? Thanks!

The achievements for Cloudy Mountain have already been created by another user. If you're interested in trying to earn the achievements yourself, you can make an account on the site.

Once you've made an account, go to:
https://retroachievements.org/download.php

Download one of the emulators there, either RetroArch, or RALibRetro. They'll allow you to sign into RetroAchievements (if on RetroArch then through the options menu, if on RALibRetro it asks to log you in on boot up), then you can install a core. A core is essentially the emulator itself. RA supports multiple systems, so each core represents a specific system. Download an Intellivision core through RetroArch or RALibRetro, then you can use any Intellivision rom to play it. RA does not provide roms, so you'll have to grab one yourself.

If you want to know how to make achievements for other Intellivision games, follow the steps above, except download specifically RALibRetro. It has special tools built-in to make achievements with. It involves searching for memory addresses, and then using them to code achievements. It sounds a bit complex but it isn't that bad once you learn the tools. You can learn more about them using RA's developer wiki: https://docs.retroachievements.org/Developer-docs/

I'd highly recommend joining RA's discord server: https://discord.gg/dq2E4hE The community is very active and there's plenty of people to help with achievement coding, or RetroAchievements in general.

Hope this explained everything!

Edited by EdgeOfPortal
  • Like 1
Link to comment
Share on other sites

11 hours ago, jaybird3rd said:

I'm not familiar with RetroAchievements, but if it can already monitor in-memory score changes, and if it supports MAME, it sounds as if it wouldn't be difficult to implement for the Aquarius as well.  Support for Aquarius emulation in MAME has improved considerably in recent releases, and it should be simple to identify the score locations in memory for different Aquarius games.

 

Being able to save and re-load high scores is definitely a cool idea, but it would require patching the original games to support that feature.  Coincidentally, my design for the SuperCart II (the successor to the cartridge board used in the Aquaricart) will include an EEPROM for saving small amounts of permanent game data in the cartridge, including high score tables.  I had intended to support it in some new Aquarius games that I have planned, but theoretically, it should be possible to patch some of the old games to be able to reload their high scores from the EEPROM.  Not all Aquarius games keep track of the player's high score (as a separate value from the current score), but for those that do, it might be a fun project to try.

RetroAchievements uses the LibRetro API (https://www.libretro.com/). Supported multi-emulators are RetroArch, and RA's own RALibRetro. The libretro project creates 'cores' based off of pre-existing emulators. Aquarius support isn't available because no one has made an Aquarius core for libretro. If someone were to create an Aquarius core, and if it had it's memory exposed, then RetroAchievements would be fully capable of supporting the system. I would do it myself, but I'm lacking in knowledge to do such a thing.

On the other point, thanks for the info about the possibility of saving high scores on real hardware! Sounds a bit annoying to have to patch the old games, but if that's what has to happen, then it sounds good to me.

Link to comment
Share on other sites

43 minutes ago, EdgeOfPortal said:

The achievements for Cloudy Mountain have already been created by another user. If you're interested in trying to earn the achievements yourself, you can make an account on the site.

Once you've made an account, go to:
https://retroachievements.org/download.php

Download one of the emulators there, either RetroArch, or RALibRetro. They'll allow you to sign into RetroAchievements (if on RetroArch then through the options menu, if on RALibRetro it asks to log you in on boot up), then you can install a core. A core is essentially the emulator itself. RA supports multiple systems, so each core represents a specific system. Download an Intellivision core through RetroArch or RALibRetro, then you can use any Intellivision rom to play it. RA does not provide roms, so you'll have to grab one yourself.

If you want to know how to make achievements for other Intellivision games, follow the steps above, except download specifically RALibRetro. It has special tools built-in to make achievements with. It involves searching for memory addresses, and then using them to code achievements. It sounds a bit complex but it isn't that bad once you learn the tools. You can learn more about them using RA's developer wiki: https://docs.retroachievements.org/Developer-docs/

I'd highly recommend joining RA's discord server: https://discord.gg/dq2E4hE The community is very active and there's plenty of people to help with achievement coding, or RetroAchievements in general.

Hope this explained everything!

Thank you Edge!

I’ll try!

Link to comment
Share on other sites

2 hours ago, EdgeOfPortal said:

The achievements for Cloudy Mountain have already been created by another user. If you're interested in trying to earn the achievements yourself, you can make an account on the site.

Once you've made an account, go to:
https://retroachievements.org/download.php

Download one of the emulators there, either RetroArch, or RALibRetro. They'll allow you to sign into RetroAchievements (if on RetroArch then through the options menu, if on RALibRetro it asks to log you in on boot up), then you can install a core. A core is essentially the emulator itself. RA supports multiple systems, so each core represents a specific system. Download an Intellivision core through RetroArch or RALibRetro, then you can use any Intellivision rom to play it. RA does not provide roms, so you'll have to grab one yourself.

If you want to know how to make achievements for other Intellivision games, follow the steps above, except download specifically RALibRetro. It has special tools built-in to make achievements with. It involves searching for memory addresses, and then using them to code achievements. It sounds a bit complex but it isn't that bad once you learn the tools. You can learn more about them using RA's developer wiki: https://docs.retroachievements.org/Developer-docs/

I'd highly recommend joining RA's discord server: https://discord.gg/dq2E4hE The community is very active and there's plenty of people to help with achievement coding, or RetroAchievements in general.

Hope this explained everything!

I went live on Twitch and earned all the achievements on Astrosmash the day those were released.  Prior to that, I was earning all the achievements in AD&D Cloudy Mountain.

 

A few things for users of RetroArch to save some headaches:

  • The only Intellivision core right now is FreeIntv.  It has a little issue with scrolling at the moment, and the collision flags aren't always cleared right away (in Frog Bog, I ended up earning 260 points for eating my first bug).  I also wish the controls could be remapped, but it's designed for standard controllers like 8BitDo.
  • ROM images have to be in .bin+.cfg format.  Use jzintv's rom2bin utility if you have to convert them from .rom format.
  • The grom.bin and exec.bin files go into the "System" subfolder within RetroArch's working directory.
  • If you already have RetroArch, there's a chance your copy doesn't support RetroAchievements for FreeIntv.  I think versions of RetroArch prior to 1.9.0 depend on the "nightly" build.  Try getting an easy achievement first to make sure, like getting to 2x in Astrosmash, before going waist-deep for the harder ones.
  • Thanks 1
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...