Wednesday, April 24, 2013

Pictures!

Last night, deciding to take a break from studying calculus, I thought I would spend maybe an hour, tops, coloring in the sketches I had done earlier. 3+ hours later, I was done. It's kind of amazing what a huge difference having real pictures in my game makes, instead of the stand-in green and red rectangles. I still need to fix the text and make it readable (kind of necessary, I suppose), but already it looks a lot better.

Thursday, April 18, 2013

Testing

After a few minor fixes (which are turning out to take forever and maybe not be so minor. Gah.), I'd really like to start getting into testing in the next week or so. This would mean actually getting people to play a real game, and see what still needs to be done or doesn't work right. However, before I start this, I'd like it to look semi-presentable, which means having the final unicorn and dragon card pictures, and not just the stand-in rectangles currently in place. Initially, my younger sister was going to do all the artwork for the game, and yesterday she handed me these elaborate drawings. They were really well done - but not at all what I needed or envisioned. When we had been doing rough sketches, we had just drawn out the head of the unicorn and dragon, not full body pictures, so that's the image that I've had of it. Also, her drawings were so full of detail that you wouldn't have been able to read the text once it was put over. I think that if I want the images to come up the way I want, I'm going to have to draw them myself. This is going to be tricky, because I am in no way an artist. Uh-oh...

Monday, April 15, 2013

Comfort Zones

In Mr. Grazer's presentation on This I Believe, he mentions that you have to disrupt your comfort zones to really grow. This is something I've definitely noticed throughout the course of my project. The first phase was completely within my comfort zone - reading books was no stretch of my abilities. The second phase, though, was utterly foreign and overwhelming and I had no clue what to do or where to start. It was so new, and so out of my comfort zone, that if it hadn't been something I had to do for class, I'd probably have chickened out and given up. Now, three weeks into phase two, I'm so glad I didn't. I've not only been enjoying my work much more, but I've also learned a million times more from pushing my limits and trying new things than I had in the entirety of my phase one. It's been a great experience.

Thursday, April 11, 2013

Back to Work

Ack! I've been so caught up on working on my project that I've been forgetting to blog about it. So, a summary of what I've gotten done in the past few days: I'm now totally on Amazon Web Services, phew! It was a bit of a struggle getting there - I must have sent my sister a good 5 emails during the process. But it's all set now and my mini-crisis was averted. After that, I was able to start actually working on the program again. I've successfully (I think) added a button that will allow a user to leave the game, and I'm working on making an end game button. There're some issues where the tabs in my code don't copy over to the server, which is weird and really annoying, because those indents are kind of necessary for the code to work. I guess that's probably something I should look into...

Friday, April 5, 2013

Setbacks

Everything was going so smoothly until I got an email yesterday saying that dotcloud (the platform I was using to host my website) is going to be getting rid of their free option in about 3 weeks. Gah. Luckily, my sister did some research and found out that Amazon Web Services would be able to host it for free for the first 12 months. Not so luckily, it's way more complicated to use and especially to set up, so she sent me about a three page email of instructions. I can't really bring myself to look at it right now, and there's nothing I can do anyways, because it involves downloading a few things, so I have to wait until I get back to school and use the internet there. I suppose it's time for a break, though, since I've spent a good 25-30 hours on my project over the break.

Tuesday, April 2, 2013

NYC

Wow, I don't even know where to start. So much has happened in the last two days that it's going to be impossible to get it all down, but I'll do my best to summarize the main points. Needless to say, this is going to be a bit of a long entry - apologies in advance.

First of all, I just want to say that I have the best sister in the entire world. She uncomplainingly spent a warm, sunny day indoors working on coding with me for 21 hours straight, and even longer in total.

With that out of the way, I'll get to what we managed during that time. In a previous entry, I mentioned that I was only learning Python instead of all the languages I intended to learn. Completely null and void now. I can now say that I've successfully dabbled in Python, CSS, JavaScript, HTML, and MySQL. Yeah, I'm pretty sure I've learned more in the past two days than I have in the entire first phase of my project. I guess learning from a book really doesn't work for me, and I just need to get out and do it.

We decided that since I couldn't stay very long, it would be best just to get all the logic of the program done, and not worry about layout or catching errors or anything like that. All of that is stuff that I can do on my own without too much trouble, and it will probably take a long time anyways. So, we started off by creating a login screen. The screen doesn't contain too much, just gives you the option to login with a username and password or create a new account. Then, once you log in go to a new screen where you have the option to create a new game if there isn't one going on currently, or to join a game if there is one. The person who creates the game is automatically the judge, and once everyone who has joined the game chooses a red card (these will become "unicorn" cards once we get the drawings done), the judge gets to click on their favorite. That player gets a point, the next player to have joined becomes the judge, and everyone automatically gets a new unicorn card.

This all sounds pretty basic - it works like Apples to Apples, big surprise! However, it took ages to get this done, and it was pretty frustrating. Most errors were silly things and really easy to fix, but then some were super hard to find, especially as night turned to morning, since we were so exhausted by that point.  Sometimes variables weren't what we thought they were, or types didn't match up. At one point, an entire section of our code kept getting skipped, and we spent a good 20 minutes trying to figure out why. It turned out that we were comparing an integer to a string, so they came out as not equal, but we couldn't tell because they both printed out as "7". Another frustrating thing is uploading everything to the server. After every change you make, you have to "push" the code to the server,

which takes a good 3-4 minutes. Really annoying because you can't tell if the changed worked until that happened, and most times it takes at least a few changes to fix a problem.

Game screen
Login screen
In any case, we were able to work through all the problems we encountered, and get sososo much done. With my sister's help, I've reached a point where I can continue the rest of the work by myself - though it takes me a lot longer to fix errors by myself than it did with her. I'm working on creating a to-do list of everything I need to update or add or fix so that I don't forget, and that I never get lost on what I should be doing. Mostly now, though, I need to work on the layout and fixing anything that goes wrong. The game works if every player does the right thing, but it would be silly to expect that to always happen. Accidents always happen, and I need to get the code to prepare for that. There's still so much for me to do, but I've gotten a great start.