The week of July 14th – 18th I attended a mission trip with my church youth group in Ft. Worth and got a little break. I came back this week expecting to continue coding.
What I ended up doing was even cooler.
It may have been the vacation, but on Monday and Tuesday I just wasn’t motivated to use the computer. It hadn’t been a source of success for me in the last couple of weeks and I just didn’t want to face it. So instead I tackled a problem that had been pushed into the corner: game design.
If you remember, I’d been working on this project with a couple other interns my age. One of them was a girl who was to be our “designer”, working with the Photoshop and art side of things rather than the actual coding. I haven’t seen her in a while due to both of us having busy schedules, so we’d had little collaborating on the design portion of things. I thought I might as well draw up some sketches for her to have a base to create off of when she got back in the office.
I sketched some basic ideas of what the different fish, nori, and other ingredients would look like. My vision for this game was to have a simplistic, cartoon-y art style, based on bright colors, smooth edges, and no black lines. Similar to the art in the ad Dumb Ways to Die.
I also spent a long time working on the game play of the app. By this I’m referring to what different screens would look like, how different elements would move on an off the screen, almost like a storyboard.
As you can see, alongside these drawings I added notes to help explain my concept and what couldn’t be expressed through drawings. These notes became extremely useful when I moved on to coding. By drawing out the path that each ingredient had to take, I determined the specific movements and actions I had to learn how to program. For the fish, I had to learn how to make it move with the mouse and then drop in a specific place and stay there. For the rice, it would have to be a paintbrush the user controlled with their finger.
So on Wednesday, I had an idea of what I wanted to accomplish next.
But the HP computer did not want me to continue. It had already been giving me problems, and it decided to crash and give me errors when I tried to start it up. When I did finally get it started up, my dad decided that he really wanted me to use VMs again. (Oh, joy!) So then I spent a large time trying to get that to work again. And, of course, the computer decided to be slower than ever and give me even more problems.
When I came back to my dad and told him the problems with the computer, he thought I should just get a new computer. And he suggested the new Surface Pro 3.
I had no problem with this, the company was going to buy it, not me. Plus, new computer!!!!!!! I didn’t argue. So that day I went with one of our other employees for a quick Apple and Microsoft store trip. At the Microsoft store, the Surface Pro 3 dominated the display tables. One of the workers there helped me pick out what model I needed.
We ended up purchasing the $999 i5 Surface Pro 3, with 128 GB of storage and 4 GB of RAM. The return policy was 30 days, so if it didn’t work out for my purposes we could bring it back.
Let me tell you, it’s nice. I don’t want this post to be a review of the Surface 3, but it’s pretty awesome. While still sized like a tablet, it’s big enough to work as a computer. The touch screen is a really neat feature to have when using it as a computer. The computer side of things works well and quickly. My favorite feature is the stylus. The Surface 3 comes with a thick pen that serves a variety of purposes, from note-taking to app layout editing to an additional cursor on screen. It’s very intuitive and I find myself using it just as often as the mousepad.
I tried using a VM on the Surface. The Surface comes with Hyper V, a native hypervisor to create virtual machines, but there are a few steps to set one up. I was not able to find any tutorials on how to use Hyper V with the Surface 3. I got a little ways using this tutorial about the Surface 2, but ultimately my VM did not boot correctly. I believe this is just due to the fact that I am not technologically familiar enough yet to solve my problems on this scale, but for someone with more experience I think you could definitely run a VM on a Surface Pro 3. In the Microsoft Store, the worker seemed confident that you could successfully and nicely run a VM on the i5, even with only 4 cores. And it seems like it will work even better on a version with 8 cores.
I got the Surface up and running and installed Marmalade onto a separate user(another neat feature—multiple users), as my dad still wanted me to try and isolate the downloads as much as possible. On Thursday, I took the workstation of an employee who was out that week and used the Mini DisplayPort on the Surface with and HDMI adapter and got it connected to another, larger screen. From there I was able to code again.
Continuing from last week, my first task was to figure out how make the objects on the screen react to the user’s touch. So I created a project titled “ClickMoveObject”. Pretty self-explanatory. When the user clicks, it moves a object. By Friday lunchtime, I could make a white box move up a little every time the user clicks the screen, or only move when they drag the cursor, or move from one location to another through tweening once they click inside the object. I had pretty much figured how to move things on the screen in all the different ways.
The only way I was missing was for the object to follow the user’s finger. So far, I could only make the object follow a certain path, not the irregularity of the user’s finger. Being able to follow the user’s finger would be essential to my game. I’d need the user to grab objects from the side of the screen, the ingredients, and pull and place them in specific positions in the middle, to make the sushi.
Before I could work on that, however, my dad suggested that I deploy an app. I needed to test an app on an actual mobile device rather than just the computer simulator to make sure that my app would even work. It wouldn’t be great if I coded and spent time on the entire app just to find out at the end of the summer that my game wouldn’t work on mobile devices.
I was not very motivated to do this, as it was more techy things that I would have problems with. So instead I spent the rest of the day coding a simple app that print “It worked!! :)” on the screen whenever you pressed a button. I left the actual deployment of the app for next week and left Friday ready for a relaxing weekend.