Wednesday, December 5, 2012

Alpha

12/05/2012

Our game has reached Alpha!

Last night I installed my capture card to try and get some good pictures and video from our game in action. Some of the pictures will be used in a poster when we show off our game at the EAE Open House. The videos will allow us to look back after Spring semester to see how far we have progressed.

Here are the action pictures:
Ninja Avatars

Here are the action videos:



Aspect Ratio

12/05/2012

Yesterday in class one of our artists noticed that all the models looked squished. I told him it probably changed when one of our developers updated to support both widescreen and full screen. I looked through the code with him and found that the AspectRatio was set to 1:1 even on widescreen's. I updated it to change based on the display type.

I also showed him how the double jump ability scroll was not attainable due to it's mesh overlapping with another model's mesh. I updated the FBX file to change the location slightly so that it would not be a problem anymore.

Monday, December 3, 2012

Dynamic Water

12/03/2012

The artists on my team thought it would be nice if we had dynamic water. I looked into it when I started to research lights and found it would not be too difficult to implement. I have added it to our game with a water texture I found on the web. I also had one of our artists create a custom water texture and have tested it in our game.

Here is his custom texture:


Water with texture I found:


Water with custom texture:


Town overlook with Skymap, Directional Lighting, Water:


Town overlook with Skymap, Directional Lighting, Custom Water:


I updated the location placement of smoke plumes to any ability scrolls or objective scrolls located around the map to help the player find where he needs to go.

Here you can see the smoke throughout the level:


This will change to be more dynamic, showing the player only the next objective with a different effect (one line of code).

Directional Lighting

12/03/2012

I was able to get Directional Lighting to work with our latest version of the map. I updated some changes to the skybox scale and rotation to fit the direction of the directional lighting, and also added smoke plumes to any ability scrolls or objective scrolls located around the map to help the player find where he needs to go.

Here is the map without no skymap and no directional lighting:


Here is an above view with no skymap and no directional lighting:


Here is the map with a skymap and directional lighting:


Here is an above view with a skymap and directional lighting:

Saturday, December 1, 2012

Upcoming Code Lock

Upcoming Code Lock

12/01/2012

Our team has put a code lock for our Alpha version for Monday 12/03/2012. Today I re-factored some of the code with the DrawManager class and the IDraw interface. I fixed the camera projection's PerspectiveFieldOfView, which was causing clipping in the game where you couldn't see the whole layout of our level. I also updated some Effects but they still need some work.

Lastly I updated the Skybox I implemented with the DrawManager class with new images given to me by one of the artists on our team.

Thursday, November 29, 2012

Long Sprint (Sprint 5)

11/29/2012

This week I continued to work on lighting with varied success. I also spent a lot of time refactoring all the partical system code to make it cleaner instantiate new partical effects. In class I showed off the different effects I had in the game and how easy it was to instantiate new ones.

Working with another student, he quickly drew up a new texture on his iPad for me to use with the smoke particle system. Here is his texture:



The particle system has the ability to modify the color of the texture on the fly to different colors. Playing with this I was able to create differnt looking effects for the the game:

Smoke with Original Texture:


Smoke with Custom Texture with red colors:


Smoke with Custom Texture, and a second effect Ring of Fire:


Landing Cloud with Custom Texture, brown colors:


Double Jump Cloud with Custom Texture, white colors:

Tuesday, November 20, 2012

More Lighting

11/20/2012

I continued working with some different tutorials. This time I went through Riemer's 3D HLSL tutorial. Using this tutorial I was able to give different lighting effects, directional lighting, including a drop shadow that requires drawing the scene twice, but in theory does not cause any performance issues. This will have to be tested with our game.

Here are some photos from my version created from the turorial:











In class I was able to work with another student again was able to get new models that I could use but I was unable to have any of the normal mapping to work. The drop shadow worked fine but without any light on the model it doesn't look good.

With Thanksgiving this week our sprint ended today. Our next sprint will continue until next Thursday.

Monday, November 19, 2012

Lighting / Model Problems

11/19/2012

With the tutorials I am going through with HLSL (High Level Shading Language), I am running into problems with lighting and normal mapping the models for our game. I have been working with a member on my team to get some new versions of the FBX files to do some testing in my test environment but he is currently out of town so we are going back and forth on email.

I finally was able to get his model to work, but he says that the normal mapping is missing. Here is what it looks like in my test environment:





