Wednesday, September 19, 2007

Fluid-like simulation (preliminary)

Existing fluid simulations based on solving the Navier-Stokes equations or its derivatives are slow algorithms. For games, we need something faster, perhaps at the cost of quantitative realism.

I aim to invent a simulation algorithm to satisfy these requirements:
  • Fast; must run in real-time
  • Scalable; i.e. O(N) or better
  • Qualitatively similar to real fluids
  • Simple to implement and modify
  • 3D
  • Interacts with other entities
  • Multiple immiscible fluids (e.g. water and air, including surface rendering)
  • Combustion
I will use an ad-hoc simulation using something akin to point vortices that interact with their nearest neighbors .

You can get more info from my website: http://www.fiea.ucf.edu/~mgourlay/Fluid/

Earlier this week I managed to create some preliminary results of a fluid-like simulation of something like a vortex ring moving through something like a fluid, including these features:
  • Nearest neighbor tracking
  • Particle rendering
  • Particle interaction

These simulations share in common with real fluids vortex self-advection due to nearest neighbors and vortex diffusion. Mathematically these properties differ from those of real fluids but qualitatively this simulation has those properties. As you can see from the simulations, the vortex ring does indeed propagate as you would expect from such a ring in a real fluid. The aggregate speed is probably wrong though.

These preliminary simulations lack a number of features present in actual fluid dynamics, including vortex stretching and tilting (important for cascading from laminar to turbulent flow), no-slip boundary conditions (necessary for generation of vorticity such as generating wakes and lift) and potential (i.e. irrotational) flow (necessary for bulk fluid motions such as occurs in shear flow far from the shear layer itself). The simulation code currently includes propagating long-range interactions. I intend to add the other features soon.

You can find some movies and more details here:

http://www.fiea.ucf.edu/~mgourlay/Fluid/2007sep17/

Friday, September 14, 2007

Games, Dames, and Lames: Producers Be Cool

The original blog that I wrote for this posting was just about the dames of video games. The fellas and I were talking about the lovely ladies involved with the video game world, so I decided to write about them. Then, I began to reflect on my experience at FIEA. So, my original blog went out the door. For an entry more meaningful for future designers.

FIEA's Rapid Prototyping curriculum is very aggressive and fast-paced. If you blink, then you would have missed a load of information. We actually gain knowledge about rapid prototyping through instruction, a plethora of resources, freedom to design anything, and a nonstop stream of prototyping opportunities. Feeling slight pressure to produce the best product, I learned sacrifice is a virtue worth developing and cultivating. My first sacrifice was sleep. I've never been to fond of sleep, so it was a simple decision to make. I'll sleep when I'm dead.

At 3:AM, I am up reading as much information as possible to strengthen my ability to obliterate production obstacles. As a producer, I need to be able to create an efficient system to design the best game possible within specified time parameters. Moreover, my first obligation is to make sure my team is completely satisfied and comfortable with the game idea. The only way to establish that comfort is to constantly ask for feedback about the idea and incorporate the ideas of the team into the game.

I've learned that open over-communication is necessary in making your team feel comfortable. I have to make sure that my programmer and artist are capable and able to deliver their pieces of the game design puzzle on time. I have to make sure that the artist understands the programmer's capabilities and the programmer understands the artist's capabilities. Then, I convince them to work in tandem on constructing the best game possible. Furthermore, I have to make sure neither the programmer nor the artist gets burned-out or broken in the game making process.

Many people think being a producer is a hack job. But, it is quite stressful when you realize that your team must be satisfied and comfortable. A producer must be concerned with the personal lives of his team because personal issues do spill into the workplace, and can adversely affect the team's morale. A producer has to create and maintain a stable working environment. In a nutshell, the producer's job overall is to make sure that the other team members do not worry about anything except their task at hand. Any distractions or disruptions can halt momentum and destroy morale. Once morale is lost, then the battle to complete a game is uphill.

