Peter Pham is a Phan of Phish.

Peter Pham is a Phan of Phish.
peter pham is a phan of phish

Tuesday, May 17, 2016

Final Blog Post! Course Reflection




Going into my last semester at SJSU I wanted to take a class that I was passionate about. I've always been a fan of video games and being able to create my own has been a small dream of mine. This class was the best class for me take, as it was a really relaxing atmosphere and really let me "play" with the class. As much as I learned to develop and program games, I never delved into game design. This class helped me improve my designer skills and really honed my ability to make a fun game.

For the final presentations I was really pleased with everyone's enthusiasm and passion for video games. I thought many just took the class to get an easy grade but it turned out everyone really enjoyed the subject material and had a passion for video games. Seeing everyone's hard work on their game pay off was also really cool as well. I was also pleased with the reception my team got when we introduced our game. Of all the projects that I worked on at SJSU, this was by far my favorite and most accomplished work.

In the end, I definitely read, wrote, play and design games. This class was a real blast and I hope more students have the opportunity to take this class and discover the important of play and making your own games.

Tuesday, May 3, 2016

Final Project Draft


The end has finally come. Only a few weeks left of school then I'll graduate into the real world. Pretty happy I chose this class as it was pretty easy-going with a very fun topic. For this final project, I opted to team up with a couple of friends. We decided to make the game in Unity as it gives us enough power to create the game we want to within this limited time-frame. It's been a couple of weeks and we still haven't though of a game name yet, but the core mechanics are pretty much finished.

The game is a side-scrolling shooter. The mechanics include changing and shooting different weapons and manipulating the direction of gravity. Our game would've been pretty boring without some sort of gimmick, so I added the gravity manipulations to make it more dynamic. The shooting mechanics are pretty solid as well. The player can shoot in a full 360 degree rotation and the character will point towards the mouse as well. This took quite a bit to program, mainly because the sprite looked weird if pointing directly up or down but I conceded that it would look better than way than limiting the range of motion.

The game also features two modes at the moment. One is an arena mode where you fight endless waves of enemies for a high score. We also plan implementing a single player mode that showcases the different mechanics in the game. Our prototype was just primer of all the mechanics and a fight with a very tough enemy to show that you have to master the skill of gravity manipulation in order to do well against tough boss. 

Overall, the experience was really fun creating this game. I ran into a lot of challenges programming the game but it was very satisfying seeing the work pay off some pretty fun gameplay. The hard part however is to polish the game and make it "juicy". 

Also programming shaq as the final boss was fun as well. 

Sunday, April 24, 2016

Blog Post 7: Technology Based Video Games


For this assignment our object was to play and study games that relied upon new technologies. The case example we were assigned to study is Ingress, a mobile game that maps the geography of the planet into a virtual world. Using the GPS on our phone's, the game is able to map our location into the world and forces us to move in the physical world to make interactions in the virtual world. Before starting the game, I was assigned as the Rebels, fighting against the Enlightenment. It was cool how many of the portals in the world were based on public land marks, and they even included a photo of the said land mark. However the novelty wore off after awhile as I was just walking around building defenses and pylons. One of the main things is that not much is going on in the app, making it very un-engaging. I roamed around with my classmates a bit and they too found the whole experience a little hokey after awhile. I forgot about my card assignment so hopefully I remember to carry out that mission once I'm back on campus. In the end, it's definitely an avenue that shows promise, but the applications that take advantage of this need to have more engaging content within the app itself. 

This game reminded me of the upcoming pokemon game which I thought was kind of disappointing in the trailer. Mainly due to the fact that the on screen content was just static images of pokemon where I wished we could be able to see into the virtual world through the phone itself, seeing 3D replications of pokemon using the phone as a magic mirror. However, that's just wishful thinking and rambling on my part. It'll be interesting to see how this type of genre grows once the Pokemon game is released and playable throughout the world. 

Thursday, April 14, 2016

Wednesday, March 23, 2016

First Playable!!!!!



Hello ya'll, been awhile since my last blog post...Frankly I'm a little tired so today will be another lack luster blog.

