Topic: [DONE] Membership request, frontend developer

I'm in the very late stages of releasing "Tilted," a suite of applications to provide an arcade cabinet frontend similar to HyperSpin, Launchbox, and AttractMode.  Rom scanning is done automatically by checking hashes and matching them dat files, similar to how RetroArch creates playlists.

Re: [DONE] Membership request, frontend developer

Hello and welcome, please obtain your password here.

(also check the spam folder in case there will be no message in your inbox)

PX-760A (+30), PX-W4824TA (+98), GSA-H42L (+667), GDR-8164B (+102), SH-D162D (+6), SOHD-167T (+12)

Re: [DONE] Membership request, frontend developer


Re: [DONE] Membership request, frontend developer

It seems I don't have access to newer systems.  Is this normal for my account credentials?

Re: [DONE] Membership request, frontend developer

Yes. When you get dumper status you will see them.

Re: [DONE] Membership request, frontend developer

interested to know more about this frontend

are you taking suggestions?

7 (edited by balderdashian 2018-01-30 14:27:52)

Re: [DONE] Membership request, frontend developer

wiggy2k wrote:

interested to know more about this frontend

are you taking suggestions?

It's pretty late in the game.  Brolly from RocketLauncher has given me a lot of suggestions and feedback over the past year, but any wish list ideas you have I'm all for hearing it.  There's not website yet and the github page is private at this time, but I'm going to make a github release page soon and at least some components of the suite will be open source.

The general experience is that it basically has all the features (plus more) that LaunchBox has, but unlike LaunchBox it is an extremely fast and responsive UI that doesn't feel laggy and have sceen tearing.  It's much more user-friendly and has powerful customization and skinning features that doesn't require you to code XAML in Visual Studio (although you can if you want).  Adding roms and media is stupidly easy and takes place quietly in the background.  You don't have to add one platform at a time, you just tell it where your rom and media folders are and you're done, it figures everything else out.

Tilted feels like a legit, polished user experience with a modern looking bootstrap-style settings menu.  Getting up and running with HyperSpin, AttractMode or RetroFE is very confusing and can take countless hours, and they're still dependent on you providing pre-organized data.  Updates and maintenance can be a nightmare.  Say you go months without using your system.  You fire it up and instead of having fun you're busy updating the thing.  It's bad enought with OS updates and GPU drivers, but do you also what to spend an hour adding the latest side-scroller you bought on Steam with the latest artwork and adding an xml for it?  Tilted is the first "smart" front-end, if I may be so bold.

There's four apps that make up the project:

1.  A developer-only tool (for now) I created that takes dats from Redump, NoIntro, Tosec, and MAME (already downloaded dats--it doesn't' scrape these from here or anything like that), parses tags from all the filenames, and generates a giant master collection of json files that include additional metadata from thegamesdb and screenscraper.  These json files make up the master database.  Users could provide their own db if they want to augment or override the Tilted Database.

2. The "hub" app is called Tilted Server.  It's functions like a backend service which runs in the system tray on your machine (don't worry this is not a cloud service or anything like that).  At some point I intend to port it to Node.js so it can run on Linux and MacOS, but right now it's just Windows.  Tilted Server runs on the PC that actually plays your games, the one that RetroArch and any other emulators run on.  RocketLauncher is optional.

With Tilted Server you add watch folders for roms and media to create the user's library.  Roms are automatically identified using hashes from the database (arcade games only exception, these must follow MAME conventions).  Because it reads hashes, roms can be named whatever and put in whatever folder structure you want.  For artwork and other media, it's a similar concept but there are some loose naming conventions required there.  It also syncs with Steam, including non-Steam PC games you add to your Steam library.  Tilted server then provides basically an http API to all your organized data so that other apps can communicate with it.  It also hosts your media over http so that frontends don't need access to your filesystem.  This makes it easy for someone creating an HTML theme to put placeholder tags in like {{boxfront}} or {{cart}} in the HTML and the server will always provide the correct link to the images.

