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.

jueves, 26 de febrero de 2015

rubyquest - Day Four

So after four days of using LimeJS and the Google Closure Library to code our game, we realized that moving forward, it would bring us more problems than solutions and made a decision that should almost never be done: we switched frameworks. In our case, I believe that it actually made a lot of sense. LimeJS is very good for what we were trying to accomplish, but unfortunately, it's a framework that's not actively developed. We chose Phaser because it's the most popular JavaScript framework for games and it has a very nice and active community. 

So, after four days of coding, we decided to scratch everything and start from zero. Our biggest problem with LimeJS was doing animation and movement, and we were able to solve that with Phaser in about 4 hours. 

But No Framework Is Perfect

The problems with frameworks is that not one will cover everything that you need. While movement and animation is a lot easier with Phaser, transitioning from scene to scene is harder. Also, doing dialogue and inserting labels onto the screen can be hard. The way we are approaching that is by manipulating the DOM rather than the Canvas element of HTML only. 

We have jQuery code that toggles on/off our dialogue boxes, and also our main menu. This way, we call it from our game with the press of a button, and then it'll just show up on top of our game.
This approach might not be the tidiest but it works for what we are trying to do and it's pretty simple to implement. It'll also be good practice for when we have to implement our puzzles which will send an AJAX request to our server from an input box.

Our demo is almost done and we really need it for tomorrow as we need to present it for us to keep the project alive. 

domingo, 22 de febrero de 2015

rubyquest - Day One

After assembling the team on Friday, this past Saturday, February 21st, we finally sat down with team !Fer (pronounced 'not fair') to start coding. For our Pitch Day we are creating an Educational RPG, which may actually be the first of its kind. We decided to go very JavaScript heavy for our final project as it's not our strongest language and we really want to learn it. Also, HTML5 games are the future in gaming as it supports many different platforms. We are aiming for web and mobile support for our game.

The Framework


Our first board on what we are going to need for the game.
We chose LimeJS as the framework we'll use to run our game as it provides us with the best tools for what we are trying to accomplish. It uses the Google Closure Library, which was used to create Gmail for example. It's a very powerful library, but from what we've seen so far it can be quite tricky as it's pretty much a new language itself. 

We decided to take Friday night and Saturday morning as our 'learn the basics' day. That meant that we would watch tutorials, read documentation and look at source code to get a feeling of what we were getting into.  I can say that Mario, Travis and I went through this cycle of 'what am I doing!?!?' to 'I got this!!' and back to 'what am I doing!?!?' many times throughout the day.

The Coding


Since we need an actual website to run our game, we also decided to use Rails to power it up. We are going to need a database to store some information for our game, and we also want to have some features such as a Forum where players can interact, post questions, get help, etc. We also want to implement a Reviews section so we can get feedback on our game. Lastly, the website is going to have a Log In system that we will build from scratch instead of using Devise as it will not only be a great learning experience, but it will also let us customize it as we please.


             Second board on game functionality.


After quite a few hours of coding, we were able to accomplish quite a few things but we are having some problems using the keyboard to run our game. So far we've only been able to use the mouse which is not ideal but at least it works for now. We've reached out to different developers who have used LimeJS in the past to see if they can help us with this issue.



Going Forward



We really would like to solve the issue of using the keyboard for input, we are really going to need it for our puzzles, but so far we've created a mousepad that we can use to move our character around. We are using free art that we found online so far and we have not yet implemented animation to our walking but we will get there eventually I am sure. We'd like to have a five minute playable demo by Friday, so then we have another two weeks to really polish the game.



viernes, 19 de diciembre de 2014

Dios Me Odia (Por lo Menos a Nivel Deportivo)

Estoy convencido de que Dios me odia. No sé si me odia por completo, o solo un poco, pero estoy seguro de que como sabe que soy fanático del deporte, me castiga por ese lado. Si bien lo que estoy diciendo suena blasfemo, tengo suficiente evidencia como para comprobarlo.

Sabían que desde mediados del 2010: los Celtics perdieron la final contra los Lakers cuando Kendrick Perkins se rompió la rodilla en el ante último partido, en el 2011 tuve doble operación de hernias y aductor, la cual me relegó al banco de suplentes de Libertador FC y a estar a la sombra de Darío Gigante, en el 2012 en meses consecutivos los Patriots perdieron la final contra los Giants en el último minuto, LSU perdió la final contra Alabama (archirival) y Boca perdió la final de la Libertadores contra el Corinthians, nuevamente me tuve que operar, pero esta vez el labrum, en el 2013 Boca caería tan bajo que quedó 19no en el campeonato, y en el 2014 la selección llego a la final del Mundial solo para perder contra Alemania (otro archirival!) de la manera mas dolorosa posible?