Name of the Game is BOSS BATTLEEEEEE. Because both me and the programmer were unfamiliar with GameMaker's capabilities, it's been difficult to implement the type of game we were aiming to make. What both me and Travis were aiming for was an arena style game where the player would fight a boss and a player counterpart before being able to advance a level. Each level would have a large monster and a humanoid character that the player would have to strategically fight against. It's like a cross between Titan Souls (Demon/Dark Souls clone) and Shadow of the Colossus.

Despite being relegated as the artist when I'm a programmer, I look forward to the challenge of making decent enough artwork for our game. I'm not a stranger towards making art for video games, as I have done so many times before for my own personal projects.

https://www.dropbox.com/s/8jh79jpa91qgs09/BossBattle.exe?dl=0

My main question for our players is if the game mechanics are good enough to be engaging and difficult. Having played the majority of the prototypes in class, I learned the games that caught my attention for the longest were the games that were the most difficult. I am hoping to implement that same level of challenge into our game, because I feel that is when you can achieve the most fun.

Thursday, March 10, 2016

Blog Post 4: Video Game Lab

1. This Is The Only Level
2. Prismic Shift
3. Wizard Wizard

Time for another blog! This time around we had to talk about our experiences playing and watching people play some games. Assignment was for us to play 3 assigned games and 3 games of our liking. Since I didn't have time to play games of my liking, I will be talking about the 3 games we were assigned.

First, my partner (forgot his name) and I played "This is the Only Level". It was a game where the layout and goal of each level was the same, but the controls changed ever so slightly as you progress through the stages.

Second, we both played Prismic Shift, and asteroid-like game where you could explode your ship to get more points. I played an earlier version of it before, so I definitely noticed the upgrade with the current version.

Lastly, I spent the rest of the class period playing Wizard Wizard, a very difficult platformer with the basic goal of getting a key to unlock a door.




Monday, February 29, 2016

Tree Prototyping!

So I completely forgot about this assignment and it's 3am the day that it's due. Hope you enjoy some nonsensical, delirium.

Assignment was pretty straightforward. Partner up with someone, think of a game in 15 minutes, then PROTOTYPE.

My partner was Josh something. All I remember is that he liked Halo and had a beard. I didn't have any interesting ideas so Josh came up with the idea of some sort of territorial acquisition game. However, after throwing random mechanics at the wall and looking at what stuck, we came up with a trench warfare type of game, where the core mechanics were similar to chess and risks. The following is a brief summary of our mechanics of each version.

Version 1:
Materials: 6x8 game board, units (small blocks), machine guns (gold coins), mines/bunker (cards), dice.
Rules:
Two players.
Each player gets 7 units and 3 machine guns. Victory condition is when opponent loses all machine guns.
Before game begins, players take turns placing their machine gun placements and units. Roll dice to determine who goes first.
Units can be grouped into 2 units. A unit can move 2 spaces, grouped units move If a unit encounters another unit, both players roll and player with higher roll defeats other unit. A grouped unit means extra chances to roll attacks.
If a unit occupies a machine gun nests, they must occupy it for 2 turns in order for it to be destroyed permanently.
Cards are placed in the middle of the field and if a unit enters it, they the number underneath determines a certain effect.
You can use a turn to replenish lost units to the amount of machine gun posts you possess.
Version 2:
Materials: 8x8 game board, units (small blocks), machine guns (gold coins), dice.
Rules:
Two players.
Each player gets 7 units and 3 machine guns. Victory condition is when opponent loses all machine guns.
Before game begins, players take turns placing their machine gun placements and units. Roll dice to determine who goes first.
Units can be grouped into 2 units. Number you roll is number unit can move. For groups, its the dice roll divided by 2. If a unit encounters another unit, both players roll and player with higher roll defeats other unit. A grouped unit means extra chances to roll attacks.
If a unit occupies a machine gun nests, they must occupy it for 2 turns in order for it to be destroyed permanently.
Numbers are placed in middle 4 rows. Before each turn, a roll is made. If a unit is on a number that is rolled, they are immediately destroyed. This simulates land mines.
If a unit is within 4 spaces away from a machine gun nests, a roll is made to determine if they are destroyed by the machine gun. 4-6 is a direct hit and any unit in line of site of a machine gun is destroyed.
You can place up to two bunkers which blocks machine gun fire. You may also replenish units on top of your own bunker.
You can replenish 1 unit per turn.

