Thursday, December 15, 2011

GDD110 Portfolio

Since I'm primarily interested in programming, but still enjoy game design, my portfolio will include a number of programs that I have written, several of which are games. Everything included in this post is meant for Option 7 of the GDD110 final portfolio assignment.

#1) Arena Shooter

The following game was made in 4-6 hours. The purpose of this was to start and finish a short, simple computer game using Game Maker with a limited amount of time. The game is complete and functional, but has a number of design flaws.

The game does not use any images for its graphics, nearly everything is made with simple circle- and line-drawing functions that are built into Game Maker's programming language.

The major problem is with the gameplay. There are several different enemies that the player fights, and most of the player's time is spent running away from the smallest type, which chases the player relentlessly when it gets within a certain distance. The other enemies are little more than distractions, something to avoid running into while fleeing from the little guys. The max number of each enemy in the game is determined by the player's score, and the game checks every few seconds to see if the number of enemies is below the max. If it has, it will spawn however many are missing in random locations across the screen. This ensures a constant supply of the small chasers, which in turn prevents the gameplay from changing significantly.


Download Arena Shooter v1.0.exe

#2) Square SHMUP

The name sums up the entire game - it's a simple scrolling shooter with graphics made out of red squares.

Scrolling shooters are relatively easy to design and program, which makes them an ideal project for beginners. I started a number of scrolling shooter games during middle school and high school, and this is the most recent. The result, although incomplete, is a functioning game with passable gameplay. Although the graphics are very simplistic, I was very pleased with the game's appearance.

One of the game's biggest issues is the lack of a level structure. When I programmed this game, I wasn't interested in designing levels. So instead of following a previously designed level structure, the game will randomly spawn enemies every few seconds. The pool of enemies from which the spawner chooses grows with each wave. But this is very repetitive, and won't remain interesting for very long. To make this work, I would need to make the game very fast-paced, provide a large assortment of enemies to fight, and create a more sophisticated system for randomly spawning enemies.

Download SHMUP.exe

#3) Text-Based Minesweeper

This is a small project I made because I was interested in using text to replace a GUI. Minesweeper seemed perfect for this: it was a simple game that I could easily implement in Java and the UI is essentially a grid, which can easily be represented with command line text.

This game is the end result, but it still has two small issues: the user can choose a mine on their first attempt and the user has to press enter to confirm each action. Other than that, it's a fully functional, text-based version of Minesweeper. In keeping with my creative titles, the game file is called "TextSweeper".


Download TextSweeper Files

#4) The Same Game

The Same Game, like Minesweeper, is a simple game that can be found all over the internet and packaged with some operating systems. It goes by a variety of names, and there are many variations of it: Poppit!, Gravity Tiles, SameGNOME, etc. Again like Minesweeper, the game uses a simple grid layout, and has very simple rules governing its behavior. This is why I decided to try adapting the classes that I wrote for Textsweeper to create the Same Game. It was even easier than I had anticipated, and this is the result.

Download SameCHAR Files

#5) Other Java programs

I have also included several short Java programs that are not necessarily game-related, but some can be used in games. Each of these was written for a computer science class taught at Quinnipiac.

Bucket Sort - This is a very short program that implements a sorting algorithm called Bucket Sort. When the program is run, it will randomly generate a list of numbers, print the list, sort it, and print the sorted list (on the command line).


GCD - This program contains implementations of two algorithms for finding the greatest common denominator of a pair of numbers (Euclid's algorithm and the consecutive integer algorithm), but its primary purpose is to measure the number of operations performed during each algorithm's execution. This is important when determining an algorithm's efficiency.

Guess - This program implements a binary tree, which is used to learn how to play a twenty questions-like game with the user. It begins with a single question and two answer, and asks the user to think of some object. It then asks its question, makes a guess, and is usually wrong. Whenever it turns out to be wrong, it asks the user for a question that can distinguish between the answer it gave and the object that the user was thinking of. It adds this information to its tree, and will slowly accumulate knowledge with every game it plays.

Guess uses an additional class called TreeNode, which must be downloaded and compiled with it before it can run:

Download TreeNode.java

Wednesday, December 7, 2011

Minor Project 12

Option 1:

I've chosen Minecraft as my inspiration. The below images show the player starting a game and beginning to gather resources before nightfall. They are from the following tutorial: http://gangles.ca/2010/09/20/beginners-guide-to-minecraft/




Option 2:

Similar to Minecraft, the game that I've imagined is a very open, sandbox game. The environments, landscapes, cities, etc. can be extremely varied. The game would have more realistic graphics, and focus on the building of structures that adhere to realistic physics. It's hard to describe a specific type of landscape or cityscape specific to the game, since the terrain can be procedurally generated and players would build the cityscapes in the pursuit of various goals. The player would also be able to play as a variety of animal characters with very unusual bone structures (See option 8).

Option 3:



Option 4:



Option 5:



Option 6:




Option 7:




Option 8:






Extra Credit: Couldn't render with Poser, so I'm not sure how I can make the storyboards without transparent images of my characters.

Thursday, December 1, 2011

Minor Project 11

1) I'm assuming that the portfolio in question will be created sometime in the future, when I have the necessary work to include, rather than the final portfolio for this class.

Since I'm very interested in both programming and designing games, I plan on creating a portfolio of work on small, casual games and other software that I'd worked on prior to making the portfolio. This type of portfolio would be ideal for demonstrating design and programming skills. When creating a physical portfolio, I would include each part of a single game that I've created (Brief design document, level/character designs, screenshots, etc.), as well as parts of other games. This would hopefully show experience with a variety of games as well as providing a more complete picture of the work I put into one project. A digital copy of the games in the portfolio would also be included.

Example: The 2 pictures below are from a simple game that I started several years ago.




2,3) Stick Figure Poses & attempted walk cycle



4) Character: Nameless (Player enters name)

Positive Traits: Despite being trapped in an enormous structure with no memory of how he arrived there, Nameless has the potential to survive the ordeal and escape. He's fairly strong and athletic, able to navigate the more dangerous levels of the maze with its numerous obstacles. As a cop, Nameless is able to defend himself and knows how to use firearms. He is well-prepared for whatever challenges await deep within the maze.

Negative Traits: Nameless suffers from several mental illnesses, and has been known to hallucinate and experience mental breakdowns. He has no memory of how he arrived in the maze, and his mental issues will create an even more dangerous environment. He has no way of knowing if his ordeal is real or the result of a psychotic break from reality, and this uncertainty may affect important decisions as he tries to escape.

Visual Characteristics: Nameless is average height with a lean, slightly muscular build. He has short hair, glasses, and typically wears sweatpants and a t-shirt. Nameless also has a scar on his right forearm, the remains of a knife wound he received many years ago.

Back Story: Nameless lost his wife in an accident years ago, and has witnessed several deaths during his career as a police officer. After being forced to shoot an armed woman on the job, he was evaluated by a psychiatrist and deemed unfit for duty. He is currently on medical leave, and suffering symptoms of several mental illnesses. His condition had been deteriorating recently, and he now finds himself in the middle of a bizarre structure with no idea how arrived there.

5) Character Attempt


7,8) Attempted to start storyboard. Next to nothing for this one.