Does retroguru use some intermediate "standards" for making things easily portable?
For coding the standard language is C, but every other aspect is very free. The main developer of a game can chose to adapt one of the game engine already existing, or write a new one from scratch.
I'm coding a new game called Nutmeg and started using the engine of Hermes to have a working POC in couple of weeks, but after 9 months ended rewiting 90% of the existing code to adapt the engine to the game needs.
Usually for gfx we use the SDL framework (we can use 1.2 or 2.0), but it's hidden by a layer of proprietary standard functions calls (with a structure very close to that of SDL) so that every platform is free to use the standard mapping to SDL library or link this layer to another library of low levels calls.
For 3ds my first ports were done using a fake SDL layer using a mix of direct framebuffer writing and some basic use of the GPU. Later I wrote my own port of SDL 1.2 for the 3ds and started to use it for every other ports. For Xump on 3ds never had the time to convert the initial port to use the 3ds SDL lib.
SFX are usually wav samples, while for background music we like mod files (Amiga chiptunes) played with SDL Mixer and LibModplug. This is because most of the members of the team came from the Amiga scene and we have two fantastic chiptunes composers in the team.
Obviously for my port of Xump to Lynx I had to oose the portability of the other versions: I kept the main game code, but had to rewrite all the low level code for gfx and sound, and had to change big parts of the game engine to bost the game speed.
If the game uses tiled gfx, we have a couple of premade custom tools to design levels. This is not mandatory, but makes it easy asking other member of the team to design levels while you code the game.
If you want collaborate with Retroguru, you can contact Shahzad Sahaib (Kojote) and talk with him (I already wrote him about your post anyway).