This weeks sprint is a short one and ends tomorrow. That way we can have a long sprint through Thanksgiving.

Thursday, November 15, 2012

Lighting Continued (Sprint 4)

Lighting is still not complete and I am continuing to work on it in our 4th sprint. I have been through a lot of tutorials and have made a lot of work on trying to understand Microsoft's HLSL (High Level Shading Language) shading language.

Here are some examples of Diffuse lighting I have done:









Here are some examples of Specular lighting:











Here is some examples of Normal Mapping:






Thursday, November 1, 2012

Lighting (Sprint 3)

11/01/2012

Our second sprint has come to a close. I demoed to our team the Particle System I added to our game. Using Microsoft's Particles 3D example I merged it with our code where it should be easy to implement.

There are built in Smoke, Fire, and Explosion particle effects, each having multiple settings on their size, duration, velocity, etc. Some testing needs to be done to get the right feel for which works best for our game.

Here is a video of Microsoft's example:


Here it is working inside our game:


My new assignment is to work on adding Lighting to our game; Directional Lights, Point Lights, and Ambient Lights.

Wednesday, October 31, 2012

Particle System or AI

10/31/2012

It appears there was some miss communication on my part on switching to Particle System. My team lead asked me if I would prefer to work on it over AI, which I said yes, but then he suggested I could move to it when we were ready to work on it ... later. As we were communicating through Instant Messaging I must have missed that message. I will make sure to double check before switching sprints from here out.

Friday, October 26, 2012

Particle System (Sprint 2)

10/26/2012

After speaking to our Team Lead last night, he suggested that I work on a particles and special effects for the game; "purple shadow smoke trail of swirling mysticism".

Here is an example of the effect (Skip to 10:38):


Thursday, October 25, 2012

Artificial Intelligence (Sprint 2)

10/25/2012

Our first sprint is complete. I have the DrawManager completed but ran into problems getting it submitted to our github repository. The github windows gui GitHub crashed during upload. When I restarted the program, it said that my HEAD file was missing. When re-opening the project in Visual Studio all my changes were lost. I had to re-write some of the code from memory and will be waiting to upload to our repository until after I have been given a tutorial on using gitextensions.

My new assignment is to work with two other students on setting up Artificial Intelligence in the game.

Tuesday, October 23, 2012

Ninja Royale

10/04/12

The Industry panel choices are in and 3 teams have been formed. I join a rich team of both developers and artists, some of which I have worked with before in Machinima, Game Development I & II, and some most recently on the Momentum prototype.

The game we will be working on will be based off of the prototype made from this pitch:


This is an older version of their pitch, so some elements of the game have changed, but the one page above should give an idea of what we are working towards.

Thursday, October 18, 2012

DrawManager (Sprint 1)

10/18/2012

My first sprint assignment is to create a Draw Manager that takes care of drawing all components in the game. The prototype was setup using DrawableGameComponent. The idea behind setting up a Draw Manager is to make use of the core Component system, setup the Draw Manager to hold a collection of lists so that priority can be given to different type of items; Avatars, NPC's, enemies, etc.

Tuesday, October 16, 2012

LucasArts Jedi Academy

10/16/2012

Our first day back from Fall Break and we were entertained by LucasArts. They were here to inform us about the LucasArts Jedi Academy, which is their internship opportunities at their company.

Our team briefly met after class had ended. Assignments for our first sprint assignments will be given on Thursday.

Tuesday, October 2, 2012

Momentum Prototype (Pitch)

On Tuesday October 2nd, our team as well as the other 7 teams pitched our prototypes to an Industry panel. The panel included employees from Electronic Arts and Microsoft. In the end Momentum was not chosen as one of the 3 games our class will make.

I had a fun working on this project, and feel that the game itself has potential. Possibly the team can continue working on it in the future.

Momentum Prototype (Part 5)

After talking with another student today about the trouble I was having with physics and collisions with XNA he suggested I take a look at BEPU physics.

After spending a lot of time going over the documentation I have it working with my XNA prototype. I have the physics and collisions working between the track / levels and the ball. I also have the camera controls working, but need to still implement the ability to rotate the track.

Here is a new video showing off the physics:


As you will notice I have to manually set the track and ball position in each different scene due to the inability to rotate that track so far. That is the next item I will be working on.

Monday, October 1, 2012

