Tessa Lee: Technical Artist

Tuesday, January 29, 2013

Global Game Jam 2013: Cell of Team No Brow

This weekend was the big weekend that hosted the long-awaited Global Game Jam 2013.  Every year, this event reaches game designers all around the world with the challenge of creating a game in 48 hours.  Sleep optional.

I was in a team of 8 people, including myself.  We called ourselves Team No Brow.
Back Row:  Kyle Hickey, Cody Wilcoxon, Matt Kline, Travis Kehler.
Front Row:  Katherine McLellan-Benedict, Amanda Wallenhorst, Jorden Jenkins, Tessa Liddington (me).
The game we developed is called Cell.  The player controls a T-Cell, named Whitecell, through the blood stream.  Help Whitecell navigate around cholesterol buildups and virus-infected cells to collect the much-needed red blood cells.  Collecting red blood cells increases the speed that Whitecell travels.  In order to defeat the master virus at the end of the level, Whitecell must be traveling at maximum speed (30+ red blood cells).


You can check out our game's Global Game Jam page here.
Click here to download Cell (UDKInstall-Cell.exe, 261.7 MB).

Cell was developed in Unreal Development Kit.  The environment and characters were modeled in 3D Studio Max 2013.  The menus and user interface were developed in Adobe Flash CS6.

My part in this project was integrating the custom splash and loading screen.  I programmed the interaction of the main menu and the in-game user interface in Action Script 3.0 and implemented them through Scaleform.  I also worked along our other tech guy, Kyle, in making the gameplay mechanics work through Unreal Kismet.
Gameplay screenshot of Cell.  Whitecell is swimming through the bloodstream and has collected 4 red blood cells.

Gameplay screenshot of Cell.  Whitecell has collided with a virus-infected cell and lost the collected red blood cells.

Friday

I was packing my computer and other belongings all day getting prepared for the event.  The site with which I was participating at would start at 7:00 PM, EST.  I arrived at the site minutes before 6:00 to unpack my vehicle.  We were given food at 6:30, courtesy of Buca's.  The opening ceremony started at 7.  There were speakers from Schell Games, Google, and more.  We dispersed around 9 to start working on our games.

Our team, later to be named "Team No Brow", discussed and brainstormed possible game ideas as I set up my computer.  I chimed in every so often and answered questions regarding the engine and mechanic possibilities, but I was otherwise not involved in the actual concept development.  Kyle, the engine pro on our team other than me, took the first shift in developing the first block-out with initial test mechanics.  I decided to go to sleep at midnight after the snack of pancakes and bananas.

Saturday

I didn't get much sleep.  The "sleep" room was a chorus of snores and people shuffling around.  I was in and out of consciousness for four hours.  I finally got up and rejoined my group shortly after 4 AM.  I went outside and moved my car to a free parking spot (it was previously in a paid parking spot, but they're only free after 6 PM) where it stayed all weekend.

By the time I got back, Kyle had laid down to sleep.  I took the files from Kyle and continued working on a few mechanics.  I created the Flash content for the UI and got it integrated into UDK with Scaleform.  I analyzed the work Kyle had done and worked on approving upon it - polishing it.  We paused production for breakfast at 9 AM.  A lot of my time went toward understanding the prefabs that Kyle made of the viruses and red blood cells, something that I wasn't familiar with in UDK.  This was something I learned coming out of the Global Game Jam.

After lunch, my time was spent fussing with the game menu, loading screen, splash screen, and UI.  Those were all quickly accomplished because of my knowledge of AS3 programming.  We were far enough along to have people playtest our game before dinner.

Kyle was starting to feel ill after dinner, and had called a cab to go home.  I kept working beyond midnight.  I was busy collecting the environment models from Matt and Travis and propulating the level with them.

I started getting dizzy around 3 AM, and Travis helpfully stepped in to finish propulating the level.  I crawled up with my blanket and pillow under the desk and passed out into blissful REM sleep.  My mind sure didn't take it's time in getting to that step.

