Wednesday, April 29, 2015

A New Tyrant in Town

"All hail Tyrant Ben!"

Java Turtles coding party
As we've continued to work on our two apps, we've constantly been joking that Ben has become the over-ambitious tyrant of our group. While meeting up for a "coding party" Ben suggested that a cool way to incorporate different strategies to break the brick would be in the upgrades. The idea is that the user will initially only be able to tap the brick to break it but then once the users accumulates enough "brick bits", the name of our in game currency, the user will be able to purchase a swipe upgrade. Swiping the brick will have more brick breaking power than merely tapping. Once the user has purchased the swiping upgrade, we want the user to be able to either tap or swipe as desired. And of course, the user will be able to buy upgrades for both tapping and swiping.

In terms of progress on Brick Bash, we have continued to work on our upgrades. We now have a basic xml file for the upgrades and a java class to go with it so that when the user clicks on the upgrade, the upgrade actually works. Of course, there is still a lot of work to be done. The next steps are to link our upgrades to the in game currency so that user is able to purchase them.

In other news, we have continued to make significant gains in Sketch Send. Using parse.com users are able to create a unique username that is associated with their email address. Then, using parse, the app checks to make sure that the user entered a valid username and email address. Once the user has created the account, the user is able to switch users, or create a new account. As of right now, we don't have an option for the user to log out, but are definitely hoping to include that in our final version. Instead, the app just automatically logs in the last user.In addition the getting the username feature to work, we have also been able to create the canvas for the user to draw on. From here we hope to add in features to change the color and width of the line you draw.



Tuesday, April 21, 2015

Parse Master

For the last week, we have been working hard on our two apps. Trevor and Omar have been mainly working on Brick Bash while Ben, Logan and Grace have begun working on Sketch Send and getting that project off of the ground.

So far, we have improved Brick Bash by making a more detailed leader board. The new and improved leader board ranks the top 5 scores (instead of 3) and now has a feature to add a name to a high score. If player who is already on the leader board beats his or her score, the score will update when he or she types his or her name. Right now, all entries are case insensitive so for example, "grace" and "Grace" will be regarded as the same name. One problem that we have come across is limiting keyboard so that the user can only type in letters when entering a name.

In addition to the leader board, we have also made progress toward the in-game upgrades. We have begun with the simple upgrade of "clicking power" which just takes more of the brick's health away per click. With this upgrade, we had a couple of bugs in our program. For example, the round numbers would not be chronological and the game would skip from round 2 to round 7. Fortunately, we were able to fix these bugs. Now that we have a simple upgrade working, we hope that it will be easy to build more complex upgrades.

Meanwhile, we have started working on Sketch Send, our non-game app. So far, we have mainly been working on the layout which now has a main menu with buttons that link to a blank canvas to draw a new sketch, the user's inbox, and the user's contact list. In addition, we have been researching parse.com and figuring out how we can use it to be able to send the sketches from one user to another. Ben jokingly declared himself "Parse Master" (because titles inflate his ego) and has agreed to do a majority of the  research on how to use parse.com so that we have somebody on our team who knows what they are doing. So far he has been working hard to make sure that we implement the parse.com SDK correctly and trying to figure out the logic behind sending and redrawing the sketches. Right now we think that we will have to somehow save each event of the sketch in a data structure and then the receiver will rebuild the sketch based on that data structure.

Friday, April 17, 2015

The Journey Begins

Java Turtles Unite!

We jokingly exclaimed during the first week or two of the Computer Science senior inquiry at Augustana College. I don't think any of us imagined the challenge ahead when we thought about developing Android applications. The Java Turtles consist of Trevor Warner, Omar Guzman, Grace Vente, Logan Kruse, and myself Benjamin Knapper. This blog will be about some of the things the Java Turtles encounter along the journey to developing two different Android applications as part of our culminating class at Augustana. After the first five weeks of work on smaller projects, which included an individual game for each of us, we speak with a different tone when we exclaim...

Java Turtles Unite!

...now knowing the daunting task set before us.

The two projects set before us are a group game and a non-game application. We have chosen to extend Trevor's Brick Break game as our group game and a social drawing app that allows a user to draw a picture, record the process of drawing it, and send it to another individual with the application.

These choices were made during brainstorming sessions held before class every Monday, Wednesday and Friday. There were some things we had to think about when deciding what we would pursue for both apps.

When thinking about the group game project it made a lot of sense to us that we should extend one of our individual games. There was already a fully functioning game that could be built upon. This meant we had to choose a game that had somewhere to go. For example, my game (Think Fast!) was pretty much already done, we could have spent time upgrading the graphics and tweaking the gameplay but nothing new could really be added to the game and keep gameplay the same. On the other hand, Trevor's Brick Break had lots of places to go. His game design was simple, break a brick within the time limit using taps on the screen. We saw that we could add more objects to break a the levels progressed, different actions required to break the objects, different levels of difficulty, and an in game currency system that allows a player to purchase upgrades to tapping power, one time power-ups that help beat a particularly hard level, extra time, and more. Something else that came up when thinking about which project to choose was self-assessment. 


Brick Bash Storyboard


Did we have the skills necessary to complete the project?

Similar planning was used when brainstorming the non-game app. Because this app would be ground up development we didn't think really about extensibility, but instead focused almost entirely on the team's capability to complete the project as designed. The toughest decision we had to make was about the sharing feature on the yet to be named application. We knew that we would need some sort of server to share between different devices the drawing. Looking forward, applying this to the app looks to be the most challenging thing we must accomplish.

The brainstorming and planning stages of the development were crucial in getting the Java Turtles started on what will be difficult but rewarding last five weeks at Augustana College!
Sketch Send Storyboard