GameOnline is a online gaming service aimed at providing an environment for homebrew devlopers the opportunity to expand their titles created from Lua or C++ to an online environment. Developers sign up on the website(not hosted yet) and recieve source code for both GameOnline_Fundamentals and GameOnline_Multiplayer.Fo r each game they would like to add to the server, they simply receive a product ID and the server administrator registers it for use online. If a developer plans to add a product to the Marketplace, they simply need a Marketplace ID and they can add titles rather easy.
This discussion is to obtain feedback from others from this forum, but I plan to post at others when I get the opportunity.
A user starts up a "GameOnline Dashboard" on the Memory Stick. The program will connect to the GameOnline server(Generic Game Server by Stendec) and allow the user to register for a GO account and password if one doesn't exist in Flash1.
If an account exists, it will prompt for login or exit back to XMB. Once an account is logged in the user goes to the Dashboard, which will appear to be a similar version of the PSP XMB. From the Dashboard, players can access their Friends, Mail, Marketplace, Settings, and Go to XMB.
Every time the user is in a GameOnline supported title, players can login to their GO account by pressing SQUARE(or some alternate button). Once they have successfully logged in, the server changes their status to "Online." While online, by pressing HOME a smaller menu will appear with every item except for Marketplace.
Friends - One of the obvious features to any online service, the ability to add/remove friends known or not known to a list and to view at their current online status, such as the game they are playing or if they are Offline. You can have a maximum of 99 friends at a time.
Mail - Another obvious feature, players can compose text messages or read messages recieved in their Inbox from Friends or unknown users. You can also blacklist a user to block messages to/from them.
Awards - Just like Xbox Live and PlayStation Network, Awards are measures of achievements based on certain conditional completions. This probably won't be implemented yet, but it is a feature worth having later.
Marketplace - Originally titled "Brew Store," Marketplace allows users to download games or apps made from homebrew developers straight to their PSP/GAME directory. Im hoping that this can be expanded unto strategy guides, media, and even update packs, such as map packs.
GameOnline comes in 2 different versions, each one with unique features over the other:
Fundamentals allows players to log in to the server and obtain information, such as Friends and Mail but players cannot interact over the internet in the game title unless the game is using GameOnline_Multiplayer. Fundamentals also lets your friends know what game your playing either online or offline mode as long as you are connected to the GO Server. This emphasizes on the superior GameOnline_Multiplayer.
Multiplayer provides party support, meaning that you can join parties as long as they are waiting in lobbies, send party invites and typically has the ability of Leaderboards. Multiplayer also contains all the features from Fundamentals, meaning you still have Friend and Mail support, but now you have networked gaming support. One feature I am hoping to build is called Matchfinding, which is similar theoretically to Xbox Live's Matchmaking system. It searches based on experience levels and other criteria so that a game can be found and matched with a players of similar or equal experience.
So there you have it. This is simply a thought of concept. I started this topic to get opinions on this possible new service that can change the homebrew community immensely. Im also looking for those experienced with C++ and PSPSDK, particularly in Infrastructure mode.
There are other features I would like to implement, but instead I see that it is important to do the simple things first and provide add-ons using Dashboard updates.
I will try to make an example in Lua and use GGS to run as the server. The server however will need to have C++ lang support, so GGS can't be used unless it recieves a module or support for it.