Sunday, November 30, 2014

Weekly Blog 13

Not much I can say about this week because it was over Thanksgiving Break.  Right before I left for the break, I participated in an awesome play test with some 4th graders for my group's HFOSS XO game.  The 4th graders responded extremely well to our game and the whole event was a great time.  To read more about that, check out my blog post specifically on this play test.

My DSA class required me to improve on the obstacle spawning that was implemented in the last assignment.  This was a bit of a pain because I completed almost the whole walkthrough but struggled on the very last part.  As a result, I ended up disabling some of the features and simply uploading what I was able to fix.  Next week, we are supposed to add some collisions to the game engine, which I am excited for.

My Rich Media class continued working on some cool Ajax stuff, specifically working on some more difficult PHP.  We had to figure out how to load some jokes stored in JSON using PHP, and then figure out how to set the jokes again using PHP.  This was a pretty cool assignment and although I find the constant ICE's to be a lot to continuously keep up with, I can definitely see a ton of use for what we are learning.

Luckily, my GDD class got a bit of a break during this short week.  On Monday, we had a work day where we all worked on our projects at our own pace.  My holiday was a lot of fun and I loved going home to see my family :)

Pre Thanksgiving Playtest!

Recently, I attended a play test event at Allendale Columbia School (http://allendalecolumbia.org/).  The play test was headed by my HFOSS teacher and we conducted the test to see how 4th grade students responded to our class project games.  Myself and MrNex (github.com/MrNex) showcased our game for a class of 4th graders, and I was actually quite pleased with the response we got.

The iteration of our game "Matter" that we displayed was a fairly simple python game written using PyGame(http://www.pygame.org/news.html) that involved a square that could move up or down based on how quickly the player was moving the mouse.  The game is educational in that it is meant to instill or reinforce the idea that molecules in matter move faster in a higher state and slower in a lower state.  Although the students did not completely get the educational part of the game at first, they really enjoyed playing.

We noted several changes that the students wanted to see in the game.  First off, there were several glitches that they noted, such as the fact that the player block would get sucked into the obstacles if there was a collision at a specific point.  The students also noticed a glitch where the player block would get stuck to an obstacle for a little while and not be able to move up or down.  In terms of changing elements of the game, we found that the students did not really see a goal at first, but when I started asking them how many obstacles they passed, they started to keep track and try to get a high score.  Due to this, I noted that we should add an objective, or at least a score counter in the game.

Surprisingly, the students did not say anything about how the game looked and actually really seemed to enjoy playing.  We had quite a crowd of kids around our XO Laptop which was great to see.  After the play test, we sat with the class and both asked, and responded to questions.  I was happy to see that so many of the kids wanted to either get involved in a game making field, or even just become programmers.  It was also cool to find out that the students have already begun making games and programming in Scratch(http://scratch.mit.edu/) at such a young age.  Definitely my favorite part of this experience was actually feeling appreciated for the work we are doing and knowing that it is going towards a good cause.  So many of the other play tests I have been involved in consist of allowing other college students to play my game and although college students may be more critical than the 4th graders, they don't seem to actually enjoy the games as much.

Sunday, November 23, 2014

Weekly Blog 12

As with every other week, I continued trekking through the swamp that is my life of assignments.  In DSA, we were assigned a GameObject spawning homework.  Basically, what we had to do was add a feature to our game engine where if the user clicks, a sphere is spawned on the screen.  This was not too difficult when I read the walkthrough and it was actually quite enjoyable because I saw the potential for a pretty cool game project after this assignment.

In my Rich Media class, we continued working on Ajax, moved into PHP and did some cool ICE's implementing the Google Maps API.  In my GDD class, we got a basic game layout done for play testing.  We have a game where the player controls a character that can move left and right in a platformer style.  Different blocks affect the player in different ways.  For example, the player can hit jump blocks that sends them flying in the air.

In my Video Art class, we got assigned our final project.  I like getting assigned final projects early because it allows me to get a head start on the project and not have to stress about it later in the year.  This is also why I was happy to know what our HFOSS project was going to be from the very first few weeks.

Tuesday, November 18, 2014

InterlockROC Meetup 2

This past Saturday I drove myself and my friend MrNex(https://github.com/MrNex) to a Linux Workshop meetup run by Interlock Rochester(http://www.interlockroc.org/).

The description of the meeting according to Carl(carl@interlockroc.org) states: "Come and get your questions about Linux answered. We have experts on hand to fix problems and answer questions about Ubuntu and FOSS. Bring your system in so we can help you get the most from your FOSS.". After having attended the meetup I can say that Carl's description is spot on.

Although I had no experience with installing or using Linux(or really any other operating systems aside from Windows and Mac OS) I was very interested in broadening my knowledge of operating systems especially with an open source one like Linux.  I had a friend in high school who ran Linux off of an external hard drive on his half broken laptop, and I always thought the operating system seemed pretty cool.  Then through taking my Humanitarian Free and Open Source Software class and reading up about Linus Torvalds, my curiosity was further peaked towards Linux.

As Carl's description states above, there were several experts at the meeting.  The 2 that helped me the most were Joe(IRC Handle: dzho) and Carl himself.  After MrNex expressed our shared interest in getting Linux installed onto our laptops, the 5 members attending the meetup were extremely generous in shifting some of their attention into helping MrNex and me out.  Joe went up to the white board and was kind enough to go so far as to draw diagrams showing us how dual booting and virtual machines work, and which support each Operating System.  Joe said that for dual booting Linux on Windows, we should look into either NTFS or FAT32, although FAT32 has memory restrictions.  It was also highly suggested that we simply run Linux in a virtual machine, which we ultimately carried out with the suggest VirtualBox program(https://www.virtualbox.org/).

The process (for those of you who care) was actually a lot easier than I thought.  I had to download the VirtualBox program.  Then, I had to grab the OS that I wanted, which was initially RedHat Fedora(http://fedoraproject.org/).  Unfortunately, Fedora was giving an ETA of about an hour so Carl kindly allowed us to borrow his latest copy of Ubuntu via CD.  Turns out carrying around a copy of an OS can actually be quite useful especially depending on your career!  After VirtualBox installed, all I had to do was set up a new virtual operating system machine and specify which OS was to be installed.  Then I navigated to the disk(or ISO depending on which type of disk you mount) and set it to boot.  After the machine boots, I just had to go through the installation process, which was basically just continuously clicking "YES".

Overall, I really enjoyed this meetup and I am hoping to attend more Linux User events to get more involved both in developing on the OS, and also in the community.  I find it extremely intriguing that such a handy OS could have been the product of a lot of open source hacking.  I can honestly say that the members of the group were incredibly generous, welcoming, and helpful.  They never made me feel like I was inferior despite my extreme lack of specific knowledge with Linux, and I was amazed at how they instantly were willing to help with any problem that I had.

I had a ton of fun at this Interlock Rochester meetup and would highly recommend that anyone with any kind of interest in Linux attend the meetings.  The meeting was held in a brick building complex on I believe the 4th floor(can't remember exactly), and signs are posted for the location.  I think I entered the building through a door near a comic book store.  The actual room where the meeting was held was a super neat "hackerspace" with gadgets and cool stuff everywhere.  To find the building, I recommend just using a GPS and looking up "Interlock Rochester" :)

Sunday, November 16, 2014

Weekly Blog 11

Received my Project 2 for Rich Media this week.  That was fun.  Requirements for Project 2 in a nutshell:

  • Use 2 Web API's to fetch data
  • Use XHR to grab the data to your web app
  • Display the data through a stylized page
This project is actually a lot of work.  I have to find 2 web API's and then figure out how I am going to mash them together to make a useful web app with them.

In other news, this week in my DSA class, we had an assignment where we were supposed to optimize our game engines.  Basically what was slowing the engine down is that we were loading textures into the engine in an inefficient way, so we had to edit the code to speed that up.  As I mentioned in an earlier weekly post, I don't enjoy 3d Graphics Programming, but luckily, it actually wasn't that difficult to speed up our programs, because the walkthrough was pretty clear.

My friend and I started really trying to get some code up for our XO Project.  We hoped to have something playable by the Pre-Thanksgiving Playtest with 4th graders.  Again, for more information on this, see my other blog posts.

My GDD class began working on our 3rd and final game projects.  My group decided to work on another digital game much to the disappointment of one of our group members.  We brainstormed ideas and decided on a versus game where on player is a prisoner, and the other player is a prison warden trying to stop the prisoner from escaping.

Sunday, November 9, 2014

Weekly Blog 10

This week I finished up a bunch of my projects.  For my GDD game, we finished a bunch of levels.  I personally created the png image files to create about 9 levels and people seemed to receive the game quite well.  One complaint was that some levels were much easier than others, which is something we can improve on in the future.  We also changed the art style so that the player no longer controls a circle, but they now control a rat with a cool tail that trails behind.

My DSA class was quite difficult this week.  We received an assignment that involved getting texturing implemented into our OpenGL 3d game engines.  This proved to be quite a pain because I followed all of the steps on our walkthrough and still had trouble getting the textures to show.  Specifically, we were supposed to set up texture coordinates and get a texture/image to appear on the shapes in our engine.  This was probably one of the most confusing assignments I received all year, so I truly commend and wish good luck to anyone in the field of graphics programming.

My Rich Media project was handed in, so I worked on a lot of ICE's this past week.  We started learning XML and some Ajax this week.  XML stands for extensible markup language and Ajax stands for Asynchronous Javascript and XML.  These are both pretty cool to implement in web development because they allow us to store and fetch data and update webpages in real time without the user needing to refresh a page.

Election Day Hackathon

For Election Day, I attended a Hackathon at RIT's MAGIC Center(http://magic.rit.edu/main/index.html) and if you ever get the chance to go there for any reason, I highly suggest visiting, because it's awesome.  There are 9 projectors on the ceiling projecting an almost 360 degree view around the room.  For this specific hackathon, we had a ton of election statistics being projected on a bunch of the views which was awesome, especially since I was informed that the statistics we had were as up to date as could possibly be.  Although I find politics interesting, I am extremely ignorant in that field and so I didn't really pay any attention to the stats, but I still thought it was pretty cool!

One of the other things being projected was an IRC channel with a bot that allowed us to control both the what songs we wanted to queue up collectively as a group, and what level we wanted the volume at.  We also had some lightning talks/presenting going on, and it was really cool to see some of the projects people were working on.

Personally, I, MrNex(github.com/MrNex), and Dtendr(github.com/dtendr) worked a bit on our XO open source project for HFOSS class.  The hackathon was great because it gave us the chance to work out some key points of our project, and to do so in an extremely open and social environment.  There was some really great food there, like pizza and chips, both of which I ate too much of.  With the help of my teammates, I was able to install Python 2.7(https://www.python.org/download/releases/2.7/) and really get a good grip on how the existing code works.  Again I highly suggest visiting the RIT Magic Center at some point if you get the chance, it is very open and everyone is friendly, and I recommend attending hackathons in general if you get the chance.

Sunday, November 2, 2014

Weekly Blog 9

This week was interesting.  Play testing of my GDD game is going quite well.  The professor and students seem to be responding quite well to the controls of the game, the simple shapes theme, and the fact that our game is built in Java from scratch.  So far we have very fleshed out engine that is able to load maps from image files.  The engine recognizes what colors are in the image and creates blocks that correspond to each color.  A blue block means the user will bounce off, a yellow block is a starting block, a green block will set a checkpoint, a red block will send the user back to a checkpoint and a light blue block will send the player to the next level.

I also forgot to mention that for my HFOSS class, we began a project where we will be developing an educational game for an XO laptop.  This is a super awesome project that you can read about in my other blog posts.  Basically, we are using the 4th grade science curriculum to build a game to teach about the different states of matter.

Lastly, for my Rich Media class, I submitted a pretty much finalized version of my project.  The game is mouse themed.  The player controls a mouse at the bottom of the screen.  The mouse can move left or right into various columns of the screen.  The player must navigate the mouse so it can eat the cheese that falls from the ceiling.  If the mouse collides with any poison falling from the ceiling, the player loses life.  After 3 hits, the player loses the game.  At the end of the game, the final score is shown, and the player can try again.

Although, that accounts for all of the classes that are centered around software development, I should also mention that this week, I completed my second project for my Video Art class.  I wrote an essay about how my perspective was altered through watching the works we watched in class.  Since this blog is mainly centered around developing software and Free and Open Source Software, I won't go into much detail about my Video Art Class, but I definitely suggest looking into Video Art if the name interests you, or you want to experience something new and cool.