Version 3:
Materials: 8x8 game board, units (small blocks), machine guns (gold coins), dice.
Rules:
Two players.
Each player gets 7 units and 3 machine guns. Victory condition is when opponent loses all machine guns.
Before game begins, players take turns placing their machine gun placements and units. Roll dice to determine who goes first.
Units can be grouped into 2 units. Number you roll is number unit can move. For groups, its the dice roll divided by 2. If a unit encounters another unit, both players roll and player with higher roll defeats other unit. A grouped unit means extra chances to roll attacks.
If a unit occupies a machine gun nests, they must occupy it for 2 turns in order for it to be destroyed permanently.
Numbers are placed in middle 4 rows. Before each turn, a roll is made. If a unit is on a number that is rolled, they are immediately destroyed. This simulates land mines.
If a unit is within 4 spaces away from a machine gun nests, a roll is made to determine if they are destroyed by the machine gun. 4-6 is a direct hit and any unit in line of site of a machine gun is destroyed.
You can place up to two bunkers which blocks machine gun fire. You may also replenish units on top of your own bunker.
You can replenish 1 unit per turn.



Play Sessions:

Version 1:
Person I played with was Josh and we were just testing our ideas. Since we didn't know any meta strategies, both of us played conservatively. The game was moving pretty slowly, with us grouping all our units together and slowly moving towards the other person's trenches. 20 minutes would pass and neither of us made any progress getting rid of their machine gun nests. We changed the rules a bit, allowing the units to move a little farther, and Josh blitz my machine gun encampments, destroying all three because I had little defenses.

Version 2:
This time I played with Magic Mike Phe. Learning from the last time we played, I wanted this to go a little quicker so I allowed the units to move by the dice number you roll. This increased the playing time significantly and we were able to destroy each other's encampments pretty quickly. Since this was the second time I've played it, I adopted Josh's blitz strategy and destroyed Mike's encampments quickly.

Version 3:
The third time I played was against my brother. I didn't change much to the rules except for the fact that I made the map a little bigger. With more refined rules, and a bigger map, we had more interesting exchanges. The blitz strategy doesn't work quite as well since the map was a lot larger, but once a unit broke through the front lines, it was quite easy to destroy their machine gun nests.

All in all, the sessions were pretty entertaining and coming up with unique, dynamic strategies was a very cool experience. This blog is a little more dry compared to my last one because this is goes into more technical detail about the prototypes and experiences.

Monday, February 15, 2016

"Play" and Board Games

My blog post from last time was pretty cut and dry, lacking the self deprecation and silliness that was evident in my CS100W blogs. Therefore, it's time to NOTCH IT UP A LITTLE BIT EH HEH HEH!?!?!



I may or may not be inebriated during the writing of this post.


Anyway, our task as of last week was to play a couple of board games and write a future session report.

My four person party consisted of Mike Phe, a goblin from the land of Foon, Andrew Soto, another goblin of Foon, and Aidan Nguyen, a fellow countryman...of the land of Foon. You can get to Foon by entering the drive thru of the Burger King located on the "corner of Irving Park and Clark Street in Chicago, Illinois, USA."

Right off the bat, Dark Lord Morgan here forced ME against my WILL to introduce to a bunch of goblins the game of Carcassone. Luckily I wasn't yet dead or reincarnated, so nothing was violated within the contents of my will.

https://boardgamegeek.com/boardgame/822/carcassonne

Before we got to playing Carcassone, we decided it was more appropriate to play a simpler and quicker game. Andrew brought ZOMBIE DICE, a game pretty much about testing your luck.

https://boardgamegeek.com/boardgame/62871/zombie-dice



The goblin Andrew started the game off, and was immediately met with a couple of shotgun blasts, accruing ZERO BRAAAAIIIINNNSSS. Bigger question is, who's shooting the shotgun? Michonne? Bill? Shawn? World may never know. Aidan in turn was also murdered after having an unlucky two shot gun blast roll. Magic Mike, however, through some dark sorcery was able to roll a couple of brains before cowardly refusing to continue rolling for more brains. What a bad zombie.

