Archive for the ‘Uncategorized’ Category

We have moved…. Again!

Posted: July 7, 2011 in Uncategorized

Here is the new site we have joined https://sprunnerstudio.wordpress.com/

Advertisements

The Blog Reanimated!

Posted: June 29, 2011 in Uncategorized

WOO! I shall reinvigorate this blog by posting actual stuff WOO!


Programmer’s Manifesto

1. I will help those who are willing to learn.

2. I will not waste my time trying to help those that will not put in the effort to learn the newer, harder, more efficient way.

3. I am not bound by law to answer your forum posts within thirty minutes of you asking the question.

4. I am willing to learn a harder thing if it helps my knowledge.

5. I will not waste my time if you can’t be bothered to post readable code (Learn 2 )

6. I will not waste my time if you can’t be bothered to figure out which line of code is the issue and instead posted all 200 lines of your class.

7. I am not psychic and will not open your thread if it does not have a meaningful title related to the issue. I.e. “I need help” is not meaningful.

8. I am the first of things to be wrong. If something bad happens, I’m the first cause to check.

9. I will follow my gut feeling. If the code feels wrong, or smells, then I will attempt to change it to the best of my abilities.

10. I will attempt to read a book or part thereof, or attempt a new challenge in a field of expertise to improve my knowledge and ability atleast once a week.

11. I will try my best to write high quality code the first time. Improving it as I learn more or as needed.

12. I will make every attempt to finish what I start, and give up only if it proves futile or fruitless.

13. I will only use one code convention for a project, and I will change any code that doesn’t match the code convention to match the code convention.

14. I will not waste my time if your code uses lots of arbitrary, non descriptive variable names.

15. I have my own personal life to take care of before I help you.

16. I will not answer to those who tell me what effect they want, expecting someone to do it for them, before they try to write the code and figure it out themselves.

17. I will try to help those who use correct grammar and punctuation in my posts.

18. I will not refer people to a trial of a popular-but-expensive proprietary tool when a viable alternative exists.

19. I will always practice the meaningful use of whitespace and indentation, and I will learn to comment my code in a useful way. Code that cannot be read easily and understood quickly is useless, and I should not expect help with it.

20. I will learn how to use the edit button and how to properly format code before I post it on any forum on the internet.

21. I will always support beginners who try to learn, I will always scold beginners who try to teach.

22. I will not overlook the importance of planning how my code should be structured.

23. I will set goals that are ambitious, but reachable.

24. My first game will not be an MMO. Pong or Tetris is fine.

25. My first game should be pong or tetris or bejeweled. Something that’s simple and there exists hundreds of tutorials on.

26. Unless I have the language completley mastered, I will always have the language reference ready for lookup.

27. I will explain any help I give to a beginner and in turn teach them rather than only providing the answer.

28. I will never assume I can remember every single intricate detail about any language because there are too many and human memory is flawed.

29. If I take up programming in any language I should also attempt to learn more languages after I have mastered the language I started with.

30. I understand the learning a programming language takes time and real effort. I will devote my time into learning, and not give up.


Here’s a list in no particular order :

Ease of use : Most players aren’t going to read the help section to figure out how to activate that special key. (See Next Item)

Easy Learning Curve: As you progress in the game, tool tips pop up to show what that little lever does and whether or not to trust the little elf.

Illusion of Choice: Players love to think the are outsmarting the programmer when really no matter what they do ends in the same result.

Easy Controls: When I play a game I don’t want to have to read a ten-page account on the different key’s and what they do.

Lack of Bugs: Any small problems and any illusion of a seamless(professional) game is instantly shattered.

Achievments: Pull handle receive cookie. Players love the feeling that they are actually accomplishing something and not just wasting a valuable day at work.

Pretty Graphics: If a player sees an ugly platform or cliff,  the illusion of a big important programmer high up in the sky is shattered, and the realization of an smelly middle-aged man is discovered.

Special Effects:  When I see a tremor in the screen when I shoot that enemy or I see a flash of red when my spaceship is hit I assume a ton of work and effort went into the game

High Scores : Competition is what makes baseball, football, and Super Smash Bros. fun. Flash games are no different.

Upgrades: What would a Tower-Defense be without the ability to upgrade that water tower? Boring.

Many Custom Items: (See Above)

Illusion of cleverness: People love to feel smart. Just look at a game like Doodle God . It is nothing more than clicking two different labeled blocks until ou stumble upon a pretty animation revealing yet another pretty block. Rinse, Repeat.

Likable Anti-Hero : Examine Portal, without GLaDOS, this would be a very boring game.

***Sponsor Logo*** :  This one might be controversial, but look at a game like Epic Combo. Without Armor Games logo on the beginning of it, I feel peoples opinions would be quite different.

Style: Know what you plan to make before you start writing a game! I have seen so many games that are like sponges. On one level the art is beautiful, yet on the next it looks like cartoon-art, and on the next it looks like steam-punk.

Good Sound FX: Immerse the player in seamless sound effects. Make them forget that PS3 or 360 in the corner.

Flawless Spelling/Grammar : (See above )

That’s part 1 folks. I would love to get peoples reactions below. 🙂


There are some lesser known functions in the Key class. I plan on going thru them one by one until it is clear of what and how they work. The first we will examine is anyDown(). This function is for checking whether -you guessed it- any keys are down! YAY!!! The way this works is as follows:

It analyzes  the sector in which the keyboard is in your webcams camera and then looks to see if the pressure traces on the key is visible. JK, it is much simpler than that. Let’s look at the code :

<blockquote>public static function anyDown(code1:int, ...codes):Boolean {

if (code1 >= 0 && code1 <= 1048575) {
if (Keys[code1]) return true ;

}
for each (var code:int in codes) {
if (code >= 0 && code <= 1048575) {
if (Keys[codeKey]) return true; *

}
}

Let’s go line by line:

if (code1 >= 0 && code1 <= 1048575) {

(This checks if  code1 is bigger or equal to 0 and smaller or equal to 1048575. Please note that code1 WILL be within that range if any keys are pressed.)

if (Keys[code1]) return true ;}

This checks if (Keys[code1]) is down. If it is, anyDown will be true;

for each (var code:int in codes) {
if (code >= 0 && code <= 1048575) {
if (Keys[codeKey])) return true; *

This little chunk checks if any keys are down. If they are, anyDown will be true

Here is the usage:

if ( Key.anyDown(Key.A, Key.S))
{
DO SOMETHING
}

I hope this has helped you to understand the way anyDown works.
Write in the comments below any Comments/Suggestions!

A slight introduction

Posted: November 17, 2010 in Uncategorized

Welcome to my humble programming abode. With this blog I hope to help some people starting out programming. I will write mostly about AS3 (Action Script 3) but may diverge from it to talk about other shennanagins. Any comments, tips, or suggestions on what to talk about are welcome.