Sunday

I finally woke up around 7:30 AM.  I'm not going to lie, I was truly amnesiac when I awoke, but quickly remembered where I was (I like to believe that that was the best sleep I've ever had considering I forced my brain to go directly to stage 4 in the sleep cycle).  The character team ran into a snag this morning.  For some reason, UDK did not like the eyes of our main character, and would fail to import them.  Jordan finally found a workaround after lunch and we got rolling with importing the main character and enemy into the game.

We entertained more playtesters and had a playable experience by noon, but we finally finished the game to a level of democratic satisfaction by 2:00 PM.  We started setting up for the big demo event at 3 and played out the rest of the afternoon talking to the other developers and discussing the games.

The closing ceremony started around 5 (I'm really not sure, I paid no attention to the time at this point).  Cake was served.  A couple of groups with people that I knew won the Audience Choice award and the GGJ's first penguin award.  We didn't win anything.  A lot of people on our team are competitive (myself included) so it's natural for us to feel disappointed about it.  However, the GGJ does not present itself as a competition.  All is well.

Monday

I was a pleasant person on Monday, despite my grogginess.  If anything, I went through Monday in a haze.  My dyslexia was rampant with every conversation I had that evening.  That's why I waited until today to write this blog.  Also, I only set my computer back up this morning.  The Global Game Jam was a wonderful experience, and I hope to participate every year!

Sunday, January 20, 2013

Save The Garden (Alpha Version 0.8)

Play testing time for Save The Garden!

You have 90 seconds to get the most amount of points possible. This game is still in the alpha stage, so almost all of the graphics are still in development. You'll be seeing wire-frames of the game.

Controls:
Click a wheel (blue circle) to start changing the sprinkler's tilt angle or the water pressure. Roll the mouse wheel, arrow keys, or WASD to "roll that wheel" to increase/decrease the value of whatever wheel you're on.

You gain points for watering the plants, and you lose them if a pest eats it. The red "target" zone shows where the water is hitting in the garden.

Critiques Please!
I'd like to know the timing of things. Should the pests take a longer time to eat the plant? Are things spawning at a decent rate? Do you have enough time to save a plant if a pest comes at it? Is it challenging enough? Is anything getting stuck? Etc. Etc.

I suck at playing games, so I'm not sure if it's too challenging for everybody, or just me. If you don't have much to say on the game, at least tell us your score!

Click Here to Play Save The Garden.
Keep in mind that the webpage you're going to will continue to update the version of this game as it progresses in development. This post refers to the specific Alpha version of 0.8. If you're unsure what version you're playing, refresh the page until you see it on the bottom left of the game's screen.

Monday, January 7, 2013

Little Updates Here and There

Artificial Intelligence? I'm doing it right!

So I've been working on that Math Wonder game a lot lately.  I've got most of the functionality for the plants working, but it is time to start developing the behavior of the pests.  I first started with the bird.  Now I've made code to for the bird to find a garden plot with a plant, and to check and double check to see if it is already being eaten by another pest.  The bird flies down (in horror because it's not smooth yet, ha!) and lands on the plant.  So far, I haven't had two pests land on the same one since the double checking system, and it all works fine for a first prototype.

However, when I decided to go to bed, I was feeling kind of bummed.  I thought to myself, "wow, I'm totally faking AI.  I wish I could really program AI.  That'd be awesome."

I then took a moment to think about that word, artificial intelligence.  It's definition is practically faking intelligence.  So if I'm faking the fake intelligence, I must be doing it right!  I'm really programming AI.  I didn't feel so bad anymore.

Grand Paws Pet Sitting and Home Care

I've been diving really far into programming lately, and all of it has gotten my creative juices flowing.  I needed an outlet.  I currently work with Grand Paws as a Pet Care Professional, but their Facebook logo was so blurry, and (no offense) their website looked like something my mom would have designed for them when she was into the glittering doll graphics phase (the ones that were like a digital version of paper dolls with changeable outfits).