I on the other hand, with precision and skill, rolled the most brains that round and had a very comfortably lead. Or so I thought.

Since I rolled so high the first round, I had a skewed perception of the odds of rolling brains instead of shotgun blasts. This in turn led me to aggressively continue to roll, which all ended with me getting any brains because the odds of getting a shotgun blasts were pretty high.

Andrew on the other hand learned his lesson and played way more conservatively, stacking his brains one by one until he initiated the end game by obtaining 13 brains, forcing the rest of us to roll in one last ditch effort.

Safe to say we left with a multitude of holes and Andrew stood atop our corpses as the winner.

In the end, I had a pretty good time playing zombie dice. Egging people to roll further and gamble is the core human experience...to failure. Which is why we do it so we can be the ones to stand atop the rest. HAHAHAHAHAHA. But yea, Zombie Dice is a game where being conservative is the way to win. HOT TIP. BROKE THE META.

Then we played Carcassone. But since we only need one session report for the completion of this assignment, YOU AIN'T GETTING ONE BUDDY.

Wednesday, February 3, 2016



Blog Post 1: Adopt a classic arcade game

The game I decided to play was Space Harrier. My only familiarity with the franchise was through Bayonetta, where one of the levels was an homage to the original Space Harrier. I played through about 8 levels before I got bored, which took me around 30 or so minutes. It’s a game that gives you an illusion of depth and space where you’re flying into the screen, shooting and dodging enemies. Space Harrier definitely had a spectacle that many other arcade games didn’t have. Some of the enemies were large stone faces or gundam-looking robots. The bosses were mostly all dragons, even a two-headed dragon where you had to damage its head. One of the most frustrating aspects of this game is how difficult it was to aim your shots, especially during boss fights. Only way to change the trajectory of your shot is to move in the direction of where you want to shoot and the momentum will carry your show. There is a little aim assist but it doesn’t help with the boss fights.

It was interesting to see how easily it was for a game to be emulated in a web browser. If I would have played this on an arcade, I probably wouldn’t have played more than a couple of levels since I would need to insert more coins if I were to die early on. I am grateful for the option to insert as many coins as I wanted to, but it removed any sort of challenge or sense of accomplishment as opposed to playing the game on an arcade cabinet where it was mandatory to insert coins to proceed (unless you’re really good.)


Overall it was interesting to see how old arcade games played back in the day and I felt I would have enjoyed my time more if I played it on the original hardware. 

Friday, May 16, 2014

Tools

This is the last week fellas, and here I am to talk about our final topic: Tool.



Tool is a progressive rock band based out of Los Angeles with a huge following. Their best album by far is Aenima, followed by Lateralus, 10,000 Days and finally Undertow. I got to see them live once and it was alright. Anyway, tool is also known for...wait, we're supposed to talk about TOOLS!? Dang nabit, alright alright.



This is the last week fellas, and here I am to talk about our final topic: TOOLSSSSSSSSSSSSs.

What sort of tools you might ask? It's obviously going to be software tools, this is a cs blog after all. Anyway, tools are what separates humans from animals. For a computer scientist, we are dependent on so many pieces of software, it isn't even funny. Heck, without electrical engineers creating the hardware, we wouldn't even exist!



So what is the most important tool for any computer scientist? Well, since I clearly represent all computer scientist in the world, the one tool I use every single time are IDEs. (Integrated Development Environment)
Oh ho ho ho, what is an IDE you might ask? Was hoping you would say that. An IDE is a piece of software that helps programmers, well, program. It allows us to edit source code, compile programs, debug our programs, and even interpret them without having use translate it into machine code. They're the every day man's tool box for computer scientist. I will go into detail about two IDEs that I have used in the past/

The first is Blue J! Don't use it, it sucks.

The second is Eclipse! This bad boy not only allows me to write my source code in a clean and slick looking environment, but makes it so much easier to just type code, see what methods a specific object has, and auto corrects any error in my code! How cool is that! Now I'm not a seasoned enough engineer to detail the details as to what makes eclipse shine, but do know that it can program in multiple languages using simple plug ins. So if you're ever thinking of becoming a computer scientist or want to give your own shot at programming, use eclipse! It's great!

