Google Summer of Code Ideas

In this topic, we will list the ideas we have for the GSOC.

  • A port of LÖVE to libretro, difficult
  • An XMB theme, easy
  • A port of moonlight-embedded to libretro
  • A port of ffmpeg-libretro specialized in playing youtube vids, including a basic gui and osk to browse
  • A mobile app for the netplay joypad that doesn’t include retroarch itself, so we can have it on the appstore too
  • A steam controller userland driver, based on uinput
  • A paralax animated background, requires shader knowledge
  • An audio mixer in RetroArch, to have sound effects in the menu, and a background music
  • Commander Genius port
  • Opentyrian port
  • Zelda Classic port
  • Super mario war port
  • Update ppsspp core
  • Libretro wrapper for byuu’s Emulator:: interface that would let us port all of his cores at once
  • Separate libretro frontend specialized for classic computer cores
  • Portaudio driver
  • Integrate this into RetroArch: https://github.com/petrockblog/Xarcade2Jstick
  • Add a console for logging, chat, whatever (or port this thing to C and integrate it: https://github.com/Feufochmar/lr-terminal)
  • SDL2-libretro Adapter: Use SDL2 code to call the libretro API. Would make porting SDL-based applications over to libretro very easy

Moonlight seems like a cool idea, especially for lakka boxes. Also the remote gamepad client and/or streaming the video to the remote.

Some cool stuff from the top of my mind:

  • Commander Genius port
  • Opentyrian port
  • Zelda Classic port
  • Super mario war port

These might be difficult, have to remove or wrap SDL

  • In-game chat
  • More widgets (widget being the OSK for instance), a sidebar widget with achievement information (chat, or the quick menu)
  • Sound FX
  • BGM

Generally speaking I think cores is a better choice. RA is hard, not the language itself but there are many concepts to learn to get trully involved.

In-game chat and moonlight are great options, I think, along with a sound mixer, sound fx and BGM.

  • SDL2-libretro Adapter
    • Use SDL2 code to call the libretro API. Would make porting SDL-based applications over to libretro very easy
  • Audio Driver for RetroArch
  • Netplay
    • Easily join/spectate games
1 Like

I plant to tackle host management, I mentioned it to Gregor and actually we could make the lobby a real lobby (ie a waiting zone) were the host could decide who plays (and more if I can convince leiradel of doing something magical)

That lobby are would be a submenu with chat, player management and other stuff.

The community friends list sounds like a nice addition and it could be integrated with discourse and sound exactly like the kind of stuff GSoC could do.

I updated the first post with all your ideas. Feel free to edit it yourself if you want to add precisions.

How about Dolphin-emu integration?

The student would have to be really skilled then

What do you think about a repo for Centos /Fedora and rpm retroarch , and a appimage or flatpack ?

Good idea, but not a one time job, it’s something that requires staying in the team for years.

If that isn’t too complex, it would be worthwhile. A lot of engines that would be nice to have as core use SDL, and it’s a popular library so for some it might be easier to work with libretro through it. Is the libretro-sdl repo an attempt to do that for SDL-1.2?

since OpenTyrian is mentioned, is OpenTTD also an option?

There are a bunch of great clones and user-driven-content engines, and pretty much all of them are built around SDL. I know Twinaphex had started an SDL-to-libretro wrapper at some point but I don’t know how far he got. If a student could either build/extend that or just start from scratch, it would make shallow forks (and therefore, the possibility of upstreaming) much more realistic.

What is “Zelda Classic”? Any ressources?

~2 months ago, Lugaru HD became fully open source (C++ code). Suitable for a gamepad and with support for custom campaigns and missions (not many in there, but there are more in wolfire forums). So maybe it’s a good candidate for a content-loading core.

If that isn’t too complex, it would be worthwhile. A lot of engines that would be nice to have as core use SDL, and it’s a popular library so for some it might be easier to work with libretro through it. Is the libretro-sdl2 repo an attempt to do that for SDL-1.2?

I believe that was some of Twinaphex’s goals behind https://github.com/libretro/libretro-sdl . He unfortunately didn’t get through it all, as there is so much to do.

I worry that this list will be forgotten about in the future. I think that the github issue tracker is a better place for such lists once the discussion is through. Am I crazy on this?

No, you’re right. We didn’t get approved for GSoC, but these are still good possibilities for bounties.

I love the sound of all these ideas, make me excited for the future of RetroArch <3