Todo eso debería ser más que suficiente para demostrar que tengo razón, pero si necesitan más evidencia: desde el 2013 estoy 0-7 en Ping Pong contra Domi Blaquier, me abrí la ceja y me tuvieron que dar puntos, sufrí por una fascitis plantar unos ocho meses, San Lorenzo ganó la Libertadores por primera vez, y a fines de noviembre perdí en arco y flecha, beer pong y flip cup contra Trini Apellaniz. Y por si fuera poco, parece que me rompí el labrum otra vez (espero los resultados del lunes para confirmar). Las únicas alegrías fueron pocas: un torneo de fútbol, salir mejor arquero de otro, y ganar una carrera en Busch Gardens con Fede Ramos (nuestro competidor más cercano de edad tenía 11).

Mi relación con dios no siempre fue así. Yo creo que hasta el 2009/2010 me quería, pero en ese entonces algo cambió. Todavía no me decido si fue cuando choqué a 140km/h en junio del 2009 y perdí el auto, o cuando en mayo del 2010 decidí no hacer un MBA en una Ivy League (Harvard/Stanford) y me salí del camino que tenía planeado para mí. Espero poder reinvindicarme algún día y que todo vuelva a la normalidad, extraño esas Libertadores y esos Super Bowls. 

Si bien un equipo puede perder o no, la manera en la que mis equipos vienen perdiendo desde ese entonces deja muchas dudas. Los Celtics perdieron porque Kendrick Perkins se rompió los cruzados caminando solo. LSU perdió contra Alabama sin meter ni siquiera un punto (21-0) y sin haber pasado de mitad de cancha. Los Patriots perdieron contra los Giants al final del partido por la lesión de Rob Gronwkowski. Le ponía todas las fichas a Boca, pero después de haber dominado el primer partido, nos embocaron al final. La vuelta arrancó de terror, se lesionó el arquero Orión (había atajado varios penales, y había estado varios partidos sin que le hicieran goles) y desde ahí todo se vino abajo. 

Con el 2013 pensé que la mala suerte se iría, pero me desgarré por primera vez justo una semana antes de jugar Copa Latina, volvió Bianchi a Boca e hizo papelones, y en el 2014 nada mejoró. Del mundial no hablo porque todavía no lo superé nunca lo voy a superar. Pensé que la semi-final contra River sería el momento que todo cambiaría, pero no, otra vez esa mala suerte, y esa manera horrible de perder. Al minuto de juego, penal para Boca y obviamente que lo erramos. Dios siempre me genera ilusión solo para después pegarme una piña en el estómago y burlarse.

Así que Dios, ya sabes, soy consciente de que en algún momento nuestra relación se rompió, y acá te estoy demostrando que quiero hacer las paces, así que si pudieras hacer que los resultados del lunes salgan bien te lo re, re, reeee agradecería. Que Boca gane la Libertadores no estaría mal tampoco.


Preguntas, dudas, comentarios:


aca abajo en el blog,
ferchiincarranza@gmail.com, 
@efecarranza

lunes, 1 de diciembre de 2014

Thanksgiving


Como seres humanos tenemos esa maldita costumbre de quejarnos mas de la cuenta, de siempre querer mas y no valorar lo que si tenemos. Nunca le doy mucha bola a Thanksgiving (Dia de Accion de Gracias), para mi es un dia mas en el que la mayoria en Estados Unidos come pavo a la noche. Como necesito un tema nuevo para el blog y estoy probando esto de valorar mas las cosas, voy a dedicarle 2,000 palabras a darle las gracias a esas cosas que doy por hecho y que si no estuvieran realmente lo sufriria.

Familia

Todas las familias tienen sus problemas, y si bien con algunos miembros de la mia suelo chocar (hola papá!), doy las gracias por tener una buena familia con la que realmente paso cosas muy lindas. Tengo un hermano con el que puedo hablar de todo, un padre que es super compañero y cariñoso, mamá que me banca en todo y siempre está ahí para lo que yo pueda necesitar. Tengo mis primas que son mis mejores amigas. Primos mas chicos que son un amor y me re quieren, y disfruto muchisimo de verlos crecer. Tengo tios con los que puedo hablar de todo y me re ayudan. Doy las gracias por tener a la mayoria de mis abuelos vivos a pesar de que estan grandes y tienen algun que otro problema, pero siguen aca y los puedo ver.
Soy super familiero, me encanta compartir eventos familiares y ver como todos vamos creciendo y hacienda nuestra vida y soy un agradecido de poder vivirlo.

