Author Topic: Tons of plugin/module Concepts  (Read 1286 times)

Hojo

  • Jr. Member
  • **
  • Posts: 11
    • View Profile
Tons of plugin/module Concepts
« on: December 28, 2021, 03:47:34 AM »
edit: Instead of making a new post, thought best to co-opt this one and modify it. This now is really a list of plugin ideas what I would like to try and either make or at least see if possible.

1st) A plugin which would be quite fun is as games are played, more games are added "unlocked" to the list. The idea is that when XXXXXX game is played for 15 min total, game YYYYY is added to the list. Example being Mario 3 on the NES is played for 1 hour which will result in Super Mario World for SNES being added to the list. I noticed that attractmode can track the amount of time playing a game and the number of times a game is loaded. The plugin would perform a single check upon initial loading and check once attractmode is focused on after exiting of a game. The way it would work is an xml (or csv) will be checked for the criteria. If the criteria is met then the rom list is updated to include the new game. A filter will be put in place so games which were added will be denoted as such and removed from the check. With this setup a little message could be played at the end saying "congrats you unlocked all games". As the rom lists consist of a series of strings, I would use these as the unique identifiers for the checks.

2nd) A fairly basic animation plugin where once a game is selected, a mini graphic and audio would play. Example being if Sonic the hedgehog is selected, a little graphic of Sonic running across the screen happens and one can hear him collecting rings. Another example would be selecting Megaman and you would then see Megaman run onto screen, shoot a couple shots before teleporting away. Granted this would require a lot of new assets to be created but the general plugin idea would be fun see.

3rd) Sub selection to select CD / Roms of a specific game. Lots of PSX games have multiple CDs. Many emulators allow the user to select which disk is loaded in. The idea is after selecting a psx game with an m3u extentions; a new layer appears requesting which CD to load (try and get the CD graphics in use). After selecting, the m3u is loaded with the selected disk number. I am hoping eventually that this would also work with Zelda and the Ancient Stone Tablets as it is the only SNES game I'm aware of with multiple roms to 1 save file.

4th) increased game information. Add additional information regarding game difficulty, length of game, etc. This info really should be in a table and not as individual files named after the game. Ideally make it easier for a non-gamer or rising gamer to get a feeling about a game from the general info.

5th) Basic 3d via opengl for displaying boxart. If anyone ever used wiiflow on the Wii, it is pretty much this idea. It was fantastic to be able to see the box and rotate it to look at the back. Would like to try and implement something similar so instead of looking at basic images, can instead of game boxes bouncing around.

These are the concepts for the plugins. Some may seem very easy and some may be impossible. but it was seeing if they can be done and be a fun project to try for learning to code more efficiently.
« Last Edit: February 03, 2022, 08:22:25 AM by Hojo »

jedione

  • Hero Member
  • *****
  • Posts: 1100
  • punktoe
    • View Profile
Re: Gamer progression module concept
« Reply #1 on: December 28, 2021, 07:59:17 AM »
no clue here on how one could do this.....but i just love the idea..
help a friend....

kent79

  • Hero Member
  • *****
  • Posts: 808
    • View Profile
Re: Gamer progression module concept
« Reply #2 on: December 28, 2021, 04:17:38 PM »
The easy way is created 2 filters

Code: [Select]
    filter       "Unlocked Game"
        rule                 PlayedCount not_contains 0

    filter               "Locked Game"
        rule                 PlayedCount contains 0

rand0m

  • Sr. Member
  • ****
  • Posts: 354
    • View Profile
Re: Gamer progression module concept
« Reply #3 on: December 28, 2021, 11:21:19 PM »
As kent79 mentioned easy way would be to create two filters one locked and one unlocked. You can do all kind of stuff with tags so "unlocked" games while listed can be coded to throw a "game is locked" error when selected to run.

Second part is how gameA unlocks gameB. If you are only unlocking games based on series you can fill in "Series" data in romlist and use that as basis for unlocks. If you are good at coding you can also run something in background which checks timeplayed on gameA and edits tag of gameB from locked to unlocked. It would be easier to do this on button press (custom1...6) first. Something like:

local tags = fe.game_info(Info.Tags).tolower()
if (tags.find("unlocked") != null ) & if [PlayedTime] => set value, do something like unlock a specific game

I am using three tags currently "Playing, Queue and Completed/ Archived. Playing is for titles I am currently playing, queue for titles I'll play later on and Archived for titles I've completed. A large library of games kind of requires some kind organization. I am looking at this whole thing like moving a game from "queue" to "playing" the difference being your idea is to use this setup on a single romlist while I am trying to create a new display with games which have tag queue/r playing composed of all romlists.