What this is About.
I have had a long-time vision for an open and modern platform for Retro-Gaming that not only would allow you to play Retro Games in a new way, but allows for modern features to be incorporated into the games we all know and love.
What would you say if I told you that you could have a dirt cheap, fully customizable "console" in your living room that not only plays all the classic games you grew up with, but also brings modern features such as Gaming Achievements, Gaming Profiles, Online play, Social Interaction and more?
Imagine sitting on your couch, playing games like Super Mario Bros. or Street Fighter II on your TV, with friends (or strangers!) from across the globe set up using a dead simple, intuitive and beautiful interface. Imagine re-visiting games like Contra, Zelda, or Sonic the Hedgehog with Gaming Achievements and challenges set by you or the online community. Imagine sharing those achievements in real-time.
This is the vision for the Ignition Retro Gaming "OS," a raspberry pi distribution fully set up to bring modern experiences to classic video games. Think XboxOne dashboard or Steam OS... but for all the games you know and love.
What systems can I play?
A lot. Ignition will support any emulator or game that can currently run on the Raspberry Pi that also can be run via command-line.
Simply, every emulator or game just needs a very small configuration file to work with Ignition. These configurations will of course be supplied with the release for the majority of current supported emulators, but can also easily be added for almost any software and future releases out there.
A modern intuitive user interface.
The Ignition User Interface is built to be modern, extendable, and customizable. With multiple screens and fluid transitions, Ignition aims to bring the same level of interactivity and visuals as modern day console dashboards. If playing online, Ignition would stream updates of play sessions and activity from you and your friends as well as optional community events and challenges.
A catalog of all your games.
an established game database, ignition will identify key information
for your game files without the need to run a script or download any
additional files. Cover art, screenshots, movies, genre, rating,
descriptions and more will be automatically displayed in real-time on
all games from the database. This includes many of those really rare
titles and imports as well.
There is no need for an internet connection as a copy of this database will be supplied for offline use.
Ignition will support gaming 'achievements' or 'trophies' for most systems. An achievement can be added for any game by you, your friends, or the community. You will also be able to share these trophies or achievements with your friends, viewable in the "recent updates" area of their dashboard. Challenge yourself or a friend to speed run through Sonic, or beat Star Fox with one life to compete against yourself or your friends.
Gaming Metrics and Game Management.
Ignition will save key information from all of your play sessions. Play Time, Count, and more. These will be presented in graphs on the games profile screen. Your save states will also be presented with a screenshot preview of the time of save for you to easily jump back into game at the exact point.
All movies and Screenshots you take will also be displayed on the game's profile screen, ready to view or share.
While some of the fun of this project comes from the online features, an internet connection is by no means necessary to utilize Ignition. With the "Offline First" mentality, the software is built to be fully functional whether you're online or offline.
Ignition will allow for real-time notifications ranging from Achievement's being unlocked, to friends coming online. Other notifications such as messaging, multiplayer/netplay invitations will also be present.
Ignition will (optionally) always be listening, in a low powered state, for voice commands. These include turning the Pi on and "off" (into a suspended low powered standby), pausing games, saving screenshots, movies, saves, and commanding back and forth between the ignition UI and the current game. For models that do not support audio input, an external USB sound card will be required.
Supports virtually any USB wired and wireless Gamepad
Ignition utilizes a standard low level API to recognize nearly all USB gamepads out of the box. Use wireless gamepads via a bluetooth or powered wireless adapter.
Why the Pi?
With the low cost of the Raspberry Pi (MSRP $35.00 USD), the only thing standing between you and retro-gaming heaven is the software. With this project, I aim to utilize and take advantage of the open platform of the Raspberry Pi to provide a free and open source distribution that fits on a small SD card.
The Raspberry Pi hooks up directly to any modern TV or monitor via HDMI, as well as any standard television via RCA. With multiple* USB ports it can also allow for connection of virtually any USB 2.0 gamepad or joystick. All of these features along with the small profile of the hardware, makes the Raspberry Pi the perfect introductory platform for this project
The Raspberry Pi community consists of programmers, educators, hackers, and hobbyists. While the Ignition platform aims to have consistency in look, progressive function, and overall feel, the aim is for this software to evolve with and by the community (you!).
The technology behind the Project
Aside from the hardware of the rPi, the backbone of this project consists of several technologies and languages as well as established open source software projects. At its core, the project is a Social front-end with middleware for emulation software such as RetroArch and other emulation software that already runs well on the low end devices such as the Raspberry Pi.
The logic behind using JS and specifically NodeJS rather than a compiled language is the vast support and development turn-around for many of the social features. By utilizing the open source projects that already exist, this project can get off the ground quicker, and appeal to a larger developer base.
Above all, the web API's that exist today hit a higher compatibility base and allow for easier and more consistent development given the consistent client environment we will be using.
The Need for Funding
Everything about the end product is meant to be as modern, intuitive, and held to a standard set by current consumer market products that you most likely have in your home right now (your current-gen gaming system, your smart-TV etc.). This could only be accomplished with funding from people such as yourself.
The Ignition project has thus far been a side-project of mine that has seen some early development on-and-off for 12 or so months. While the results so far have been wonderful and has seen a lot of progress, the financial investment is greater than I myself could put forth to produce the end-product that I envision. There is a deep need for hardware for testing and more importantly funding for the ignition.io server hosting and maintenance. A few very small but key parts of the project are in need of talent outside of myself that has already selected. All of this will be funded by this kickstarter campaign.
Whats Been Worked on so Far?
As previously stated, the project has been tested and developed in ways from proof-of-concepts to functioning modules that may be part of the final product. A shortlist of these functions that have seen work are:
- Basic Functions
The current iteration of the project accomplishes the very basic tasks of managing the emulators, listing and launching the games on the interface etc. More planned functionality needs to be completed.
- Initial UI design and Development
The initial version of the UI has been designed, and developed in a testable and functioning fashion. Much of the UI is subject to change and improve with time and over the course of the development.
- Initial Gamepad Support
The front-end detection and full function of the gamepad in controlling the interface has been tested and is fully functional. Improvements in speed and consistency would be made during development.
- Gaming Achievements.
The proof-of-concept in regards to gaming achievements for most retro platforms (NES, SNES, GENESIS et al.) has both been tested, and is working in real time. For example, an achievement which outlines getting 50 rings in Sonic the Hedgehog is detected within <1s of gathering that 50th ring.
This function is currently in need of optimization and speed improvements as well as allowing an easy interface for custom achievements.
Any other features that may make it in the finished project?
- Party Support
- Twitch support
Risks and challenges
The main challenge is the limited resources of the hardware. The raspberry pi is an underpowered computer on a chip. While the advantages are great, this comes with many small challenges when implementing the feature set.
The good news is that this project has seen some development, testing, and proof of concept work to make sure all of this is not only possible, but works well on the hardware thus far. The speed and responsiveness of the software as well as the reduction of initial load time on boot-up are two on-going tasks which would consistently being improved.
The project will be open source on release, giving the opportunity for the community to improve speed and features of the product.Learn about accountability on Kickstarter
- (30 days)