Party Dev Squad
- Howard Choi
- Jerry Duncan
- Cameron O'Neil
- Preston Provins
Our project idea is to create a browser based client-server game-system that will allow us and other developers to implement a wide variety of different party games, creating both ones we design and playtest as well as reimplement some games from other sources. Ideally our final product will be somewhat similar in style to Jackbox Party Pack Games in functionality but without the need for a centralized and close-by device to host any of the games’ images and videos.
The inspiration for our project comes from a lack of easily accessible party games in the current board game market coupled with our enjoyment of current phone game implementations. We would like to contribute our own ideas and create new types of phone games for people everywhere to enjoy as well as implement already existing games in a format friendly and accessible to people other than your typical technically inclined user (i.e. parents, families, etc.).
In terms of the market, our idea is not completely novel as there are other implementations of similar products; however, while we may not be the only phone game creators, the current competition in the market is very small in number and lacking in features as there are only a handful of other groups that have created something similar to what we envision. While our product will be similar to existing products, we believe that we can bring new, interesting phone games to the market as well as have a wider variety of games play than other, similar platforms such as Jackbox.
Jerry has a long history of playtesting board and other games as well as designing them and has some basic Javascript skills. He’s created a board game about climbing a tower by answering riddles and hoping to not be knocked off as well as written numerous homebrew campaigns for his weekly D&D sessions and thinks that he has can use these skills to have a decent idea of what the players will find fun and balanced. Howard has some previous experience in web development using HTML, CSS, and JavaScript frameworks and has played a variety of games he’d like to work on implementing. Preston is an experienced programmer in various fields involving GUIs, different rendering methods, and graphical algorithm based optimizations - he has created several Python and C++ applications dependant upon GUI and on-screen rendering and hopes to transfer this knowledge to rendering the various games we plan on creating. Cameron has made a handful of single player and online multiplayer games in Java using peer to peer connections and hopes to use this experience to help create an efficient and robust server for clients to connect to. All of our team members are very familiar with C and C++ due to most of the UTK classes using them and we all feel confident enough in our abilities to transfer our skills, experiences, and expertise to making this project into a market viable product.
The idea to use smartphones to create a way for people to collaborate and interact with each through a central website has been attempted before. One of the earlier attempts is a website called http://spyfall.crabhat.com/. The spyfall website allows a group of people to use their smartphones to play the game Spyfall where the players either try to guess a secret location or hide that they are spies. This website enjoyed a brief window of popularity when it was launched, but the lack of additional games and slowing of continued development led a dwindling audience.
The idea the Spyfall website is based on has potential, but it needs more functionality and a better executed goal to be a useful site. https://kahoot.com/ is based on the same idea of smartphone based group activities, yet has a clear goal that separates it from Spyfall. Kahoot focuses on using Spyfall’s phone and browser game concept in an educational setting. Users can create customized quizzes and surveys that players can participate in through their phones.Schools, parents, and businesses are now using this website to help teach or train their members. Most new websites that use Spyfall’s format have instead followed in Kahoot’s footsteps by trying to find ways to improve on the classic quiz, but few sites have tried to find new ways to use the concept itself.
The core idea that smartphones can be used to foster communication between people is effective, but it is clear that the idea needs a strong goal to produce marketable results. Education and business have found ways to improve their teaching and training by incorperating Kahoot, but we believe that this idea has greater potential as a social application. Many developers have focused on serving more graphically impressive games or a application that had only one specific use, and the specialized nature of these sites naturally restrict the audience. Our applications will need to reach a much larger audience and therefore will require a different approach.
Our plan is to use the core idea to help create or sustain a social engagement. A few ideas that are being considered are a website to help organize a party or get together, a drinking game that has interactive content, and a wii sport style collection of games accessible through smartphones. These potential applications have specific functions that audiences can use and comprehend immediately. The application’s concepts are still flexible enough that audiences could find even more uses as they become comfortable with the application. One example is if we made it so that the user could make his own drinking games he could then use the application to help keep track of a board game. The user is able to find new functionality on his own which is important way for our application to find a larger user base. The application is open to various uses because it is flexible enough to fit the user’s need to a degree. This flexibility is critical for the website’s ability to be useful in a wide array of scenarios.
The issue with trying to play games with friends and family today is that most games have moved away from the old fashioned split screen games and onto online multiplayer games. While sometimes this fixed the issue of not being able to play games without physical company, now there is nothing to do when there is company. In order to play most modern multiplayer games you need a seperate, console, TV setup, and an online monthly paid subscription for each player.
One possible solution could be to bring back split screen games, however that is still several hundred dollars to be able to start and what are you to do if there are more than 4 players, as that is where most consoles max out. Nearly everybody today has a smartphone, so why not move the games to that.
Our solution is to have a product that allows any number of people to be able to play multiplayer games together without having to buy any extra equipment. The game would not need a console, PC, etc, to run a server for the game as there will be dedicated servers for this product, therefore it can be played anywhere the players have wifi or cell internet service. The players would not even have to be in the same room or even the same country to be able to play together. While this may seem like it partially defeats the purpose of the product there is no reason why the customer should not be able to do it if they so choose (maybe they want to play a game while talking on the phone).
The customer does not even need to download an app that will take up space on their phone. All they have to do is go to the website, login, and start a game with their friends. In face since it is completely web based, a phone isn’t actually required. Any device that has a web browser(PC, laptop, tablet, etc) can participate. It is possible that some games may be device specific (for example a game might be optimal with a touch screen device) so any device requirements and recommendations will be listed on each game for the user to easily see and will be able to filter out any games that are not optimal for their device.
Our target audience is people of ages 10-30 as these are people we expect to most likely use our product. Games will be made for all different age groups, however the majority of the games will be simple enough to be played by any person. As of right now we only plan on supporting the English language, however translations to other languages could be a future improvement to reach a wider audience. Many of the games should be simple enough to figure out without instructions, however the app itself could be a challenge to navigate without knowledge of the English language.
Our team plans on using the JavaScript programming language to fully utilize the Meteor framework and API. Meteor is a JavaScript platform that allows for web applications to be built from start to finish in JavaScript. Meteor is also open source as well full stack. The platform would also allow for us to deploy our application to multiple targets at once – a single application in meteor deploys for iOS, Android and Web Browsers simultaneously. Not only does Meteor allow for a complete deployment – it allows for a fast deployment as most applications take minimal amounts of functional code and Meteor itself is open source and extensible for utmost flexibility and rapid development for small teams.
Meteor also includes Blaze, a liquid fast renderer. Meteor utilizes data on the wire which means that raw data is sent to clients, not HTML. This allows for us to use rendering methods provided by Blaze to render graphical data to the user as fast as possible. Meteor is also full-stack, which means Meteor has full-stack reactivity which allows clients to see changes in game state in near real-time. We will utilize MongoDB as a database system for the application. MongoDB meshes perfectly with JavaScript allowing us to perform queries and aggregate functions in pure JavaScript. Meteor’s full stack capabilities turn MongoDB into a full-fledged live server for our application.
Since our application is not OS dependent we will be building and running from Windows and Mac alike to target web browser on mobile and desktop. As stated previously, this is easily accomplished when utilizing Meteor. The only tools necessary would be any developer’s choice of IDE as well as proper source control and problem tracking.
The program we will implement using the tools and framework mentioned above will not be a taxing process by any means. The framework is very light weight and requires very little processing to accomplish a server-client connection with a database behind it. A lot of this can be attributed to how meteor has been optimized to the highest degree - it hasn’t sacrificed power in terms of processing speed, though. JavaScript will allow the program to react effectively with minimal impact upon the system the process is running on.
In the foreseeable future, meteor would allow us to create, manage and implement databases that are concurrent to a greater scale than local multiplayer. MongoDB will forward to us the opportunity to garner local player data and store that data indefinitely (until user request). If we wanted to make an application that networked users across multiple servers, we simply need to take the MongoDB data for a localized section and bring the data to a central server.