And remember, AVOID BLUE J! It sucks almost as bad as the Toronto Blue Jays and Jose Bautista bribing twitter followers.



Tee, J. (n.d.). What's the big IDE? Comparing Eclipse and NetBeans. What's the big IDE? Comparing Eclipse and NetBeans. Retrieved May 17, 2014, from http://www.theserverside.com/feature/Whats-the-Big-IDE-Comparing-Eclipse-vs-NetBeans

Viswanathan, P. (2014, February 24). Comparing Java IDEs: Eclipse vs. NetBeans vs. IntelliJ. About.com Mobile Devices. Retrieved May 17, 2014, from http://mobiledevices.about.com/od/additionalresources/fl/Comparing-Java-IDEs-Eclipse-vs-NetBeans-vs-IntelliJ.htm

Thompson, G. (2008, June 26). A Discussion of the BlueJ IDE with Two of Its Developers: Michael Kölling and Ian Utting. Java.net. Retrieved May 16, 2014, from https://today.java.net/pub/a/today/2008/06/26/bluej-interview.html

Computer Science in Sports

There are two things I like in this world.

1. Technology.

2...SPORTS!

That's right, this bad boy computer science nerd here is a huge sports fan! Representing the Oakland teams baby! Let's go Athletics, Raiders and Warriors!

You're probably asking yourself, "UGH SPORTS IN MY CS BLOG?"
Well before you alt-f4, let me tell you that computer science and sports are related!!!!!!!!!


No that was not a joke. The subject of computer science is actually applicable to the sporting world today. The usage of analytics in sports have been on the up and up. Pioneered by the Oakland Athletics and their "money ball" theory, the usage of statistical data and programs to calculate that data has spread throughout all the different sports. Almost every baseball team uses saber metrics. Even basketball teams, such as the Memphis Grizzlies, are known to adopt the science and strategies or statistics and data into their scouting decisions.



Computer science is the discipline that gives these scouts and general managers the tools to record and analyze this data. Software must be built to capture the motion of an athlete, points of contacts and position relative to other players. Software must also be used to gather all the current statistics occurring from everyday games and are compiled into one huge database that every team has access too. Without computer science, baseball today would still have been run by the highest paying teams, like the Yankees or Red Soxs. Teams with a small market, such as my Oakland Athletics or the Tampa Bay Rays, wouldn't know how to exploit market inefficiencies and would have to scout out every player by eye.

So thank you computer science, you've allowed my Oakland Athletics to be a competitive team in a game where the highest bidder usual wins. (Stupid Yankees and Giants.)



Demaj, D. (n.d.). Demaj: Using GIS Software for Sports Analytics. MIT Sloan Sports Analytics Conference. Retrieved May 16, 2014, from http://www.sloansportsconference.com/?p=8387

Narducci, M. (2013, January 30). Memphis committed to analytics.HoopsHype -. Retrieved May 16, 2014, from http://hoopshype.com/articles/narducci/memphis-committed-to-analytics

What is Sports Engineering?. (n.d.).International Sports Engineering Association. Retrieved May 16, 2014, from http://www.sportsengineering.co.uk/students/what-is-sports-engineering/

Videogame Beta Testing

Do you like video games? No? Too bad, this blog post is about video games.
Did you ever wanted to play a game before it came out? No? Then you're probably playing the wii.
Did you want to make a living play testing video games? Yes? Then prepare yourself for some two-tailing action from misery and poverty.



Beta testing is usually after alpha testing when the product and program has already been internally testing. Usually in a beta test, the product is thrown to the wilds for the consumers to give a more realistic test of the product. It is unlikely that the test will force any changes. The best use for beta testing is to test multi-player servers in video games and to test the stress levels of those servers.



So why is being a professional beta tester so bad? Well for one thing, you aren't playing these games for fun, you are playing these games to look for bugs. So that means repeating very minute and trivial things multiple times to see if the game breaks or explodes. Also, you are working with a very early build of the game. This means you don't get cool death animations, crazy explosions, pumping electronic music or even voice acting. It's a lonely and soulless position to be in when you're a "true" beta tester.



