Monday, May 18, 2015

Hello Drawing World!

 One presentation down, one to go. Sketch Send is now functional and we have spent the last couple of days enhancing it. When drawing a sketch, there is now an actual send button to send the sketch. The contacts list now uses Parse, rather than shared preferences. Lastly we have gone back to clean and comment the code. After receiving feedback on our last presentation, we have set up time to meet and run through our presentation in hopes that we can have a more effective presentation this time. We will be presenting Sketch Send on May 19 at 3:00pm. We also hope to put Sketch Send on the Google Play store.

It's been a long journey, but we made it!

Wednesday, May 13, 2015

Presentation Day

We have finally finished Brick Bash and even added a couple of extra features. There is now background music during game play and extra sound that says "game over". In addition, we have fixed a lot of the smaller bugs such as transitioning between rounds, saving the upgrade amount properly, and audio bugs. We plan to present our game today along with the rest of other team game apps

Tuesday, May 12, 2015

The Home Stretch

A productive weekend has left the Java Turtles with only a short to-do list for both apps..

We have an upgrade shop full of working upgrades. We have added a time upgrade, which adds 5 seconds to each round, a nuke upgrade, which destroys the brick in one hit and a money upgrade, which gives the user 50 percent more upgrades each round. The cherry on top of these upgrades is that we have added whimsical sound effects for when you buy the upgrade and when you use them. In order to Brick Bash to be deemed "complete" we still need to determine how much each upgrade will cost and display that cost with each upgrade. Additionally, we would like to add some "quality of life" upgrades with allow the user to change the the noises or music during the game. Once these finishing touches have been done, we will be able to wrap up Brick Bash.

Meanwhile, the only thing left to do for Sketch Send is to be able to pull down drawings from Parse and redraw them. As of right now, the app stores the drawing as a serialized string, then stores it using Parse. We are working on retrieving it from Parse and deserializing it so that it can be redrawn. In order to be able to redraw the sketch, we are creating an activity that draws it. So, the last steps we need to take are to get the activity working correctly.

The Eye of the Storm

image taken fromhttp://en.wikipedia.org/wiki/Eye_%28cyclone%29

Now that we have made significant progress on both apps, Tyrant Ben has loosened his grasp on the Java Turtles. We find ourselves able to relax, celebrate, and even take a moment to look out the window. But we fear that this is only the eye of the storm with the deadlines for both apps coming up next week..


After a full day's work (instead of attending Symposium Day), we have almost finished the desired upgrades for Brick Bash. "Slash Attack", the swiping upgrade, Click Power, and the bomb upgrade, which destroys a third of the brick's health, are all working with no major bugs. In addition to the upgrades, we have attached "Brick Bits", our in-game currency, to the upgrades so that the users can no longer buy upgrades without having any currency. The next step is to decide how much each upgrade will cost and display each cost in the upgrade shop. After we finish the last couple of upgrades and put the finishing touches on the app, Brick Bash will be finished.

Sketch Send is also very close to being done. When a user draws a sketch, each "line" (drawing without picking up his/her finger) is stored as a string value that contains the color, width, and where the line was drawn. Essentially it does so by recording each point at which your finger moved across and then stores that into the string. In order to be able to send a drawing from one user to another, we have to be able to be able to get that string value into Parse.com, have the recipient be able to pull it down and parse through the string so that the sketch is redrawn.






Wednesday, May 6, 2015

A Quick Update

After a short coding party on Symposium Day's Eve, we finally have sketches!

We now have an almost fully functional canvas. On the canvas page, we have functional buttons to change the color and width of the line that you draw.
So far, we have run into a handful of problems using GitHub, particularly with Brick Bash. We don't quite understand all of the problems that we've encountered but when Grace pushed Brick Bash to to GitHub and then Ben pulled the project, somehow the .iml file got modified and then deleted. We were able to fix the problem by checking out the project again and hope that we will not run into any further issues.

Tuesday, May 5, 2015

Upgrades and Photoshop Beautification

This edition finds the turtles deep at work as they heroically trudge towards completion of Brick Bash...

The last week has been spent spending a large part of our work towards completing our group game, Brick Bash. The first of our major changes has come in creating our Brick.java class. Previously, everything that the PlayActivity calculated and displayed was all done in the PlayActivity.java. We started the process of cleaning our code by creating the Brick class, which is now responsible for creating the Brick object, keeping track of current health, the number of hits it has taken, and the image to display based on the health of the brick. It has moved the majority of the calculations to the separate class and removed a large portion of fields and methods from the PlayActivity to Brick.

The second of our major updates is the grand opening of the UpgradeShop.java. We have two upgrades that now can increase the tap power, as well as activate a swipe power which does more damage to the brick. We are still working on finishing the upgrade shop with upgrades like a bomb, golden brick, auto tapper, currency boost, increased round time, instant round clear, audio upgrades, and possible visual upgrades. We think that now that we have created a system for creating the upgrades, we should be able to push out new ones much quicker.

While Sketch Send has not been the focus during our last week, we have made some changes to our non-game as well. We have completed the Contacts list, which now allows the user to add, select, and delete. It also has connected to parse, and will only allow a user to be added to the contacts list if the contact has been stored on parse. PhotoshopMaster Trevor also made some awesome buttons for our app, which now looks significantly more visually appealing.


We end this post with and update on Tyrant Ben. It has now become a full fledged dictatorship, with the following pictures as an accurate depiction of our working conditions. https://rockpaperwatch.files.wordpress.com/2013/03/ojw2b1mivw7e06xjmt151.jpg
- Tyrant Ben (https://rockpaperwatch.files.wordpress.com/2013/03/ojw2b1mivw7e06xjmt151.jpg)



http://www.cartoonmovement.com/depot/cartoons/2011/10/01/the_tyrant__matteo_bertelli.jpeg
- Tyrant Ben with his puppets (http://www.cartoonmovement.com/depot/cartoons/2011/10/01/the_tyrant__matteo_bertelli.jpeg)

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