Momentum Prototype (Part 4)

09/28/12 - 09/29/12

Our team was informed by the professors, that our Unity prototype, including gameplay footage, could not be used at all in our upcoming pitch on Tuesday. I created a new XNA project and worked on creating a video that looked similar to our Unity one. It shows off both levels / tracks and has a flyby similar to the video we used in our original pitch. I am continuing to work on possibly getting collisions working so that I can show off more similar footage.

Momentum Prototype (Part 3)

09/23/12 - 09/27/12

Yesterday one of our artists finished setting up a prototype of our game in Unity. This prototype was setup to allow us to test the control system we had talked about to see if it would work as we had envisioned. Unity was chosen since we all are familiar with it and it has built in physics and collisions.

I have continued to work on an XNA version that has has a ball moving and a camera moving, but not completely together. I have some physics but without any collisions I have them turned off currently.

Thursday's class our team gave a practice pitch to our professors Bob and Roger and the rest of the class. The pitch involved a powerpoint as well as gameplay footage from our Unity demo. We have our official pitch to an Industry panel on Tuesday.

Momentum Prototype (Part 2)

09/16/12 - 09/22/12

Our team is still at work on building a prototype for our game. I have some basic camera rotation and movement in place. I have worked with physics before and added some physics to a ball on but I am having difficulty getting collisions to work between our 3D track and the ball. I tried simplifying things and working with just a 3D sphere and a 3D cube, but the collisions still seemed to not work as I expected. I have tried setting up BoundingSpheres around each object, but continue to run into unexpected results. The other programmer on our team has been working on setting up a collision system that takes a 3D object and calculates all the triangles in the mesh to test collisions with.

Momentum Prototype (Part 1)

09/09/12 - 09/15/12

After going over similar games to ours, our team has been busy at work. The artists have been working on concept art, and have already built two full 3D tracks to use as two different levels inside of our game. The programmers, myself included, have been working on setting up a 3D world within XNA. I have not had any experience with XNA and 3D games, so I have been focussing on learning how to setup the objects and using the camera.

Thursday, September 6, 2012

From Pitch to Prototype

The votes are in and 8 (four member) teams have been formed. The team I have the pleasure of working on will be taking this pitch (here) and turn it into a prototype.

When our team met on Tuesday, we started to look for similar games to get ideas from. We found these games:

Marble-mania
rube-goldberg machines
Marble madness
Perplexus
Money Maze
Bllz Obstacle
Super Monkey Ball
Rock of Ages
Peggle
Crayon Physics
Decolord
CivBalls
Gravity Master
Katamari Damaci
Start here
Cube maze
Amazing Marble Maze 3D
Ballstix
Ion Charge
Echo Chrome
Mr Gravity
Grav-bot
Proun
Tetrisphere

This idea also reminded me of Screwball Scramble that I used to play as a kid:


Now the team will have to come up with a prototype that finds the fun in our game idea.

Tuesday, August 28, 2012

Fall 2012 - CS 4510 (EAE Senior Project I)

Now to the present...

The next two semesters I am going to be working on a team that eventually releasing a XBOX Live Indie game. Our first assignment was to come up with a game pitch.

The only thing I could come up with was a version of Mario Party or Fuzion Frenzy. I looked up the top 100 video game sales of all time, and three of the titles are Mario Party games, but I needed another hook, something else. After hearing from a fellow student that our Avatars can be used in our games, I have been looking into the possibilities. It seems like use of Avatar's is popular, and from the little I looked over the documentation on how to code them, it doesn't look all too difficult.

So last night I came up with this one page pitch and presented it in class today:



Every student will pitch an idea, and then we will all vote on them. We will narrow the list of game ideas down to 10 and then break up into 10 teams. Those teams will build another pitch with prototypes.

Summer 2012 - HEML Research Project

This summer I had the pleasure of working in the Haptics & Embedded Mechatronics Laboratory as an independent study. I worked on the research project that focuses on Shear Feedback. Using XNA I created a game demo to show off the ability of this Shear Feedback built into a game controller.

Video Showing off the controller, not my game demo:

Spring 2012 - Film 3720 (Game Development II)

This class was a second part to the previous game development class I took. This class followed the same format, with a different twist. Instead of making mobile games, we would be making web games, and instead of just working for our professor, our professor went out and got us real clients to work for.