Morrison, B. (n.d.). Gamasutra: Brice Morrison's Blog - The Truth about Being a Beta Tester. Gamasutra Article. Retrieved May 16, 2014, from http://www.gamasutra.com/blogs/BriceMorrison/20130514/192197/The_Truth_about_Being_a_Beta_Tester.php

Centercode for Video Game Betas. (n.d.).Centercode Beta Blog. Retrieved May 16, 2014, from http://www.centercode.com/beta/types/games/

Friday, April 18, 2014

Usability Testing

Howdy everyone! Welcome to this weeks' usabili-



Well that was embarrassing. How does one even test a blog post any-hoots? Bah, whatever, today's topic I won't actually be talking about usability testing...but instead I will talk about DISCOUNT usability testing. 

Who doesn't like a discount? 
Well...I don't! 
It gives me an excuse to impulse buy. So if everyone can stop asking for discounts...that would be great...


A TROJAN HORSE APPEARS! Before I can talk about discount usability I should BRIEFLY go over the basics of usability testing. It'll be quick, I promise. 

The gist of usability testing is to see how users respond to the product that you are creating. To do this they either have people out of the team test the product or they get experts to give their professional opinion on the product. All this testing allows the designers to figure out what's relevant, what's working and how the product is performing as expected. 


Usability testing isn't always the best strategy to evaluate your product. Recently, there has been a rise to a new method for testing your product. That's right, you've guessed it! The dreaded DISCOUNT usability testing! 

Here's a rundown of the dreaded discount usability taken from this article by Jakob Nielson:

1. A more simpler approach to usability testing. Having more isn't always better. Sometimes having 3-5 testers is  not only cheaper but can be more efficient in garnering useful results.

2. Paper protoypes! No need to spend hours upon hours designing algorithms and programs if you know what you want in your product. Write it down in a paper prototype and see what your users focus on in testing. Not only is this suuuuppeerrr cheap, it's also extremely fast since all you have to do is draw random doodles on paper.

3. Heuristic Evaluation! What is this? I don't know, let me google this real quick so you don't have to.
...
...
...
Got it! Heuristic evaluation is when the product is reviewed by a small set of people who follow guidelines called heuristics. There are 10 of them, and unfortunately, I can't go over all of them. Therefore I'll leave this link here, and just list a couple: visibility of the product's status, common language, user control, consistency, error prevention, recognition, flexibility, aesthetic and a couple more. Following these guidelines lets the designers think more from the user's perspective and gives them a better chance to create a product tailored for the consumer.

Now that you know more about discount usability testing, it's a little obvious why it's better than the old draconian methods of the old usability testing. Due to the cheaper nature of discount testing, it also means more tests and quicker results. 

So on you go with this new found knowledge! At the end of the day none of this matters because the consumers will always find something wrong with your product regardless of your limitations! Life just isn't fair...



References:

Nielsen Norman Group. (n.d.).Wireframing and Prototyping. Retrieved April 19, 2014, from http://www.nngroup.com/courses/wireframing-and-prototyping/



Tuesday, March 25, 2014

Out with the News and in with the Blogs.





Here ye here ye, the time of traditional news media is over and the time of blogs is now upon us. No longer will we be fed the same old drivel of monotony and "journalism" present in these draconian news papers. Today we shall feast upon the majesty of what we bestow the name of blogs and the art of free speech and open thinking!

Anyway, blogs have taken an increasingly important role in the way we consume our media. Almost every website that generates daily content utilizes blogs. These blogs cover topics ranging from news, sports, games, politics to any sort of topic that has an opinion one way or another. However, blogs have also been increasingly used to display an author's expertise in a field, such as art portfolios or technical blogs. Blogs have now evolved into something much greater than the occasional drivel of a person's adolescent meltdown.



So what makes blogs so damn useful in conveying information that something like a traditional news paper or television broadcast can't provide? For one thing, it is universally available to anyone with a decent internet connection. Put the link in your browser and you're there. No more having to pay the paper boy a quarter for some news or waiting until the Big Bang Theory is finished to catch the latest news. You can now just head to the all-purpose internet and get any information instantly!

Another is that it is easy to find the information that you want. News broadcast are notorious for not giving you the news you want immediately. They may entice you with a shocking headline, but then broadcasters force the viewers to watch a commercial or other boring news before you finally can get the piece of information you want.