3.  The frontend app, tentatively called "Tilted FE."  This can run on the same machine as Tilted Server or on another PC or tablet allowing second-screen options (imagine a tablet built into an arcade cab control panel, for example).  This is the main UI that you would use to browse, search for, and launch games.  It's arcade-cab focused.  It supports trackball and spinner navigation and touchscreen gestures.  How it works is it reads the user's library from Tilted Server, and generates a filtered and more organized set of playlists depending on numerous options (like hide old versions of the same title and from a different region, hide clones, only show one game for multi-disc games, etc.).  Playlists can be created on a per-platform basis, per-genre, an entire list, or any combination of the 3.  In addition to the auto-generated playlists (which can be disabled, though you won't wan to) users can also provide their own custom playlists (they're just jsons) organized however they like and any amount of menu nesting is allowed.

For artwork, the frontend supports multi-layered wallpaper with various animated transition options.  Each layer can be any combination of image, video, or HTML5.

4.  Tilted Media Tool.  It's a utility to scrape and download artwork from the usual places, as well as allowing you to import your own collection of HyperSpin media.  Including HyperSpin themes.  I have spent hundreds of hours on getting this working.  This tool converts HyperSpin themes into pure HTML5 (no embedded video, all animations are pure CSS and HTML Canvas), including themes that have swf files.  Not every single feature and animation is supported, and some animations are approximations, but for well over 90% of the themes you won't be able to tell the difference.

And instead of simply converting themes to HTML, it separates the background portion of the theme from the rest.  You you can use the actual unmodified HyperSpin flv "override transition" videos to swap out the backround while the overlay animations occur independently, just like HyperSpin.

I know this post is long, I love talking about it.  I will have an actual presence online very soon.  You can always check the RocketLauncher forum as there will be a subforum for Tilted there soon.

Re: [DONE] Membership request, frontend developer

Here you can see a screenshot from an older build it looks different now but you'll get an idea:
https://forums.libretro.com/t/new-front … ase/9798/9

Re: [DONE] Membership request, frontend developer

Sounds like a really promising project, especially liking the server / hub approach.
i'm not a massive fan of animation / video heavy interfaces but fully understand why a lot of people are.

for me the biggest feature wish would be comprehensive Marquee screen support out of the box for multiple screens it can be hit and miss with other frontends.  especially useful when aimed at cabinet installations but also for other projects I've cobbled together like this mega drive emulator, the marquee being the cart artwork.


anyway i'll not hijack this thread any more, Look forward to trying it out.

Re: [DONE] Membership request, frontend developer

Love it. What about a deduper for roms? A lot of people have various dats from no-intro, tosec, redump, trurip, etc. I would love to be able to set a prioritization to only grab one version of the game. For example, throw in tosec and no-intro dats. I prioritize no-intro over tosec, so if a game exists in both sets, use the no-intro one.

Not sure how this can be accomplished without a master database to make these relationships, but I can dream right?

My biggest pet peeve about stuff like hyperspin is that i have to essentially have a separate curated set of roms just for the frontend.

I look forward to trying it out as well. Looks slick.

@wiggy2k - that cart marquee thing is genius! I love it.

Re: [DONE] Membership request, frontend developer

If you have 25 versions of Super Mario Bros 3 inside your roms folders, the playlist generator's default settings will only show the best one (your region & language, latest version, ignore duplicate copies).  I actually do prioritize No-Intro when assigning the Dat Name field because that is the most common as far as what people name their matching artwork.

Here's a db entry to give you an idea:

      "PrimaryDatTitle": "Sonic the Hedgehog 3",
      "PrimarySha1": "75E9C4705259D84112B3E697A6C00A0813D47D71",
      "PrimaryCrc": "9BC192CE",
      "PrimaryDatName": "Sonic the Hedgehog 3 (1994-02-02)(Sega)(US)",
      "PrimaryDatDescription": "Sonic the Hedgehog 3 (1994-02-02)(Sega)(US)",
      "Publisher": "Sega",
      "Size": 2097152,
      "Clone": true,
      "ReleaseDate": "1994-02-02T00:00:00",
      "Regions": [
      "Languages": [
      "DataSets": [