Regardless, I've taken it upon myself to redesign their logo and website to help give them a more professional appeal to potential clients.  So last night, I came up with this:



Julie, our coordinator in Arizona, liked it and will be transitioning to use it on their documents and company profile photos.  You can visit their website at www.GPPetSitters.com.  I'm currently working on creating wire-frames for the website, but I won't be showing them to anyone anytime soon!

Friday, December 21, 2012

Math Wonder Takes Shape!

One of my latest projects is between the collaboration of the students at the Art Institute of Pittsburgh and their client, Carnegie Learning, Inc.  The students have formed groups and each group is working on their own educational Flash game, also known as a Math Wonder.

My Math Wonder is called Save The Garden.  I'll be working with Amanda Wally, my character artist, in making this game fun, functional, and pretty to look at (oh, how I love the pretties!).

While this game is not yet into the Alpha phase, it is still in development, I'll soon be inviting you all to play-test this game (:

Wednesday, December 5, 2012

Perception Versus Perspective

My latest Unity 3D project is now available via my online portfolio.  Click here to play it!

A 3x3 grid with two "distractor "blocks, and no target.
This project was brought to me by Jon Amakawa, my former instructor at the Art Institute of Pittsburgh.  The client, Columbia University of New York, needed a program to assist in conducting their study on the response time when searching for the target block (T) among blank blocks, and distracting blocks (L).

The finished product was capable of being completely customized by the client.  They can control the grid size, number of  "distractor" blocks displayed per trial, number of total trials, how many times the target gets shown among the trials per session, and more.

Super Random!!! Ahhh!

  • The order of trials in which the target block appears is randomly chosen.  It could be any two out of five, for example.
  • The amount of displacement of the blocks' position in their grid are random.  Some are moved a little right or left, up or down, or tilted to the left or right.
  • The block that displays the target (T) is randomly chosen, if it is displayed at all.
  • The blocks that display the distractions (L) are randomly chosen.
Awesome results, you say?
The finished product also produced results that were hidden from the participant in the form of a CSV file.  Each file is individually named based on the subject number and session number.  The subject number is specific to each build, while the session number increments each time the participant chooses to continue on another session of the same build.

Other results include the response time of the participant per trial, whether or not there was a target displayed in the trial, and which button the participant responded with.  This information yields such information such as if the participant was correct in spotting a visible target, correct in deciding that there was no target when one was not displayed, incorrect if the participant thought they saw a target when one was not displayed, or incorrect if the participant did not find the target when one was displayed.

This project was a fun one.  Thank you, Mr. Amakawa for entrusting me with it.

Friday, November 30, 2012

A Medieval Christmas Carol

Tonight is the opening night for the live-performance show, A Medieval Christmas Carol!
Click here for more information.
I will be portraying the lovely Squire Tim each and every show.

We host a medieval dinner to our guests on Friday nights only!  We accept tips!

Wassail!  Drink hail!

Lifestyle Changes

Hello World! I hope you had a great Thanksgiving holiday! I enjoyed mine as much as possible. Unfortunately, my domestic life is going under construction, so my interactivity on this blog and my website will be limited. I'd like to congratulate my previous photographer, Courtney Lynne Brush, on her success as an Airman and her recent engagement. She decided to move in with her fiance immediately, so I will be spending my time looking for a new roommate or a new place. Speaking of searches, I've had luck in finding a reliable, field-related job in the area. I've been scheduling appointments for interviews, phone screenings, etc. I hope to announce that I've gotten a job in the near future. Another new change has yet to come! I have plans on attending the Pittsburgh Technical Institute (PTI) for their Associate's Degree program on Computer Programming. While my Bachelor's Degree at the Art Institute of Pittsburgh exposed me to the wonders of game-play programming, I feel like I lack the classical training of a true programmer. Furthermore, I'd like to expand my knowledge in the subject so that I can work a job in what I truly love to do.