Wednesday, September 19, 2018

New Website & Bank Showdown Updates

Hey everyone! It's been another few months, and a lot of things have happened! I'll be talking about my two month trip to Japan in an upcoming post, but for now, I would like to mention my new website and an update on Bank Showdown.

---Personal Website---


Progress: Complete (for now)
Languages: HTML, CSS, JavaScript

So, I got back to Taiwan after my two month trip to Osaka, and decided that it was time to get serious with everything. Like, really more serious than ever before. I started to work on my own site, but things were pretty slow. Instead of working on my own site (at the time), I decided to focus more on reading a couple textbooks and taking a Computer Network course (that I have completed) on Coursera. A textbook I read some bits of is Game Programming in C++, by USC's Sanjay Madhav, who seems like a really cool dude who knows a ton about SDL and C++. 

Anyways, I got back to LA in early September, got my stuff all set up at my new apartment, and started grinding on the new website for around two and a half weeks. I estimated about 120 hours of research and actual coding, and it took all of my HTML and CSS skills. The JavaScript bit was a bit on the low end, but those special effects and animations are small additions I can make to my site later on. You can actually check the site here. If you have any comments or criticisms, feel free to comment them or shoot me an email. I am not super experienced with site building, especially from a blank document. This is a great opportunity for me to really build up a solid foundation of front end design skills, as (visual) art is a really tough subject for me. 

I'm pretty proud of it, despite many minuses here and there. If only I had more time to make more websites... that would be great. Okay, now let's talk about another project...!

---Bank Showdown---


Progress: Complete (for now)
Language: Python 3.6

So I finished the multiplayer mode for Bank Showdown a couple months ago, and multiplayer is generally pretty easy to program because it simply consists of running a function two times, but with two different parameters, then running a bunch of tests and things to create an effect depending on the choices both players made.

I decided in the past that I would probably make around three difficulties (or two if I was lazy), and today was the day it happened! Easy mode and Normal mode were relatively easy to code, but Hard was a challenge. In fact, it was not really the coding that was difficult for Hard mode, but rather thinking of how a human would outsmart their opponent when playing a game like this. I spent a while drawing all over my huge whiteboard and mapping out potential situations given certain scoring situations, and even made a few more functions and variables to help me obtain data that the other difficulties otherwise wouldn't need. Examples of this include checking the player's previous move history, and the computer's previous move history as well. I tried to find a creative way to write it, and I think it went well in the end. After coming up with a decent algorithm for the AI, the implementation was pretty easy.

This wraps it up for my talk on Bank Showdown and my site. You can check out Bank Showdown here - do give me a star if you end up not being able to beat Hard difficulty in under three tries... or even if you do, I would love a star for the time you've spent on it... haha! Regardless, I had a really great time thinking up of ways the computer can trick the player and make life difficult for them. I hope to make more small to mid scope projects like this in the future.

Let's go Bruins!

1 comment: