How do you build a voice game?


#1

I was watching the Alexa live design track yesterday and they briefly mentioned a tool called lumberyard for creating game engines. I was wondering if anyone has used this for their games and how it integrates with Alexa/Google Assistant or if you create your games differently.


#2

Neat question! Unfortunately I haven’t been on the game track, so I didn’t get the entire context, but I’ll give you my understanding.

So, AWS Lumberyard is indeed a game development platform similar to Unity or Unreal. The main focus of all three of these is to model game worlds and the bevavior of objects therein, primarily in terms of (2D and 3D) graphics.
Now, how can this be used to build voice games? In my understanding it can be used to build video games for a platform like browser (WebGL), Android, iOS etc., and then you can integrate voice as a way to interact with these games. One such example where a (demo) game world and a controlling Alexa Skill were simultaneously developed is Liam Sorta’s MILO demo.

Personally, I don’t see how you could use either of these platforms to build a pure Alexa Skill game (without a separate game application on another patform like browser or mobile app), but I’m not very familiar with these platforms and might be wrong. :smiley:


#3

Thanks for the reply! I believe you’re right after I dug in a little deeper. Lumberyard is for creating games but now has the option to integrate a voice app to control parts of the game.

I also saw that you have a pretty popular game in Germany - Mau Mau. Would you be willing to share some insight into how you created that game? Do you use any special tools to keep track of scores, stats, game mechanics or did you create it all yourself in a single lambda function? Any tips would be greatly appreciated!

I’m working on a skill right now to help any average person improve their memory and I want to add a game component to it where you could compete with other players around the world. I’m writing all the functions and logic myself but I’m just not sure if that’s the best way to do it or if it’s already been done before.


#4

Sounds like a great idea for a skill!

Regarding game components: We discussed some platforms that support leaderboards and things like that in this forum thread :point_down:


#5

Oh lálá, what a wonderful question - Thanks for asking, @Porterhaus! :relaxed:

If you’re willing to brainstom ideas for the mechanics, UI, tech or esthetics of your #VoiceGame, please let me know. Competition as a gamification aspect for a brain jogging voice app sounds like a neat approach already!

For Mau Mau, I haven’t used any platform, neither for the core mechanics (it’s a card game, so there are rules like whose turn it is when, which card each player can discard, what penalties there are, etc) nor for the leaderboard (which is currently based on DynamoDB, but is about to be moved to MySQL on AWS RDS). It’s indeed all one Lambda that contains all the game logic and interface.
I’ll gladly answer details questions as you have them!

Thinking about how a gaming platform might have been helpful for the development of Mau Mau… Difficult to say. Right now the leaderboard mechanics are so basic that doing the database operations myself doesn’t seem like more effort than integrating a platform. What are the features such platforms offer that you’d think are particular helpful in your case?


#6

First of all, I would love to chat and brainstorm sometime you’re free.

And that’s all good to know. My German is a bit rusty but I’ll have to try Mau Mau out myself to see what it’s like and then see if I have more specific questions.

I think what would be helpful from a gaming platform would be things like user profile management for multiple users (like a family), a leaderboard, a reward system (could be like Amazon GameOn for real rewards), and basic user metrics.

Of course we could do that ourselves but it’s just the kind of reoccurring need that reappears in games that would be nice to hand off and spend more time making the game itself better.