Although I don’t plan to start a career in game development, I attended the Game Loop Philly un-conference today. I thought I’d feel a little out of place, but I was pleasantly surprised by the breadth of topics. Each session was applicable to either my work or personal life and I met a lot of great people! Here are the highlights from the sessions I attended today.
Misconceptions of Programming Languages
- There is no universal or best language, just what is best suited for solving a class of problems.
- You should master three languages in different families (e.g. learn mix of procedural, scripting, functional, and object oriented languages); expands your thinking about problems and ways to solve them.
- Learn what you can do (e.g. syntax, features) and what you should (e.g. style, how to solve problems) do with the language.
- Don’t speak only “one dialect” – solve the problem the right way in that language (e.g. don’t write procedural code in Ruby).
- Languages are always evolving, so keep up with the new features and patterns.
- When learning the language, read other people’s code and write code to help you learn it faster (think immersion and speaking/writing a new spoken language).
Serious Games / Sustainability
- What are serious games? Games with purpose, value driven, teach, behavior modification, real world application.
- How do we learn? Trial & error, experiences, play = experience without serious consequences; learning from experience sticks with you better than studying for a test.
- Brainstorming for a compelling sustainability app – shared resources with a tight economy, provide rewards for leaving some the resource alone, make long term cause & effect obvious, tie in morality and social justice to game decisions, balance of long and short term goals.
- Game might not be enough; how do you reach people who don’t already value sustainability? How do you foster long-term interest in the issues? How do you change values – not just teaching information?
Android Roundtable
I lead a roundtable about developing for the Android platform, some topics that we discussed:
- Benefits of the platform and how it’s a great time to be involved with Android development
- Android Alliance community and upcoming meeting
- Deploying to Android markets and game saturation in the market
- Problems with the Amazon market for game developers
- User expectations of Android applications are low – the bar should be lifted
- How to use layouts and images to reduce the pain of device fragmentation
- Porting applications to Android (e.g. cross platform deployments, NDK with thin Java wrapper, OpenGL)
- Benefits of open market vs. a walled garden/curation approach
- Business models and success stories
X-Platform Dev: Does It Work?
- Short answer – no!
- User experience, device interfaces, and platform customization makes this difficult
- Need to customize for specific platforms, use different extensions, checks for platform type
- Can abstract game play and mechanics into reusable components (keep menus, upgrades, & customizations separate)
- Interfaces and devices are evolving at a fast pace, no silver bullet that lets you write once and deploy everywhere
Coexistence of Art & Code
- Knowing both programming and art principles gives you a seat at the “opposite” table; gives your voice more weight
- Creative vs. engineering is a false dichotomy – both are creative acts; corporate hierarchies (e.g. you have to be one or the other) and physical work environments (e.g. design on an entirely different floor) can entrench it
- Reach across the aisle! Communication is key, go out to lunch, strive to understand the nature of the other side’s work, develop a common language
- I asked how to find interaction designers and artists for Ship It Society projects; suggestions included reaching out to college students and design meetup groups, social cross-pollination