Saturday, January 19, 2013

Elastic Development Environment - Free to Play Games

Elastic Development Environment - Free to Play Games

For those of the Free to Play game development world, the standard pyramid structure of game development usually looks something like this:


In real life, every part of the Pyramid has a role to play inorder to make sure the game does what it has to do: Make money, retain users, give entertainment, and be stable.

If you wonder why I use "Real Life" I mean that at the end of the day, you have to make $$$$ inorder to pay for the studio in the first place, so a game that does generate revenue to meet the needs of the business is not going to last long.

So in general, each group has a driving overall focus that is important to the whole, but specifically tailored for there area of expertise.

PRODUCT:

  • Monetization (Making sure the game can bring in $$$)
ENGINEERING:
  • Stability ( FTP games are online 100% of the time, so the game must function at 100% all the time)
ART:
  • Fidelity (The game has to be engaging inorder to get players to keep coming back)

Now this production pyramid usually causes a tention between the different groups as each group strives to keep there area of focus in view. 

Examples:
  • Product needs new features released quickly to raise revenue without enough time to do enough properly have artwork or engineering develop the feature
  • Engineering wanting to make sure a new feature is "100%" anti scripting compliant, so takes so much extra time that it misses the revenue targets, even though "99%" would have been fine.
  • Art is working on a new game level and wants to add many extra embellishments to give it a "super polished" look, but turns it over to Engineering late so the game stability suffers or misses the venue targets.


Some Game teams tend to move to a more waterfall system in which the Product group is on Top and the other groups are in a pure supporting role. In this role, Product tells the other groups what is desired and how it will be constructed.



For some teams this works well, as its a very top down driven development cycle and when dealing with outside contracting groups, its gives Product a lot of control on the project. But on in game studios it can lead to some problems.


  • There is no push or pull in the production cycle so both Fidelity and Stability can suffer
  • Detachment of the production side of the team as there concerns can be down played.
  • Game Teams have a lot of pride on there "Game" and a detachment of a sharing process can lead to "Just tell me what to do" work ethic.

An Elastic Development Environment is a much more fluid structure in which all three groups working together for the common goals of Monetization, Stability, and Fidelity. The Tention is both acknowledge and used to make sure the game is successful.


The trick with Elastic Development is that all groups have to understand that to make a successful game then its a combination of the three core values: Make a game can Monetize (as I said before, No Money means no team), have great Fidelity (game play and visuals), and Stability (If the game is not working, no one can see the Art or $$$).

I would argue that Monetization is usually the trump card in the pyramid but a well run team can handle the day to day tention.

More to Follow about how to run teams in this work style...




Tuesday, November 20, 2012

The Race for Mobile and Hard Days inline for Flash Development

The Race is on for mobile and woe to those who skills sets are about to be out of date. So Who is the Loser (as of now - November 2012)?

  • Flash (ActionScript)

I would highly recommend any Flash Developers out there to bone up on other technology as many changes are hitting this field and even though I personally think flash has years of life in it yet, many I work with do not.

I could do a whole Blog about Bay Area Perceptions about the Death of Flash (The King is dead, Long live the King) but it would just make me mad so I will skip it in general.

But I will say the following, Flash can do amazing things if you have the right personal to use it as a tool. But with a gleam in there eyes, non Flash Developers love talking smack about the platform. I always thought some of it was based on "No Real Developers write code in Flash" or some other strange idea's, but after watching a few projects get cancelled recently I think it actually has some merit.


  • Its 3D toolsets are really in the starting stages, and Unity really has a better 3D workflow for non UI work. To work in 3D you have to program everything and it is really time consuming.
  • The Flash 3D Workflow for art is not fun at all and very painful.
  • Adobe came up with great enhancements with 11.4 + of the player, But the Flash player fragmentation (Think Google) has made it very hard to get users all on the correct 3D Flash Player and have a simular experience.
  • AIR is fantastic, but the Flash Player is Not. AIR for mobile is also very much in the starting stages and requires some smart people to use it well.
  • Artist Like to use Unity as its much more of an Artist Tool than a programmers tool.
  • 3D on Mobile and the Web is just so much more Cool.

So Adobe know of these issues and have impressed me about how quickly they are trying to push out changes to support companies and developers. But the basic question is ..... Do they have enough time to do it before Major Studios switch to other platforms?
I have no idea what that answer will be, But I have seen the likes of a change like this before and it happens very very fast. If you are in the wrong side of the change, You could find yourself out of a Job and losing that senior developer position for that of a junior developer mighty quick. Once the developers can not find jobs in the field then the problem just gets worse and the cycle accelerates. 

Even though most engineers would agree with me that a good client developer is a good client developer no matter what there language is, most Product people do not see it that way. They want you to have the flavor of the hour now even though its very simple to train you in it.

So for any game developer in any field, Its always the smart choice to keep up to speed on the new technology and stay current.

Saturday, September 18, 2010

Los Angeles Vs Bay Area - Interactive Lifestyles

Recently I moved from Los Angeles to the Bay Area with my family and I am still in job market shock.

Overall I see that the Bay Area Flash Development market is strongly sided with the pure engineering aspect of flash while the los angeles market is focus on the creative.

I would almost 80% of the flash dev's I work with are Computer Science trained WEB 2.0 people who have picked up flash in the last 2 years. There approach to development is almost pure engineering in which I am in constant awe as they do not use any of the pre conseved notions of what flash can and can not do. Most do not know the Flash IDE, and work in Textmate, Flash Builder or Flash Develop.