With a written blog on the internet, you can immediately scan the text looking for the most important bits of information available. Also, with the advent of twitter and social media, blogs are easily passed around through "word of tweets" (haha see what I did there no you didnt because it was a bad joke) and thus viewers are immediately alerted when an important piece of news hit. No more having to sit around the couch or waiting for tomorrow's newspaper to catch the news, blogs will give you what you want when you want it!

So yea...blogs are pretty darn integral to the way out society operates. Hell, without them you wouldn't have seen this off-the-rails rant about blogs! Oh lucky you.


References:

News vs. blog. (n.d.). Chalkbeat Colorado News vs blog Comments. Retrieved April 19, 2014, from http://co.chalkbeat.org/news-vs-blog/

Root-Wiley, M. (2011, December 6). Labels Matter: "Blog" vs. "News" | Blog | MRW Web Design. MRW Web Design. Retrieved April 19, 2014, from http://mrwweb.com/labels-matter-blog-news/

Tuesday, March 18, 2014

Week 4 - QR Codes

Uses of QR Codes

For some reason QR codes have become the hot darlings in the tech industry today. You can see these codes displayed in a variety of instances, such as blogs, name tags, posters or even on your television. Before I go into their different uses, what are these codes and why are they so prevalent in today's social media?

First, QR codes "are a type of two-dimensional barcode that can be read using smartphones and dedicated QR reading devices, that link directly to text, emails, websites, phone numbers and more!"
Wow, thank you whatisaqrcode.co.uk, your explanation of QR codes is very succinct. 

Anyway, they're popular because of the reasons specified in the quote, which is the ability to direct people who scan these qr codes to various websites, texts, emails, etc. 

But enough on the history of QR codes, let's learn some of the more interesting cases to use QR codes. 


NUMBER 1: VIDEO GAME SHENANIGANS
That's right, you can scan QR codes in video games! How cool is that? But what do you gain from scanning qr codes in a video game? Well, they can be used to give players hints, rewards or even ACHIEVEMENTS.

Here's an example of QR codes used in the indie plat former Fez. 



In this case, scanning the QR code gives you a text that displays various combinations of RT and LT. If you were to push in the right trigger and left trigger of your video game controller, and follow the commands precisely, then you can gain a nice reward! Definitely a cool and interesting use of qr codes...I hope. 

Now, moving onto the next interesting use of QR codes...

Which is none. They are not that interesting. Seriously, why are they so popular? Beats me...


References:
Chariton, G. (2011, August 15). The pros and cons of QR codes. Econsultancy. Retrieved April 19, 2014, from https://econsultancy.com/blog/7884-the-pros-and-cons-of-qr-codes#i.v0lc34pg0duyty

What is a QR Code?. (n.d.). What is a QR Code?. Retrieved April 19, 2014, from http://www.whatisaqrcode.co.uk/

Saturday, March 15, 2014

Cyber Security - Gotta Captchem all.

This week’s topic is something relevant to Cyber Security.

If you are any normal denizen of the internet, then it is highly likely that you have run into the infamous CAPTCHA!



Short for “Completely Automated Public Turing Test to tell Computers and Humans Apart”. (Makes you glad that they decided to refer to it by abbreviation only.)

CAPTCHA is a security test that does more than just annoy you (shocking I know). Its “real” purpose is to protect websites from bots. These bots are programmed to either automatically register for accounts or influence some sort of online poll/contest. This can be real annoying towards the admins if a site’s community of say a 100 strong is suddenly populated with a couple thousand “xxNorrisVSLee1820x” every day.

Or we can use this blog as an example. Were it not for captcha, then there is literally NOTHING (aside from a global EMP wiping out all electronics) stopping bots from spamming this comment section with something asinine such as “chunky bacon”.

So how does captcha stop these little spamalot gremlins? First they make the users (in this case the bots) type something. The catch is that what they have to type are images of complex arrangements and shapes, meaning that since bots can only recognize what is typed on the screen or some standard font, the bots cannot decipher complex images or shapes. However, one advantage humans have over bots is our ability of pattern recognition and ability to read abstract symbols. A pretty cheeky way to one up skynet!  