Amigos

Me dicen que soy la persona con mas amigos del mundo, y me causa gracia porque por ahí no me doy cuenta, pero tengo la suerte de realmente tener mucha gente en mi vida que puedo considerar un amigo (o amiga). Están los de siempre, y están los mas nuevos que a veces parecen de toda la vida. Si bien estando lejos a veces uno no habla tanto, o hasta cuando viajo por ahí no puedo verlos, esa amistad se conserva y se hace sentir cuando sí hablo, o cuando sí me puedo juntar.

Trabajo

A uno nunca le va a gustar un trabajo en su totalidad, si no no seria un trabajo. Hasta los que hacen lo que realmente les gusta, muchas veces deben pensar ‘uy, como me quedaría en casa hoy.’ Pero al ver la cantidad de personas que no pueden conseguir un trabajo, que no pueden conseguir un trabajo para estar bien económicamente sin tener que estresarse por llegar bien a fin de mes, me doy cuenta lo privilegiado que soy. Tengo la suerte de tener dos jefes excelentes y compañeros de trabajo que hacen que el ambiente sea muy positivo y que el dia a dia sea llevadero. Agradezco la flexibilidad que me dan para escaparme a Argentina cuando sufro de extrañitis extrema, o para hacer viajes como ir al mundial.

Salud

Tengo un par de amigos que por ahí estan pasando por unas etapas mas delicadas de salud y realmente aprecio que a pesar de un par de operaciones y cosas menores, tengo la posiblidad de estar bien y todavía poder jugar al fútbol que es lo que realmente amo en esta vida. Después de haber tenido varios problemas de estrés en el 2012 (buena idea para escribir en algún momento, como por ahí a veces pasamos muy malos momentos…pero eso, pasan!), hoy puedo decir que me siento re bien. No tengo nada más grave que algún que otro resfrío un par de veces por año.

Todo Lo Demas

Por último, le agradezco a Evan Spiegel por haber creado Snapchat y hacer que mis días laborales sean más llevaderos, por hacer posible que no queden registros de lo mal que canto en el auto, y por darme una aplicación para fasear a todos mis amigos seis veces por dia.
Hablando en serio, me considero un privilegiado y realmente agradezco todo lo que tengo, sobre todo esos pequeños detalles (se me acaba de ocurrir nuevo tema para el blog) que hacen que mi vida sea feliz.



Preguntas, dudas, comentarios:

@efecarranza en Twitter
ferchiincarranza@gmail.com

Y en los comentarios del blog.




jueves, 6 de noviembre de 2014

DIY: Mike Wazowski para Halloween

Creo que no hace falta decir que me encanta Halloween. Todavía no me decidí si es o no mi día preferido del año, va cambiando según el lugar y que tanto quilombo haga para mi cumpleaños, pero siempre está Top 2. La gente ama navidad, pero a mi dame Halloween aunque no haya regalos. Ya que me gusta tanto este día, me propongo hacer algo bueno con el disfraz.

Anteriormente fui Bam Bam (no Justi, no el de gran hermano, el de los picapiedras), en el 2009, que fue el primer Halloween que realmente me puse a hacer un disfraz. Antes de eso usaba mascaras, o me pintaba la cara o el pelo y nada más. En el 2010 y 2011 no hice nada porque estaba en Buenos Aires. Para el 2012 fui jugador de fútbol Americano para una fiesta, y ahí me volvieron las ganas de meter un poco más de producción a los disfraces. De vuelta viviendo en Estados Unidos en el 2013 y con mi (sana) obsesión con los minions, fue fácil elegir el disfraz.
Para el 2014 ya tenía decidido el disfraz hace tiempo y me comprometí a empezar mucho más temprano que el año pasado porque no quería estar a tres días de Halloween quedándome despierto hasta las tres de la mañana todos los días ultimando detalles.

Primeros Pasos

El primer fin de semana de Octubre fui a comprar los materiales. Compre mucha goma espuma, pegamento y una olla gigante de plástico, la típica de bruja de las pelíiculas. Ya que estaba, me compré el morphsuit verde para usar abajo.

