07Mar State of the Developers
The past week has been extremely busy for me as both work and my personal research projects consume most of my waking moments. However, I believe that it is important more than ever to continue my blogging as it helps me remember the little bits of wisdom I stumble upon and to keep a working achieve of notes to reflect on. Otherwise these things become forgotten in the hussle of the present. Well without further ado, here are some collected tidbits of information from across the internet:
Quelsolaar Blog (http://news.quelsolaar.com/)
This is a fantastic blog of Eskil Steenberg who is both an amazing C developer but also humanitarian. He has a fantastic knowledge of shaders, networking, color theory, real-time modeling, and abstract game theory. His blog covers some of these items as well as some great topics on humanitarian subjects.
Scarygirl being developed by Touchmypixel is a very impressive Flash game. However, I couldn’t find any information on when it will be released.
Shred Nebula, a small game studio in California, released its documents (http://www.shrednebula.com/design.html) that details their XBLA game used for pitching to Microsoft. With over 35 pages of amazing conceptual illustrations and information, they where accepted, and their game sold fairly well. Below is a picture of their home brew studio. I love the comfy armchairs for the projector demo setup and the arcade machine in the corner.
Last but not least, I found an interesting video on FORA that talks about the concept of metacognition:
Have any links about the development world that you found interesting? Please do post them below!
26Jan FlashVars for EVERYONE!
When building utilities that can be used with both Flash and Flex, there are two common hurdles that developers run into. The first one is that Flex does not pull FlashVars the same way that Flash does. This means for ActionScript utilities that rely on html inserted variables will need to be separated into two separate files or need to have flashvars passed into the utility from the outside. Another hurdle is that Flash does not have a global reference to Stage- instead it can only be accessed through display children of stage. This is problematic for utilities that work with Stage as they can only get there reference of stage when it’s manually passed into the utility as a parameter which can result in an ugly web of stage references being passed around.
However, I finally got the time to develop a workaround that solves both problems with classes FlashVars and StageReference. The tricky part of this implementation was building a utility that could use the class Application but not reference it when it was being built from Flash since it would cause the compiler to fail from the invalid class reference. I worked around this issue by grabbing Application by getDefinitionByName so that the Flash compiler wouldn’t fail since it was a weak reference.
With Flash, use StageReference.stage = stage in Frame 1 or in your document class’s constructor. This will give you the global reference to stage and also allow the new class FlashVars to pull flashvars automatically when compiled in a Flash project.
The custom class FlashVars is used in this fashion:
or
This usage is exactly the same from Flash and Flex! No more having to switch from loaderInfo.parameters to Application.application.parameters when porting utilities between Flash and Flex.
Download (includes StageReference): flashvars.zip
08Aug Theory: AI Directives
I have been musing about the best practical way for giving NPCs (non player characters) a clear set of directives for living in its environment using simple AI logic. Based on the notion that any character’s environment is dynamic, en-queuing a character’s broad set of daily actions seems impractical. Instead, it would seem more logical that a NPC is assigned a range of actions they are able or willing to perform and given a rule on when they are ‘prone’ to each action based on different weights. For example, instead of having a NPC eat exactly three times a day, the NPC would have a hunger counter and when the value reached so high- they would seek out food. This would allow a higher dynamic range of actions for the character as they could eat more or less during the day based on things like how much physical activity they where doing or if they ate something that reduced their hunger for the next meal.
05Aug Flash Links of the Day
Science&Code: Actionscript optimization
Posting on FinalFinal.com on the makings of the Red Invaders Flash Game.
Casual Game Development Blog – Techniques and Algorithms (most theories can be applied to Actionscript)
05Aug Meta4orce Flash Game
This is a very well developed game that while not original in the game type- the implementation was well executed. The objective of the game is to build defending structures to keep the red bits from passing through the level…
http://www.bbc.co.uk/switch/meta4orce/launch.shtml?id=shocktothesystem
31Jul JADRAD engine
I programmed these examples several years ago… I’ll edit this blog to explain more but JADRAD is rather impressive for a newbie start in game programming at the time.
This is an RPG engine I programmed using C++ libs and BlitzMax. It is all hand-made as I was doing it for learning purposes. This includes graphics engine, AI, pathfinding, rpg system, map system, and more.
JADRAD RPG Engine (ZIP – 3megs)
On the flip-side, here is another very very simple AI test for swarming:
AIants (ZIP – 600k)
31Jul Flash Tip of the Day
I am going to try to post something code related everyday (maybe except for the weekend). So today I will cover a super easy tip:
When setting the same property on different objects, you can same time by instead of doing this:
movieClip1.visible = false;
movieClip2.visible = false;
movieClip3.visible = false;
Do This:
movieClip1.visible=movieClip2.visible=movieClip3.visible=false;
Easy, huh?