On our last rapid prototyping assignment, I watched some teams lose momentum and their morale plummet into chaos and desperation. Many of us, noob producers, are stuck in our ideas and never get around to actually designing the game until it is too late. A producer needs to be ten steps ahead of her or his team in order to be victorious in their game design. The worst situations snowball when a team loses momentum due to a producers inability to solve a problem in a timely manner. All producers should learn how to foresee any and all possible problems. In reality, I know it is impossible to foresee all possible problems that rise up in rapid prototyping, but a producer should be prepared for any problem- personal or professional. This ability to problem manage is called "cool." I've seen producers lose their "cool" with their team. It isn't a pretty sight. The team usually loses respect for him or her, thus causing the game to suffer. Believe me, that loss of confidence and loss of trust shows in the final product.

Note to all producers: Producers maintain your cool. It is not the job of the programmers and artists to worry about the overall design. That worry falls on you. I watched as producers get so caught up in their own tasks that they did not answer their team members' problems. Programmers and artists do not appreciate a self-absorbed producer. Your programmers and artists' gaming issues always outweigh your own, unless your issues have a negative effect on their work. A producer needs to show his team how much he cares about them before he or she unleashes unreasonable demands on them. Your teams efforts must be appreciated and respected. Producers are the coach and the cheerleaders for their teams. If you subscribe to keeping high morale and maintaining your cool, you will produce a good product.

As I step off my soapbox and face the calm before the storm, I wish all aspiring producers the best of luck in their productions endeavors. Remember, don't get hung up on your production hardships, we all feel your pain. Be cool and overcome.

Tuesday, September 11, 2007

Lesson Learned

The past couple weeks have been pretty intense. Our two week rapid prototyping assignment was scheduled due last Sunday night. As such most of the teams were hard at work trying to complete our over-zealous game ideas.

It just so happens that the second week fell on the only time I had planned to miss from FIEA. To future students I would strongly recommend against taking any time off. By missing classes as well as time with your team you're sabotaging your own success.

Our first game almost made it to completion but didn't quite meet the 'fun' requirement. We spent a lot of time working on collision detection, the artwork, and layout but we did not have enough time to play test the game. Another recommendation is to "play test early and play test often". I feel somewhat responsible; because while I was away we were unable to incorporate changes. I returned on the day it was due (at midnight) and had to incorporate all the art and sound assets into the game. The combination of better organization, a present programmer, and more play testing definitely increases the chances of success.

Time to get started on our next rapid prototyping assignment and our programming assignment. Until next time!

Wednesday, September 5, 2007

Games, Dames, and Lames: week 1 - Introduction

Okay. I'm here with my week in review. I could bore you with some flubber about how cool it is to be learning to design video games. But, you wouldn’t be reading this if you didn’t already know that! For reals, I’m here to spill my heart about my adventures in video game stardom. Yeah, I know you think I'm just playing Madden '08. Beating dumb freshmen and taking their financial aid refund checks. I wouldn’t do anything like that?!?! Actually, I’m caught in an orgy of Rapid Prototyping the best damn Flash shooter game and making a sexy alien octopus while mind mapping a schizophrenic graffiti artist with an appetite for the ladies and government conspiracies. Yes, FIEA is the “pooh” like Winnie (I’m keeping it "E" for everyone and quite lame). It has only been two weeks, and we are in the thick of game design. Like any other code monkey operation, I’ve grown fond of my fellow FIEAns in all their uniqueness. Surviving in FIEA is like a sandbox video game. While not GTA, the profs are industry professionals that deliver some of the most difficult missions ever conceived. They are the Big Bosses that can crush your ego with one blow. So far, their industry antidotes are funny and insightful. I hope they keep the good stories flowing.

I can see FIEA producing monster video game developers to enter the real world. And, I can actually envision my cohort transforming into Mad Max meets Police Academy. I hope to experience a lot of both visions for your entertainment purposes. So, I have my game face on and ready to tackle all the obstacles in class and on computers and consoles. I will be shooting the “pooh” and reporting from the video game development frontlines like an opinionated schmuck with a blog. Oh, I am an opinionated schmuck. I won’t bore you with the lore of why my life is better than yours, so I’ll go back to playing Metroid Prime 3: Corruption while you wallow in your lame existence. So, I talked about the games and the lames. What am I missing, hmmm…. Oh, the dames! Maybe, I’ll talk about the dames next week. Are you ready for the madness? Until next time, I wish you Love, Peace and Soul.....

Disclaimer: Fictional names are used to replace the real names, places and things of the crazy events revealed in front of your virgin eyes.