miércoles, 11 de marzo de 2015

rubyquest - Day Fourteen

We have come to the end of the second week coding RubyQuest and it's been a roller coaster ride.
The first four days were lost as previously noted, other than some experience and some graphics that we carried over. 

We finally implemented the AJAX post requests to check the player's answers against our database. It took a bit of time to get it just right, but it wasn't too complicated overall. The problem we were having was that we had the function inside our update, which runs at 60 frames per second. The problem this caused was that we would end up sending over 200 post requests every minute. This would have been a problem, having many users playing the game at the same time.

Fortunately, we realized we could have the function defined in our create, and just send it once from update, and we got to only send one post request now.

We also added collisions to the world map. It took a lot of time to do the graphics, doing an RPG was always going to be a very ambitious project, but we really wanted to do more and more every day, so we really had to get to the point where we said 'okay, this is more than enough for two weeks' and put an end to our world expansion. We have three layers of tiles, and we collide against the middle one. It is not quite pixel perfect yet because of some bounding box issues, but it gets the job done.

Pitching!

We have to now record a video of our play through to have for our pitch. We want to have it playing with a nice trailer for our audience. 

We are freezing the code Sunday night and we are right on schedule.

martes, 3 de marzo de 2015

rubyquest - Day Eleven

Last wednesday we had asked if we could demo our game live at Waffle Wednesdays, a weekly morning event where people from the Miami tech scene get together to eat waffles and discuss all matters tech. Sometimes, people do presentations so Team RubyQuest thought this would be a great opportunity to get some early feedback on how we were doing.

The only problem was that while we thought we would be just showing our game and getting feedback on that aspect, the expectations were that we would be actually pitching our entire application as if it were the official Pitch Day that's happening on March 12th, 2015. 

We only found out about those expectations today, Tuesday, at 10am, so that gave us less than 24 hours to prepare a slideshow, rehearse it and have a presentation ready. That would have been enough time except for the fact that we also have class and we also have to keep working on our project, so that was much less time.  

Where to Begin?

We asked a TA to help us and we had no idea were to begin. Our first ideas were really bad and we got negative feedback, but that helped us notice that we were approaching this pitch from the wrong angle. We started brainstorming and liked some ideas, and started putting things together at around 4:00pm. 

A key question asked by almost everybody was: 'why are you making an HTML5 game while everyone else is making a Rails application?' which seemed obvious to us, but obviously was not to everybody else. We realized that we needed to really show why we are making this game and what we hope to accomplish, which is to give back to the tech community that we are now a part of and that's been great to us, by preparing the next generation of coders in a very fun and immersive way. 

Here's were the concept of gamification comes in. We want to complement the user experience by offering a very engaging environment. Getting deep into a story to us is one way to achieve this and that's why we are making RubyQuest.

In Other News

We are almost done with incorporating the Puzzle functionality which is a big part of our game. After speaking to the 'guru' of our game, we get taught a lesson on Ruby, and an input box appears on our screen. The user needs to input a response to the challenge posted, and that input gets sent to our server, which checks our database, and comes back with either a successful or erroneous response.

We have the AJAX post request working on our server side, we just need to finish implementing it on our game.

After eleven days, we have really learned a lot, and every day we keep learning more and more, we feel very confident that we will be ready to take on the next challenge as soon as Wyncode ends, and the junior developer quest begins.

lunes, 2 de marzo de 2015

rubyquest - Day Eight

After a full week and a day since having started our project, we are finally at the point where we can focus on adding content without worrying about the basics of the game such as walking, animation and dialogue.

We decided to manipulate DOM elements in game and we are using jQuery for that. For example, our menu covers the entire screen and it pops into view if we press the 'M' key on our keyboard. Pressing M toggles it on and off for now, but we'll probably just show and have to click exit to toggle it off or something, we are still deciding. 

Dialogue works when our character is within a certain distance of a non-playable character and we press the spacebar. We are planning on adding a mini-game as well, and some easter eggs that will add flavor to the game. Even though for our pitch day we can only demo a couple of minutes of the game, we want to be as thorough as we can.

AJAX

A feature we still have to implement to our game is the puzzle challenge. Basically, we'll pop up an input box on our game and we have to type the challenge as is being described on our dialogue box. The challenge for us is going to be sending an AJAX post request to our server, to check against our database, and then get that get request back to keep going with the game. 

We are not sure how to do this yet, but I'm confident we can get it working by the end of the day.

Pair Programming

On Friday night, we implemented pair-programming for the first time, with one person driving and somebody else watching and helping out. It was a great learning experience as I had not done it personally and learned a lot from it. There are some pictures of that day that we will be posting later.