So next time you’re inputting text into that pesky captcha, know that this is a necessary evil to…well to be honest, why should we care what happens to the site owners? It’s not our problem. THE INTERNET ISN’T SO CHARITABLE!



CAPTCHA: Telling Humans and Computers Apart Automatically. (n.d.).The Official CAPTCHA Site. Retrieved March 12, 2014, from http://www.captcha.net/

How to use CAPTCHA. (n.d.). How to use captcha, understand, use and implement captcha, to protect your website againstspam and form spamming, and captcha explained. Retrieved March 12, 2014, from http://www.captcha.tv/

Monday, March 3, 2014

Open Source Software - Why the video game industry needs to release open source games.

One of the largest problems facing the AAA video game industry right now is the exuberant costs of developing a video game. Talk to any game producer and they will tell you that having a game ship is darn close to a miracle. These games are shipped under tight deadlines and are often finalized with a plethora of bugs and optimization issues.

A recent example of this issue is the launch of Battlefield 4 in late 2013. Fans of the previous iterations were expecting an absolute flawless gaming experience. However they were instead met with game-breaking bugs and crashes. Some examples? How about spawning directly underneath the terrain, unable to move or play the game. Or emptying an entire clip of your weapon in an enemy only to be killed in one shot because the game didn't register your damage output. Or even having your game crashed randomly because of reasons. These are some of the experiences that fans of the game voiced during the release of Battlefield 4.

Here is a sample of bugs/issues that D.I.C.E posted during the initial release week:
http://www.ign.com/articles/2013/12/10/battlefield-4-bug-tracker-shows-status-of-major-issues


So how does open source play into all of this? Well for one thing, those outrageous developing costs go out the window. No more having to create your own engine, physics system, scripting, AI or even network infrastructure. These are some of the most time consuming and problematic aspects of gaming, and having source code readily available for developers to look at gives them the opportunity to work on what really matters - asset generation and game design.

Another benefit of having video games go open source is that bugs and glitches are fixed at an exponential rate. Having the source code open to the public allows fans of the game to freely modify the game to their liking and to even fix those "petty" bugs people love to complain about.

A prime example of how this works - in theory - is the modding community in video games. Let's look at Dark Souls 2. The game released on PC with only a native resolution of 1024x720. However, Durante - a fan of the game - released a mod called DSfix that fixed the resolution issues and optimized the performance of the game itself. Not only did this fan pay for the broken game, but he also fixed it FOR FREE. This is the epitome of what open source is about, the community working with the developers to create a vastly superior product.

Oh and here is an example of how the resolution affects the looks of the game:




So it's pretty clear - at least hypothetically - how open source would fix the myriad of problems involving game development. Games costs less to make, which in turn means more attention to game design and art generation. Games will also have their bugs fixed free of charge by the very people buying the video game! 

Therefore, I propose to all the budding developers out there, RELEASE YOUR CODE! 

Less your game ends like this
Unless you think this is amazing, then by all means protect your code.






Sunday, February 23, 2014

CS100W Summary

Welcome to my blog! This is where I will publish posts on various computer science topics. First assignment, a summary fit for a resume!

I am a young computer programmer, currently developing skills to become a full-fledged developer. Spending a year taking business courses has given me a vision of the types of products I want to develop for the end-user, specifically apps that optimize a person’s productivity and life-style. To achieve this goal, I have begun studying SQL and Ruby on Rails during my off days, while at the same time getting hands on experience working with Java during my coursework. Currently, my programming and computer skills are as follows:

- 1 Year coding in Java
- 6 Months coding in C

I am also tinkering with Unity and the Android SDK in order to produce my own video game as a fun hobby. I find creating things that give users a more pleasurable overall experience is extremely satisfying, and gives me the opportunity to express my creative side. For those interesting in a budding programmer, foaming at the teeth to get real work experience, email me at phamanpeter@gmail.com.


Also, visit my Linkedin profile at 
  • www.linkedin.com/in/peteranpham/
















    Thanks for enduring my first blog post. I hope I didn't bore you too much that you were playing Flappy Birds while reading my summary...

    As a sign of my apology, accept this picture of a moo-shark. 

    moomoomoo