Goals Make Great Games What are your goals? What is the company mission? Where do you see yourself and/or the company in X months? Y years? Change the World $ Cash In $ Build My Empire …prove to my friends I’m not a total loser
Strategy Pick one and stick to it. Your go-to-market plan may be very different from your long term goal. Choice of platform may– or may not– be a core strategy decision. Focus. You can always expand that focus or PIVOT later. Get clarity on this early and often; challenge yourself. Some examples Launch a killer FB game; expand to mobile later. Develop a platform, and find a partner to make a game. Raise the bar in game play, and become famous for it. Create a money machine: Beg/borrow/steal revenue.
Funding If you are self-funding, you only have one job (initially): make a great game that generates $. Self Partners/Customers Publishers Investors Partners, Customers and Publishers have additional requirements (genre, platform etc.) and introduce additional risk. Investors invest in team and market opportunity first; technology and game play second. Investors invest in platforms, not titles. Consumers buy titles, not platforms.
Team Startups require long hours, huge sacrifice and absolute dedication-- against the odds, during bad times as well as good. Your team should be a PACK™
Lack of alignment will kill a team. It is not a matter of if, but when. If your team is not 100% committed, investors and partners will smell it. No part-timers! Your livelihood depends on your team creating something new, different and awesome. Your team needs to kick ass.
Awesome MVP rant on Jon Radoff’s blog http://radoff.com/blog/2010/05/04/minimum-viable-product-rant/
People Process Agile (Scrum, Kanban, XP…) Everything in broad daylight Short release cycles (“sprints”) Iterative Features can roll out over time Inner vs. Outer Methodology Design and requirements distinct from project management process Continuous Integration Integrate daily, automate build/test Test-Driven Development Ideally, all features are unit-tested before submitted to QA Interdisciplinary Teams aka “Pods” Nearly all features require multiple disciplines and have many stakeholders
Platforms: An Omnivore’s Dilemma A Tyranny of Choice for Client and Server HTML5/Flash/WebGL/Molehill War Android/iOS/Windows Phone/Playbook War LAMP is Rapidly Fragmenting/Dissolving Server Frameworks, Client SDKs are a Double-Edged Sword
Design for Scalability Players LoadBalancer Application servers scale horizontally to user connections Shared-Nothing Architectures Asynchronous/Event-Based Where Possible Horizontal Scaling with Cheap, Disposable, Replicable Parts Cloud Hosting/Virtualization Edge Networks for Assets Build Cheap at First, But Design for Big From the Start Separate Your Log Server from Prod Build Analytics in At The Start! Application Server Application Server memcache memcache Object DB Inventory DB Inventory DB Object DB Inventory replicated across application instances UserDB User DB Object DB scales horizontally to repository growth User DB scales horizontally to user growth Log DB Metrics and reporting offline from production
Tony’s Toolbox Cheap Cloud Hosting Linode Cheap/Free Project Management Rally Community, Pivotal Tracker Cheap Corporate Docs/Mail Google Cheap/Free Sharing Dropbox, Evernote Content Management Tactic (not hosted, costs $) Client Code All depends Use as much HTML, GL, SVG etc. as possible Server Code PHP, Node.js Database CouchBase Revision Control SVN or GIT Frameworks Home grown “I love frameworks… as long as they’re mine.”