Quantcast
Channel: MPU Mecca Latest Threads
Viewing all articles
Browse latest Browse all 2400

A new project, that needs a new name...

$
0
0

Hi all,

 

After the relevant discussions have cropped up about the new MFME and the potential need for an underlying resource database of all things therein, I have decided to go ahead and make a start on a project I've been mulling over for a little while now.

 

Originally the idea of the project was to act as a launcher for MFME, but I've since decided that if I take the time to write a little application, I could also make it a tool that the community can use to pool resources, ROMs, artwork/assets etc in a publicly accessible database hosted on one of my servers out there in Cyberspace.

 

I've already made a start on the database architecture, the service API, and a Windows application to make use of the database - but it's in very early infancy stages at this point.

 

The Database

 

Here's how the important parts of the database look / some of the decisions I've made:

 

Users

 

There's a table of Users, where a user can be of the type 'public', 'contributor', 'administrator'.  It's the intention that users can register and apply to become a contributor.  The application will NOT require registration, but if not signed in, it will not be possible to contribute content to the database.  This step has been taken to prevent un-necessary clutter.  Registrations for contributor status will require some kind of approval, and therefore administrators will be required.

 

Manufacturer

 

This table is a list of the manufacturers, just the name and an associated logo.  It will be used for searching, grouping and helping to identify machines.

 

Machine

 

This table represents the machines in all their glory.  Well, it's pretty much just the name of the machine, the 'Owner' (contributor that created the entry), and the associated Manufacturer

 

Romsets

 

This table is a list of the roms (I'm including the .gam files in this definition of roms) associated with a Machine.  The idea will be to allow multiple Romsets per machine thus allowing the switching between different versions of the same game.

 

MachineContributors

 

This table is a list of the contributors that have access to submit content (RomSets, Layouts) as granted by the 'Owner' of the machine entry

 

Layouts

 

This table is a list of the layouts associated with a machine, thus allowing the switching between different layouts of a machine dependant on your mood.  I've not considered the ramifications of this, but suspect that layout 'types' will be needed of just 'Classic' and 'DX' - but then perhaps there might be multiple resolution version etc etc  So I may not restrict the number of layouts available to just the two types.  Layouts must be 'Published' before they become available to the public for play.

 

 

The Client

 

The client will be a dedicated Windows application (Vista and above at this point) which will have three modes:

 

Public Mode:

 

Allows the searching of the database for a machine, but defaults to listing the Top 'x' machines in terms of being 'popular' (by download).

Allows the machine files to be downloaded (as ZIP files) and upon selection of a ROM / Layout type, extracts the files and fires up MFME pointing it to the extracted files. 

Allows users to register and apply to be a 'Contributor'

Allows users to update MFME

Allows users to update the application itself

 

Contributor Mode:

 

Allows all of the above (obviously)

Allows the creation of a machine (a search MUST have been performed in an attempt to reduce duplication), which entails: Supplying the name, selecting a manufacturer, creating Romset entries, creating Layout entries, assigning other users as contributors.

Allow the editing of a machine (only machines where contributor status has been granted or are 'owned' by the user)

 

I'm considering the idea of 'Asset' management.  The ability to put files (artwork etc) up to the database and be downloadable by other contributors, making life a little easier for sharing things whilst keeping a copy of them available should they 'get lost' over time.

 

Administrator Mode:

 

Allows all of the above (even more obviously)

Allows the approval/removal of user registration to become a contributor

Allows the 'denial' of access to the database

Allows the editing of any machine in the database

 

The Service API

 

The service API is intended to be a public resource.  It is not (at this point) my intention to create a website that makes use of the API. I have no problems if someone else wants to make use of the API and provide a view of the data / resources contained therein.

However, I am considering the possibility of restricting contributions to the database only to the application.

 

It is my intention to provide all of this for FREE.  I have no interest in making money from it!  Initially it will be provided on one of my servers, but if bandwidth issues are identified I may either have to put restrictions in place or move it to a different server.

 

As I said, I have made a start, the database interaction is working nicely including file storage and so far the service API let's you sign in.  Mostly I'm doing tests of the architecture that's in place making sure entries go into tables the right way with some basic test data.

I'll be building up the application in stages as I do each of the tests from a contributor point of view to start with.  Then I'll do the administrator side of things and finally the public side of things.

 

I'll be happy to release the application at various stages of the development so people can an early look at it / get to grips with how things are done and provide feedback.  Just let me know if you'd like early access and as soon as something is ready that I think people can make a start with, I'll get in touch. Ideally, I'd like to bundle MFME in with the installer for the application however, it might need to be downloaded separately which I'm happy with so long as it can be done so easily from a single publicly accessible point.  I've had a quick discussion with Jeeves about it outlining my thoughts on this - and that discussion has yet to have a formal conclusion.

 

Right now, the most important thing is that this project needs a name.  So if you have any ideas on this, or features that might be included in the application / database, please feel free to have your say now!

 


Viewing all articles
Browse latest Browse all 2400

Trending Articles