I am not sure if I can show any videos, photos, or even talk about the game that we worked on. I have sent off an email to check on this, and will update this or another post with an update when I hear back from them.

Fall 2011 - Film 3710 (Game Development I)

This class was an introduction to the whole development cycle of game development. Starting with the IDEO design process (Umbrella Team), one page game pitches, prototyping, getting to the fun fast, having beta testers, and eventually locking all code and art content for a final mobile game product.

The class broke up into 3-4 teams and had to come up with three different game pitches based around a theme / category. I ended up being the lead programmer on the "Balloon Cargo" team.

Our first game pitch was a side scrolling, horizontal scrolling game where you would control a hot air balloon through different levels, avoid obstacles, picking up cargo, and landing on a platform to end the level.



Our second pitch was a water balloon toss game. You would play as a kid behind a fence tossing water balloons at people, cars, anything that you wanted. Whenever you hit something it would drop something (cargo), and you would collect them to earn higher scores.



Our third pitch was a puzzle / sorting game. You played as a balloon factory worker that had to sort balloons into the correct baskets. Obstacles would be in the way causing the balloons to pop, or be blown off in the wrong direction.



This ended up being the game that we made. The game had 5 themed worlds (City, Cave, Haunted House, Factory, and Forest). Each world had 6 levels that increased in difficulty. The game had a star scoring system similar to Angry Birds.

At the end of the semester we were the only team that successfully had our final product working on a mobile platform.



Some more screenshots can be found here.

Balloon Cargo


To see some of the production process check out these two blogs:
Balloon Cargo Blog
Thaddeus Beck Film 3710

Fall 2011 - Film 3500 (Film Production I)

This class was an introduction to basic film production. With this class, on one hand I had the pleasure of making a fake bomb prop for my one scene "Pumpkin Patch Surprise". And on the other hand, the sheer terror of going nose to nose with a Carolina wolf spider for my narrative "Karma".

Pumpkin Patch Surprise (First Version)


Pumpkin Patch Surprise (Second Version)


Karma


You can also see all the footage I collected of the spider here:

Summer 2011 - ART 1020 (Basic Drawing)

As part of my EAE (Entertainment Arts & Engineering) track I needed to take ART 1020. This was a studio class that focused on the fundamentals of drawing using pencil, pen, charcoal and ink.

Pencil


Pen


Ink


Charcoal


Powdered Graphite


Final (Pencil)


To see all my drawings from the class, and some progression through my final, it can be viewed here

Spring 2011 - CS 3660 (Machinima)

"Machinima is the use of real-time 3D computer graphics rendering engines to create a cinematic production. Most often, video games are used to generate the computer animation."

In this class Computer Science students were paired off with Film Students and set out to make cinematic productions. Both "Walking into the Ark" and "First Contact" were produced by another student and myself. We both worked on all aspects of the films. "Eden" was a 13 student team, in which I worked on character animation, scene design, and special effects.

Walking into the Ark


First Contact


Eden


To see some of the production process check out these two playlists:
First Contact
Eden

Spring 2010 - CS 3505 (Software Practice II)

This class was devoted to learning C# and XNA. It involved; writing a network protocol, making a pinball game that I had working on both Windows and the XBOX 360, and working on a 4-5 person team game that also worked on both platforms. Our game was a mix between Brick Breaker and Asteroids.

Pinball (First Version)


Pinball (Polished)

Who am I?

My name is Thaddeus Beck. I am a husband, a father, a sports fan, but at the end of the day; I am a geek. Growing up I was always fascinated with computers, electronics, and video games. It helped that my Dad worked in the IT field, and we always had a computer in the house.

After graduating High School I still wasn't sure what I wanted to do with my career. So instead of going to college, I just started working. I moved into some Technical Support jobs and started to play around with batch jobs. After running into limits with what batch jobs could do I expanded to scripting languages, and found that work was as much of a hobby as it was my career.

I expanded into writing GUI applications using AutoHotkey.

Inventory / Order Fulfillment program with a SQL Server backend



Stats Wizard


PR Printer


But at this point I knew I wanted to pursue a formal training in programming.

In the fall of 2007, I registered in the Undergraduate Computer Science program at the University of Utah.

With the start of this semester I will be starting my senior year. This blog will catalog my work in the EAE (Entertainment Arts & Engineering) Senior Project I class. But before I talk about the present I will first talk about what I have worked on in the past...