Mi idea era hacer la forma tipo huevo con la base usando la olla para que tenga algo duro abajo, y de ahí cubrir todo con la goma espuma. Si nunca intentaron trabajar con goma espuma para hacer un huevo, les digo que es muy jodido. Acá arrancaron los primeros problemas, ya que se me hacía muy difícil hacer los cortes para que quede la forma. También me surgió otro problema, si hacía el huevo estilo Mike Wazowski, bien ancho, no iba a tener dónde poner los brazos, o me iban a quedar para arriba y cortitos. Con la idea de salir y pasarla bien, tener los brazos para arriba más de cuatros horas no era lo más práctico. Así que tomé la decision de hacer la forma un poco más angosta arriba del Mike Wazowski original, aunque pareciera una pera.

Acá surgió otro problema, con esta forma nueva, y porque soy relativamente alto, el torso de Mike me iba a quedar bastante largo y no iba a poder hacerle la boca y el ojo tan grandes así que iba a haber bastante espacio verde. Soy un perfeccionista así que esto me jodía bastante pero
terminé optando por un disfraz práctico y cómodo antes que el disfraz perfecto.


Problems With the Curve

Terminar la base me demoró mucho más de lo que tenía pensado. Me quedaban diez días para Halloween y recién tenía una forma de pera con miles de tajos y pegamento extra, la cual se parecía mucho más a Frankenstein que a Mike Wazowski. Mi idea era no forrar el disfraz pero al ver la monstruosidad que había creado tuve que resignar mi idea original y cubrirlo con tela. Lo que tarda mucho tiempo con un disfraz generalmente es esperar a que se vaya secando el pegamento. No podés pegar todo al mismo tiempo así que tuve que ir pegando de a partes y sostener hasta que fuera quedando.

Para retrasar aún más mi disfraz, me enfermé y no tenía ganas de hacer nada. En un abrir y cerrar de ojos, era jueves 30 de Octubre y a penas tenía la base del disfraz completa. [Nota: para entender cómo puedo haber tardado tanto en hacer un disfraz tengan en cuenta que trabajo de 8-17, y juego al fútbol en un club de tercera división donde entrenamos todos los días de 18:30-21. Si le agregamos el tiempo que tardo en ir y venir, bañarme y cocinar, se puede ver que realmente no tengo tanto tiempo por dia.] Después de cinco días seguidos acostándome a las dos de la mañana, decidí dejar el disfraz así y terminar los detalles al otro día. Me faltaban los pies, y decorar la base con la boca, los cuernos, la gorra y el ojo, más hacer los agujeros para los brazos.

Los guantes los había pintado de verde con aerosol hacía unos días, pero todavía me faltaban las uñas. La goma espuma no se puede pintar con aerosol porque se quema, así que tambien todos los detalles hay que hacerlos con tela. Salí temprano del trabajo, y a las 17:30 estaba trabajando a contra reloj para salir esa noche al Grove. Calculé que terminaria a eso de las diez.

Por suerte llegó Ramiro (mi hermano) al rescate y me ayudo un montón a dibujar y cortar. Yo me dediqué a armar los guantes, pantuflas y cuernos, mientras que él dibujo el ojo y la boca. Es increible lo rápido que pasa el tiempo cuando estas apurado, y de repente ya eran las nueve y todavía no había comido nada, y tenía una hora para terminar. Viendo por donde iba, sabía que iba a necesitar bastante más tiempo.

Terminando y Fiesta

Finalmente, terminé de pegar el último cuernito a eso de las 22:45. Me hubiera gustado tener la gorra pero no me dió el tiempo. Comí algo rapido y me fui volando a los de lo Laphitzondo al pre boliche.  Estuve un rato pero estaba tan ansioso por ponerme el disfraz que me fui al Grove a encontrarme con otros amigos.

Llegué 12:30, técnicamente ya no era Halloween, y había la mitad de las personas que rondaban horas antes, pero igual quedaba mucha gente y bares para ver.
Desde que me puse el disfraz, el Mike Wazowski casero fue un éxito, me pidieron miles de fotos, me saludó todo el mundo, me felicitaron muchos, y la verdad la pasé genial. Ya que estaba todo cubierto, por lo menos intenté de ayudar a mis amigos atrayendo minas pero no tuvieron mucho éxito.

El próximo año espero armar el disfraz y terminar todo una semana antes para no estar corriendo, pero conociéndome, voy a estar a último momento desesperado haciendo los detalles mientras me llaman mis amigos para ver dónde estoy.

Quiero agradecerles a Rami, mama piscuina y papá por ayudarme a terminar el disfraz, aguantar mi neurosis y por las malas ideas de cómo hacer el disfraz. Tienen 360 días hasta el próximo Halloween para prepararse porque ya tengo algunas ideas…



Preguntas, dudas, comentarios:

@efecarranza en Twitter
ferchiincarranza@gmail.com

Y en los comentarios del blog.