Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.
Jonathan Doe
1600 Amphitheatre Parkway
Mountain View, CA 94043 US
(123)456-7890
anyone@website.com
Master in Graphic Design • April 2007
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. Nullam dictum felis eu pede mollis pretium.
B.A. Degree in Graphic Design • March 2003
This is Photoshop's version of Lorem Ipsum. Proin gravida nibh vel velit auctor aliquet. Aenean sollicitudin, lorem quis bibendum auctor, nisi elit consequat ipsum, nec sagittis sem nibh id elit. Duis sed odio sit amet nibh vulputate cursus a sit amet mauris. Morbi accumsan ipsum velit. Nam nec tellus a odio tincidunt auctor a ornare odio. Sed non mauris vitae erat
Senior UX Designer • March 2010 - Present
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. Nullam dictum felis eu pede mollis pretium.
UX Designer • March 2007 - February 2010
This is Photoshop's version of Lorem Ipsum. Proin gravida nibh vel velit auctor aliquet. Aenean sollicitudin, lorem quis bibendum auctor, nisi elit consequat ipsum, nec sagittis sem nibh id elit. Duis sed odio sit amet nibh vulputate cursus a sit amet mauris. Morbi accumsan ipsum velit. Nam nec tellus a odio tincidunt auctor a ornare odio. Sed non mauris vitae erat
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
I have found that recreating an existing program in another language is a challenging and valuable way to gain experience. Especially if that language is something basic, like the 2D online graphing calculator Desmos. At its core, programming is just math. Variables, constants, and functions are the same in both. An “if” statement can be represented as a piecewise function. A ticker in Desmos serves as a “while” loop. In both math and coding, you provide an input value, perform calculations, and get an output value. Once I understood these concepts, I easily found Desmos to be one of my favorite coding languages.
Figuring out how to represent the third dimension on a 2D screen has always been a fascination of mine. My first interaction with raycasting was through a tutorial series published on YouTube by Griffpatch, in which he designed a game using raycasting in the block-based language Scratch. I followed this tutorial in Desmos, however some of his methods did not translate well, such as moving along the ray until it hit a wall. This required a “while” loop, which at the time I was not familiar enough with. My workaround was to generate a curved array in front of the player, which can be used to find the walls.
This first successful raycasting engine I made had a lot of problems, including non-intuitive controls, moderately inaccurate distance calculations, and the common raycasting “fisheye” bug. Later, I came across a website detailing how the original Wolfenstein 3D video game had developed raycasting, and decided to scrap my code and start again. The new version took much less experimentation, and the document translated well into Desmos. I fixed many of the problems I had with the original program, and was even able to add a joystick, collision, and an easily configurable map.
View the project’s creation through these links:
As soon as I saw someone had figured out player input in Desmos, I wanted to make a game. Pac-Man was an obvious choice, as it had few controls, was relatively simple, and had extensive documentation I could reference. I wanted this version to be as true to the original arcade game as possible, including all of the bugs and features. Luckily, I found a document called “The Pac-Man Dossier” which detailed every aspect of the game, including a history section.
When creating the game, I took it one step at a time. I first figured out how to make the maze, then made my code work for any size and configuration of mazes. Then I coded the player, complete with cornering and an inability to u-turn. Continuing on, I created the ghosts, with their intricate movement patterns. At one point I had to rewrite a large portion of the code, as Desmos runs much slower than the Pac-Man CPU.
Though I didn’t end up implementing all the features, the game is at a point that I am exceptionally proud of. Looking at the Desmos graph, you might not even realize that this is running on an online calculator.
Try out the project with these links:
Algorithm used to determine CPU speed
Since high school, a friend and I have been working on 3D graphics. We started off just moving a point around the origin, but quickly figured out how to do lines, then transparent planes. As of now, the project can render 3D convex objects with lighting, perspective, and (Non-ambient) occlusion.
View the project’s progression through these links:
For my Computer Science Principles final project, I had to create a program in Python with functions or file input/output. This was easy enough for me, especially as I felt quite proficient in Python, so I wanted to create a project that I found useful. Unfortunately for my opponents, this ended up being a Words with Friends cheat.
I knew that I wanted a brute force algorithm. By entering the board state, the letters in my hand, and utilizing a dictionary, I could find every possible move I could make, order them by point value, and determine the optimal word. It would take a LOT of nested “if” statements and “for” loops, and many comments to make sure I didn’t get lost in my code.
After two failed iterations and two successful ones, the code was still extraordinarily messy, but functional. If I were to re-do it today, I would organize the program into subroutines, refine my comments, and most likely use a better output system than ascii art.
Download the final project here:
For a C++ final project, I decided to make a game that combined elements of both Pong and Breakout. This project was a new step for me, as before this I had never used graphics libraries, which now are an important part of my programs. In the project, you control a pong paddle versus a bot-controlled paddle (Or player controlled, if you change the config settings), but between the players there is a pile of Breakout bricks, which can give you powerups. The challenge of this program was creating multiple of one object using classes, as well as writing collision code for the balls against every shape and size of rectangle in the game.
Download the final project here:
For a long time, Unity seemed like a very powerful, yet very confusing tool. Because of its complexity, I never attempted to create projects using it, however after taking a c++ class, Unitys c# is very familiar to me. In the future, I want to use this to create many projects, but as of yet I have made one project, 3D minesweeper. Coding the game was simple, as I had already written minesweeper in 2D on a TI-83 calculator, but creating my own movement and camera scripts was a challenge.
Download the project here:
My experience with programming started with block-based programming language Scratch, during summer camps in middle school. A few years later, I decided to revisit it, and made three simple games. I continued making projects in Scratch, and to this day I have shared over 40 projects, including small arcade games, concept testing projects, and interactable art.
Some of my favorite Scratch projects include:
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit.