Star Wars TFU: Review

September 23, 2008

It happened only 1 hour ago. We (the devil himself, Wolfgang Teufl) have finally mastered the big boss of the game ;) . Approx. 12h of pure gaming-time with heavy use of “the force”. For me, the best Star Wars game ever, especially because of the story. I always liked games with a nice accompanying story and if the game is called “Star Wars” it is maybe one of the most important things.

If the story sucks, the complete game is useless. But, in TFU every fan of the series would love the attention to detail, discovering known characters and the total immersion into the Star Wars universe.

The game itself is well designed and for me the matte-paintings are one of the most beautiful ever seen. The graphics-engine makes heavy use of post-effects, especially distortion(waves, heat-waves, etc.) every time you use the force. The force is great to handle, HAVOC physic-engine allows you to put up nearly every piece from walls and floors. Breaking wood, glass and bend metal are features you will need very often if you want to go safe threw the levels.

One thing that is very annoying and some magazines and posts in different forums also have mentioned it, is the 3rd person camera. 3rd person is ok and in most cases i would prefer it, instead of a 1st person one, but for players it is much more difficult to play, if the camera is not perfectly balanced and intelligent enough to avoid crappy perspectives. F.e. Assasins Creed has a very similar way of looking at this problem. A lots of narrow lanes and corners and they have done their job much better than the guys from Star Wars TFU. Hopefully there will be an update on this issue, so i could enjoy the game 100% for the next time, when i will play it as a “Sith-Master” ;) .

For me, already now, one of the best games in 2008.

Google Toolbar overrules the world! S**KS!

September 19, 2008

I only want to contribute the following issue. If a user have a Google Toolbar installed (and those are many) and the Auto-Fill feature for form-input fields is activated (this is “on” by default) will overrule CSS-background-colors for input fields.

A practical solution is to use the !important statement (it works well for me).

#inputText {font-family: Verdana; background-color:#666666 !important; color:#ff....}

Overruling S**CKS!, this is no good practice and Google should restore the behaviour of the toolbar to what it should be, an unobtrusive addition to the browser.

Star Wars TFU: 2 weeks left

September 1, 2008

It’s no secret. I am a Star Wars Freak. Only 2 weeks left for the most important game this year (in my opinion). Go and get it.

Firefox 3.x Bookmark Sidebar

September 1, 2008


In earlier Firefox versions it was common for me to click on a bookmark and to open it in a new tab. This is also possible by now, but only if the current site has already started to render. If the site is not initialized you will get a “greyed menu”. I never had this issue before and i really hate it. Is there any possible tweak for the about:config to change this behaviour?

Flint Particles 3D

September 1, 2008

One of my favourite AS3 libraries is Flint Particles, a flexible library for creating stunning particle-effects. I have used it in a running project (more about that soon) and i was totally satisfied. The one and only thing i missed is particles in 3D-space. But this issue is now resolved, the guys from bigroom.co.uk have released a new version of their fantastic project. Get the update from Google Code and start to play with it.

Busy and some Info!

August 25, 2008

Last 6 month were horrible at university and work and finally have some time to join the community again and leave my 2 cents here again.

One great thing to mention, we (a team of 4 web-game-enthusiasts, i will give some credits to my mates soon) have finished a physic-based game that will go public sooner or later. It is maybe the biggest thing i have done in the last 3 years and it was in production (with some timeouts) since October 2007.

The cool thing is, i am allowed to publish huge parts of the code as Open-Source, sure this will take some time (cleanup messy code, documentation, etc.) but maybe it is a good platform for your game-developers out there. Basically it is based on some great articles and books about C#/XNA game-development(Game-Loop, some classes are influenced by XNA) and the game-application is based on a Finite State-Machine, different Patterns(Factory, Singelton, etc.), a lots of Frameworks and Libraries (Motor2, Tweener, Flint-Particles, AS3-Data Structures, Bulk-Loader, and many more). I have also build up some structures to use Shared Libraries(Application Domain, Fonts, etc.).

I plan to write a series of articles about game-development based on my own-written game-package(there is still a lot of code to refactor) which should be useful.

The articles will include:

  • Finite State Machines
  • Libraries & Frameworks
  • Useful Patterns
  • Planing the Game
  • Prototyping
  • GamePlay
  • Forms (Registration, Password, etc.)
  • Designer vs. Developer
  • Performance & Measurement(Micro, Macro)
  • Authoring-Environment Issues
  • Shared Libraries
  • Debugging & Development Speed
  • Collision-Based Sound

As soon as the game is released i could start to publish the code, the articles will start a bit further. If you have special wishes on this series, i will accept requests if they are on topic. Guest authors are welcome.

h.

Observation by State

July 18, 2008

I am living in Austria and currently there is a discussion about how to observe the internet-traffic. This is more interesting for Germans and Austrians, because we all know the problem of a “Bundes-Trojaner”.

Several engineers from different Austrian companys and the interior ministry are discussing about technical solutions for observing internet traffic. Last year they discussed a so called “Bundes-Trojaner”. This is a virus written for observing criminal citizens. They want them, because they think they aren’t able to observe Skype (For sure, could be tricky, but nothing is impossible).

Main argument was, the new security dangers force us to do something against it. This means, translated for the stupid ones.

“Osama is using VOIP for command new attacks”.

What an absolut dumb argument. I could not even say how angry i am, when i hear something like this from responsible politicans. Let’s have a look at our security issues.

There is a bit of a mixed culture in the bigger citys, but not as heavy as f.e. in Berlin, Germany. This fact bring us some conflicts from time to time, but there are no “real” or big problems. So, Austria is also a very small country, there is no strategic interest (except finanical) on us. We are in the middle of a bunch of states, called the European Union. We have neighboures with big armed forces, but they are friends, not enemys. So, why we should observe everyone’s web-traffic.

WHY?

Maybe someone think, i am a potential terrorist, that will bomb the Houses of Parliament next year, so they should observe how i prepare for this. For sure, they should also observe my web-traffic. I will use my standard-net-connection at home for getting some information on how to build a bomb.

First step is to use Google-Earth to find out how i could enter the building. Then i am going to hack the computers of the energy-companies for shut down the electricity (Maybe they have an open web-service-API for this, so i do not need to hack it.)

Oh, sorry.. forgotten somethinkg.

I will use YouTube to generate a video-stream for the observation cameras, so the watchman, watching them, does not recognize me.

Then, i will search on FlickR for getting some plans of the building, to know where is the best place for placing the bomb.

Finally, i will write a new SSL-based protocol, encrypt it with an own-styled method and tell my complices when we will start and how we do it.

So, Mr. home secretary and friends, you will never know more, than i let you know, but i am not a criminal, so maybe the “real” criminals have better ideas, than i have.

Ask yourself: Why, to reduce the freedom of Miilions, for hoping that you are able to prevent crime that will never happen?

Ps.: If you, what i think, want to know  who is downloading illegal MP3’s, movies and other so called “copyright” content from P2P-networks, than you should better have a look at the consequences than the money from your lobbyist.

Never mind what others says, copying a MP3 is still the same than crossing the street if lights are red. It could hurt, but it shouldn’t at 99%.

h.

Dreamweaver CS4 Beta: "It's time for teamwork baby"

July 17, 2008

We are using Dreamweaver in different versions at our company and sometimes for us, Dreamweaver is more or less the best choice. But we are always missing some workflow-features. We have tried to implement an Eclipse-based solution (PDT, WDT, Subclipse, etc.) into our daily workflow, but this was no real alternative.

Next step was to put all of our code into a repository. But if you have to do quick changes(and this happens very often) and login with Remote-Desktop on the Production-Environment, you always will break the repository, because lack of time and the next day someone has to “Clean-Up” the mess. So we are falling back to the Check-In, Check-Out method, availabe in Dreamweaver since i know it (MX or so). But in comparison to an SVN-solution this is not very satisfying.

Next big issue we have is using CSS-based layouts and “Includes” in DW. It seems that till version CS3, DW is pratically only useable with static pages (except you use tables for some parts of the page, but i do not like this idea very much). For cases, where a CMS is not a solution, Dreamweaver is our best friend and so we have to do a lot of debugging with FF and Firebug, or IE and Developer Toolbar.

BUT

Dreamweaver CS4 will have some features that are targeting this 2 major problems we have. SVN integration into DW. Works great for me, but check your SVN-version, DW will not work with the current release of SVN(I hope a more  SVN client into DW will be replaced for the final release).

And, the new Live-View is wonderful. F.e. if you have a calendar-widget which is included like this


include("calendar.php");

you will never get the page correctly rendered. But if you have access to a testserver(Configured within Site-Manager), than you can use Live-View. Therefore Dreamweaver loads the site from the testserver and link the code from you to this live-perspective. So, you can jump between Code and Design perspective and edit your code.

We also like, that related documents are opened in “subtabs” and you can instantly work on these. We have discovered some bugs in Live-Mode and there are some feature requests we have.

  • If you have Java-Script activated and you click on Design-View, you could never go back to any line in Code-View, because of a “marker” or so, DW is tries to jump all the time.
  • If i edit a file in Live-View, the Webkit-rendered-presentation never get updated.

I have to restart DW after writing some messy HTML-code, because the Webkit-DW-Combo could not handle this. I have to do further testing to find out under which conditions this things are going to happen.

Finally, DW CS4 will be one of the most important releases in 10-years of development.

Face it! An animated short.

July 3, 2008

Some friends of mine have done a 2min cg-short movie. Have a look, i laughed a lot as i watched it the first time.

Direct Link

FP10: Vector vs Array

June 18, 2008

Update

I have replaced the Sprite by an own class/object (SimpleObject with 3 public properties, x, y, z). The results are the same.

Vector vs Array

Started a little speed measurment with new Vector-type and the “old-fashioned” array. As everyone could read in the Adobe AS3 Docs, Vector should give us some advantages over Array iteration and data-access.

I have tried several test-settings and i was completely surprised by the results (in a bad way).

What i am most interested in, is fast access of objects. So i create a pool of object-references(simple sprite), one as an array and the other pool is defined as a Vector.<Sprite>.


var i:uint = 0;
var n:uint = N_TEST; ( n = 20000000)
var v:Vector.&lt;Sprite&gt;;
v = this.objectPoolV;

var timestamp:int = getTimer();

i = 0;
var r:Sprite;
while (i &lt; n)
{
r = v[i];

i++;
}

result.htmlText += "&lt;br /&gt;Result Vector Complex Operation Test: " + (getTimer() - timestamp);

This was my first test and the difference is noticeable (but look at n, how high it has to be for even get a small difference).

  • Vector result: 511 ms
  • Array result: 659 ms

But this is not a very commen use. So, next step was to save the reference in a locale variable and move the sprite in all 3 directions about 10px. I have done this test with and without an explicit cast.


var i:uint = 0;
var n:uint = N_TEST;
var v:Array;
var r:Sprite;
v = this.objectPoolA;

i = 0;

var timestamp:int = getTimer();
while (i &lt; n)
{
r = v[i];
r.x += 100;
r.y += 100;
r.z += 100;

i++;
}

result.htmlText += "&lt;br /&gt;Result Array Complex Operation Test: " + (getTimer() - timestamp);

This result i have never expected, array is faster!! than the vector, but why? I am only referencing to the current dataset.

  • Vector result: 5118 ms
  • Array result: 4885 ms

If i cast the array, the result is worse than without a cast.

 r = Sprite(v[i]); 

I know, casting is expensive, but look at the results with casting.

  • Vector result: 7055 ms
  • Array result: 7126 ms

So, finally let’s have a look at the worst sample. Direct access of properties threw the Array and Vector.

var i:uint = 0;
var n:uint = N_TEST;
var v:Vector.&lt;Sprite&gt;;
v = this.objectPoolV;
i = 0;
var timestamp:int = getTimer();
while (i &lt; n)
{
v[i].x += 100;
v[i].y += 100;
v[i].z += 100;
i++;
}
result.htmlText += "&lt;br /&gt;Result Vector Complex Operation Test: " + (getTimer() - timestamp);

I have to reduce the N_TEST constant to 1000000, here are the results

  • Vector result: 1751 ms
  • Array result: 1631 ms

Is anyone able to confirm this results?

The complete testfile is downloadable here. (If you find a mistake, please tell me).

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org