Most of the Los Angeles based flash developers I worked with have a more creative background and who both know programming and light art skills. An LA Dev would be expected to know Photoshop as well as development, and would know the Flash IDE as well as one of the other IDE's.

Which one is better? Do not know. I do know that the bay area is doing things in flash that are much more advanced than what I have worked with in Los Angeles, but I feel sometimes they are missing the creative spark that makes flash more than a simple web language.

Tuesday, July 15, 2008

Working with Numbers (toFixed)

Ah, the joy of finding a simple method to make life easier.

Now I have always wanted the Ability to get just a few numbers from a number like 3.14567545645. I knew there must be a way to do this and now I just found it.

function toFixed(fractionDigits:uint):String

So You can do the following:

he following example shows how toFixed(3) returns a string that rounds to three decimal places.

var num:Number = 7.31343;
trace(num.toFixed(3)); // 7.313


The following example shows how toFixed(2) returns a string that adds trailing zeroes.

var num:Number = 4;
trace(num.toFixed(2)); // 4.00

The Wonders of Life in As3.

Monday, July 14, 2008

Clone functions in ActionScript 3

In AS3 it is a bit of a pain to duplicate an loaded SWF. There are a few ways to do this but they are a bit complicated. So from reading a Design Patterns Book, it gave me the idea of using a clone function on all objects that you are going to load into a flash Object.

The concept is pretty simple once you wrap your head around the concept.

Create a Class

After the constructor make a public function that creates a instance of itself.

Have that function then return that instance.



So it would look like this


Parent Movie:

var instanceMovie:ClonedMovieClass = new ClonedMovieClass();
var clone:ClonedMovieClass = instanceMovie.clone();

ClonedMovieClass:

public function ClonedMovieClass() {}

public function clone():ClonedMovieClass
{
return new ClonedMovieClass();
}


Thus you can have any number of copies of a loaded SWF or object. Now its not perfect and I will be adding more to this in a few days, but the basic concepts work.

Using Agile (SCRUMM) in a ActionScript Project

I am in the process of learning Agile Development here at the Groop. It is an interesting process to see Design, interface, business Development, and development all in the same room trying to figure out how a project will be designed and built.

I can see the worth of the system, but it can cause a lot of stress if you are the developer and you were not there at the start of the scrumm cycle. Agile systems really need for everyone who is working on the project to be there from the START of that sprint (2-6 week cycle). My Experience is that it breaks down when you have personal only coming in for a few weeks mid way through, but I understand that this is not always the case.

Anyway more to follow on the process of learning Agile in a flash development environment.

Saturday, July 12, 2008

The High Cost of Blue Ray Development (Why it will fail)

Why Blue Ray will fail

This has nothing to do with my preference in the now dead HD Wars, but it
does have to do with price, consumer apathy, technology, and the job market.

The Job Market you ask? I think the job market will have a critical impact on the Blue Ray Disks ability to be produced at a competitive cost. When I was at Technicolor, I was astounded by the lack of realization of the personal cost involved with hiring a large team of Java programmers needed for the more advanced features of BDJ.

Now a Blue Ray Author might get in the 70K range, but that is for an Author who is using bluePrint or Sonics Authoring suite. An Author does not need to have a Computer Science Degree. He Does not have to know Java.

Even if an Authoring Tool is developed to Allow for complex BDJ (Blue Ray Java) Like production (Technicolor was working on such a Tool as are others), you will still need to have Java Engineers on Staff to do the changes that always come up.

A Java Engineer with 3-5 years of experience in the Internet field can make a LOT more than 70K. I know that a AS3 Flash Developer (Which is very much like Java) with 3-5 years of Experience can make 90K to 130K range. So I can only assume that Java Engineers make more (A friend at Yahoo makes 110K with 5 years of Experience in web Java Development).

So the expense of the Personal is going to be more expensive. If they hire young programmers of Java, then once these Java Engineers figure out they are going to be paid much lower than the Internet field, they will leave. More experience personal likewise will be wanting the same sort of wages, thus large companies like SONY, Technicolor, and Deluxe will all have to rethink there staffing or not be able to keep there present staffing.

From Recruiters that call me wanting me to go back into this field, I know that the above companies are all trying to find personal to work in blue ray production. They have been for the last 2 years and they are having an extremly hard time finding works.

Personally, I think a developer would be nuts to go into such a narrow field. There are only 3-4 companies in the USA that are doing this type of work. That's It. There is no room to job hop, there is no bargaining with companies once you work there as everyone knows everyone. Once you are a BDJ Developer, then you are stuck doing that work. It would be far better for a developer to work in the Internet field with hundreds of companies to work for.

And I am not going to go into the fact (In my Thoughts) That physical Disk Media is on the way out. Just use the Netflix Direct to Your HD Feature. IT' s very close to DVD Quality and its a wonderful and convent way to watch a movie.

The Only Thing that is missing in the download to Disk market is some sort of Menu Structure. I tried to push for that development path at Technicolor in 2006, but no one was interested. Once that happens (with the Adobe AIR Media Player?) Then much of the reason to have a disk is gone.

But If the recruiters are anything to go by, then the tradition development companies are having a very hard time finding people to work on BDJ for the pay they are offering. Unless thoses companies realize that we are no longer doing disk development but software development, then I do not see any change in the market place.

Ta, Clive