Jump to content
EdgeOfPortal

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

Share this post


Link to post
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...

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

I was talking to a member the other week who was telling me a cool story of what it was like to use Aquarius back in the day to get "online". He said he still uses it to visit some forums today...

Share this post


Link to post
Share on other sites
3 minutes ago, EdgeOfPortal said:

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?

Or what if the "new" Aquaricart could actually have a phone jack and serve as a defacto modem cart... 🤔

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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?"

Share this post


Link to post
Share on other sites
Posted (edited)

Also, the progress markers don't have to be score based.

 

For example... In Star Strike, a win state is when the memory accesses the extreme screen shake effect.

Edited by Intelligentleman

Share this post


Link to post
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!

Share this post


Link to post
Share on other sites
Posted (edited)
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

Share this post


Link to post
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.

Share this post


Link to post
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!

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
On 3/9/2021 at 7:51 AM, EdgeOfPortal said:

RetroAchievements uses the LibRetro API (https://www.libretro.com/). Supported multi-emulators are RetroArch, and RA's own RALibRetro.

I took a *really* quick look, and it seems if you were an emulator other than LibRetro, you'd use the RAIntegration repo?

Share this post


Link to post
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...