Thursday, October 25, 2012

Round Three Begins!

This week we've started our third round of rapid prototyping the the Game Projects class. This time around I'm paired with JJ as the producer, AB as a fellow engineer, and (surprisingly, but awesomely), Alice as an artist once again.

 This week we had multiple clients once again* with one of the themes being Autism, and the other Shoshone.

 On the negative side, JJ was sick on Monday and thus absent from the clients presentations. Roger filled in for him though, and gave us a bunch of great ideas which helped us flesh out our game. In the end, here's what we came up with (taken from the message I sent out to the group):

Story/Background:
You are a frog living in a huge pond, but you've never seen more of it than your neighborhood. One day you decide that you want to see the "world", but you're too nervous to do it alone so you decide to start making friends to explore with.

 Gameplay:
 The game will have a week cycle where NPCs are only available on certain days (new thought: if we have sub-locations of the unlock-able locations maybe NPCs would show up in different places depending on the day as well?). Each day the player will be able to converse with anyone who's present that day. They could have anywhere from 1 to 3 "conversations" with the same person, but after the fixed amount the NPC would make it clear they'd like to leave and continued attempts at maintaining a conversation would have a negative impact on your relation with them (to enforce recognition of when a conversation is over). Throughout these conversations, NPCs will reveal likes and dislikes the player will need to remember for use in future conversations (perhaps to move between sub-zones of the gauge you have to remember a like/dislike?). The gauge is the core mechanic to allow the player to see the state of their relationship with the NPC they're currently talking to. It has 3 main sections: positive, neutral, and negative. Positive and negative each have 3 sub-sections: best friend, friend, acquaintance, dislike, hate, and enemy (reading from most positive to most negative. Note: I just came up with these names on the spot, they likely need changing). The negative aspect of the gauge is important as it allows the player to choose if they don't want to be friends with a NPC. (If you can read cues to make someone dislike you, the reverse is possible as well.). This will also tie into the presence of negative NPCs as well who the player may not want to befriend. Finally, each NPC the player reaches maximum friendship with will then join up with the player in exploring the pond, unlocking a new section of the world map and thus new NPCs to interact with.

 Additional Notes:
Conversation decisions can impact your relationship with animals other than the one you're currently talking to. Ie: If a bully frog asks if you want to have fun by going around and smashing fish eggs and you go along with it, your relationship with every fish is going to drop. (a destructive example like this may be too extreme, just using it as an example)

 NPCs can have relationships as well. Maybe if you've made friends with a turtle and you're trying to make friends with one of its friends your gauge starts a bit higher. (can work in reverse as well). I'm really happy with our end result and I think it's actually going to be a pretty sweet game. I will fully admit a large portion of it is drawn from the social side of Persona, although we'll have more player options per conversation and there's the option to choose to make enemies instead of friends. Which thinking about it, could make for a pretty awesome mechanic in Persona 5 (Hint Hint ATLUS).

 Oh right, and we have to program in HTML5 for this project. It's certainly going to be interesting.



 * I have to admit I am not a fan of this. Since we need people to work for every client, people end up being forced to work for a project they have little initial interest in. In my case, I've already done work with autism, but I've never worked on Shoshone and I loved reading (actually having my parent's read to me) their mythology as a child. At the same time, I suppose we're not always going to be working on a project we're thrilled about, so it's good to get used to that.

 My Shoshone game idea (Cause I like it so much):
Genre: 2-D platformer.
Twist/Question: The character would be a Shoshone word (with multiple unlock-able and selectable characters) Different characters could have various special abilities depending on the word selected. Power-ups would transform the word into a more powerful version i.e. Pup to Wolf. Enemies would be themed to the level and would be the dominant languages of the world that are responsible for killing off these smaller languages. So the French level, for example, would have a bunch of french words as enemies.

Meets the clients goals by showing Shoshone as powerful, fighting off these other languages from their attempts to quash it. On top of that, from an educational standpoint, you're learning words from a TON of different languages.

Thursday, October 18, 2012

Post-Mortem #2

Our post-mortem this time around was trickier than last time since things went so smoothly.  I think two main factors contributed to this ease: Scrum, and pair programming.  Scrum allowed us to stay more in touch with Alice and her with us so everyone knew how much progress had ben made.  Pair programming kept Jason and I on the same page and also allowed us to tear through what we needed to get done resulting in us finish all of our goals and allowing us to work on extra features we initially weren't sure we'd have time to include.  As a result of all this, I feel like we got out a really great prototype and the client seemed to confirm this.  Getting funding on the project seems pretty likely and the group is definitely interested in continuing to work on it, so that's awesome.

We found out that our project next week will be in HTML5....  That's going to be interesting since the last time I wrote HTML was about 10 years ago.  Considering it's still under development it seems like this project is going to be more similar to the first with MOAI, where everyone is going to be learning how to use the language initially.

On Monday we'll get our new clients and find out what type of games we'll be making.  I'm looking forward to it.




Monday, October 15, 2012

Seriously Delayed Update (My Bad!)

So obviously it's been ages since I last blogged.  Completely spaced the whole thing for the two weeks before Fall Break.  So since the last post, Jason and I have been working on Kinect Gardening in a pair programming manner which has worked out very well.  We were able to get the Kinect up and working on the very first day, but while it was easy to set up, getting it to work well has proven to be a huge struggle.  In the end, we've given up on trying to get it to work better since all our attempts have failed and it was just sucking up a lot of our time.  Other then that, getting the game logic up and running wasn't too bad.

I also feel that we did a really great job with separating out the code into different classes.  The vast majority of our code is outside of the core Game class.

Today we implemented the basics of the gopher logic.  Gophers will now spawn on an "upgraded" square and if left alone for a length of time will "downgrade" that square.  So for example, if you're currently working on turning all the squares from dirt to tilled, gophers will only appear on tilled dirt and will change it back to regular dirt.  We don't yet have the downgrading functionality in, and the gophers don't disappear on their own.  Not sure if we'll get that in before the final presentation, but the idea is at least given at this point.