Wednesday, December 18, 2013

A note from my older self: How to get started with coding

A lot of times I sit around thinking about how I could have gotten to where I am now, faster in my life. There were many times where I would be stuck for years, not able to figure out my next step. One of those steps was learning how to code.

Now, for a 14 year old to get started with C++ without so much as a basic understanding of ANYTHING, I can see how I was restricted. I would do things in HTML, back when it was very flat and nowhere near as dynamic as it is now.

I had a book named Learn C++ in 30 days. And the one thing that this book failed at, was setting up. So many self help books seemed to just assume that the person would know how to set it up, or how to figure it out. And at such a young age, with no experience or tutor or mentor, or anything. And with the internet at such an infant stage of information sharing, I simply couldn't find the answers I needed.

These books were supposed to teach me, and they failed to even get me started! Print "Hello World" is a horrible start. I don't want to print a message. I want to know how to even start. You can't tell me to print "Hello World" and run that. Because I had no idea how to run it! You need to go back SEVERAL steps before I can print "Hello World"!

But... at 14 I had access to a teacher in my high school. He taught Computer Math, and he was the school's "tech guy". They called him in to look at the servers and what not. I think anybody who has had that experience, of being grudgingly needed but otherwise avoided, will understand the position this man was in.

My lesson to my older self: Ask for help from your teacher. You WANT to learn, so make time. Ask for time, and seek it out.

Now, this was over 15 years ago. I think kids today have a much easier entry way into coding. So if you want to do it. Reach out there and grab your opportunity. Coding is actually easy. The difficulty of it, comes from creatively understanding and developing the solutions to get the results you desire.

Coding is an extremely creative process, that requires years of experience to accomplish through "feel" alone. As it stands, I have to sit and plan out more complex thoughts, on paper before I commit it to code. Creating diagrams, and logic trees to make sure that what I'm trying to accomplish makes sense.

Monday, December 16, 2013

Dungeons & Dragons: Neverwinter

So Cryptic has Neverwinter out on Steam, which I thought was a perfect opportunity to jump in and play this F2P MMO. Now, Neverwinter does not play like Champions Online, though I wish Champions played a little more like Neverwinter!

I'm not very far in and haven't gotten a companion yet. Here are my impressions thus far.

A) Quests auto-update and change as you go through them


This is a big plus for me. For a long time, in older games, you would have all the objectives as is already on there, and you would finish a quest and get a new one added.

B) Dialogue trees


Even if they don't lead anywhere, the conversations are nice.

C) Voice acting on the main plot


This is becoming more common as MMOs continue. This is nowhere near lets say, SWTOR, but feels more than I remember from WoW.

D) Player created Missions and stories


I suppose people who played City of Heroes might know about player created content. The Forge lets you create a series of events and combats for the player to deal with. I haven't explored it much yet, but I've played one level, and the amount of things that they did, were nice, and I can see a great deal of possibility in this game.

E) Dynamic, action based combat.


I feel that the game's combat is similar to videos I've seen of Wildstar. You see where enemies will attack, and you dodge those areas, while playing an almost 3rd Person Shooter. Very fun.

F) Group Events and Beatdowns, ala Champions Online


These like mini-instances. Go in, fight off waves with a team, and take down a big bad. Your involvement decides your reward.

G) I haven't felt the pressure to buy yet


10 levels in and I haven't felt any restriction to my game play. Not saying it won't happen eventually, but they have a game that is more than fun enough on its own, and they give you space for profession materials, and I've earned one extra bag so far (which I haven't even needed yet).

Friday, November 29, 2013

NaNoWriMo 2013

Wow! I did nothing this month. Quite honestly, between GDCNext, and overtime at my job, and a horrible sick weekend, I didn't have a single moment where I was in a headspace to write, mostly because I was walking around like a zombie.

So there you go, one of my least productive NaNoWriMo. To those of you in the same boat though... there's still 2 days left! Start writing! Have November be start writing month, and just keeping going through December, or however long it takes you!

Wednesday, November 13, 2013

What I felt about the GDCNext Expo Floor

Hey fellow GDCNext peeps! Happy first year! I was very happy to be in GDCNext's first year in Los Angeles. Well, this was also my first conference, so it was a pretty special event for me!

I got to meet a lot of great people, including meeting my team for the first time in person. So all these things add up to an amazing event. With that in mind, there were certain themes that kept popping up on the expo floor.

1) Microsoft constantly kept blaring about the failure of the app, and the success of the product. That is to say, that what you make has to be on multiple platforms (to them that meant Windows RT and Windows 8). The customer needs more than the phone app, but also the ability to have a desktop app, and have the two synchronize without issues.

2) Code in One Language, and output to everything. Only know C++? They have a company that has the ability to take your C++ code and put it on android and iOS and everything in between. Over and over again, I kept seeing the build once/output to everything being sold by different companies, all with different languages as the source.

3) "We can advertise your game, or make you money by putting ads in your game!" Even Google was there with AdMob. Everyone wanted to get in on advertising in your app. And if you need to advertise, they already have SO MANY CUSTOMERS around the world!

4) Convenience. Middleware is growing, and middleware systems are also growing. Don't handle your customer's passwords! Don't worry about monetization, we can make you money!

But everything only made me want to be able to attend GDC in San Francisco! I don't know if I'll have the funds to do so, but if you can make it to a GDC event, it is a great conference to attend!

Monday, October 28, 2013

Rift: Free 2 Play

So Steam did this big splash screen about having Rift Free to Play. So I decided this is the perfect time to try the game. No start up cost, just jump in and play. I played the game for about 6 hours then uninstalled.

Not because it was a bad game, but because I started seeing potential issues with the game, and didn't want to invest deeply into it. For one thing, I played it for six hours straight. I can't even pull off doing that with League of Legends. This was mostly due to discovery and experiencing a new game, but there was a feeling of constant activity in the game.

The final 2 hours were spent in this sort of random group questing, where you are piled together with several other people, and just rampaging across the countryside finishing off quests. I'm not even sure where the quests were coming from, just that I went from killing spiders to plants to boars without batting an eye. Rewards in this were fast, and I didn't feel like I had earned it.

The Rift system is interesting, but at one point there were 30 guys just bashing some rock or something. Again, rewards were easy to get in this. Because of the easy rewards system, I was able to get pretty good pants and weapon for my level (7 dps jumping up to 14 or 21 or something, can't remember the exact numbers).

I didn't get deep enough into the soul system, but I was annoyed at the auto-leveling that it tries to trick you into (I thought pressing the pop up would let me go set the points, but it automatically places the points).

Questing was a brain dead endeavor, where you don't read anything and just follow the mini-map (very much like WoW). Which really put me on edge with the game. I did like the everyone has a pet kind of thing (my Teleporting Rogue had a pig from the hunter tree, and my warrior had a pet cat).

The other negative was that the races just felt like different flavored humans. The only MMOs I have played where I enjoyed the race selections where EQ2 and WoW.

So, if you want to try out a F2P MMO, Rift is very decent. I never felt forced to pay, though they do a good job of letting you know you can (I didn't play long enough to need more bagslots btw, but that would be one reason to pay). The RMT in the game seems reasonable, though it does the one thing I dislike, which is converting real money to their play money. Though that seems to be the standard, so there's not much to do about that.

This is a recommend to check out, though in the end it wasn't for me, because I can't afford to lose myself for such long periods of time.

Monday, October 14, 2013

Reminder to Self: When Youtube stops working on Chrome

If youtube.com has stopped working on chrome go to:

chrome:plug-ins

one of the top plugins... perhaps hidden away, is the flash plug-in. It may be disabled. If it is, enable it, and youtube should start working again.

Tuesday, September 24, 2013

Semantics, Heuristics and Communication

Communication is one of the hardest things that humanity accomplishes on a daily basis, and more often than not, there is a bit of loss when you translate thought to words and back to thought in someone else's brain.

In game design, quite often you have to start somewhere, such as, "This game will be like Zelda: OoT but with biblical mythology and a modern setting."

Such shortcuts allow for fast absorption of the key data, and can allow for discussion of the actual game development to begin earlier and at a faster pace.

But even using the above heuristic shortcut, some data can be misinterpreted, or flat out misunderstood. For example, does the Zelda aspect mean dungeons, a main weapon and different sub weapons? Does it mean heart containers are found? What is biblical mythology? Is it the parts in the bible? Or is it the parts that people make up as they interpret it? And by modern... do you mean now, within the last 20 years, or 20 minutes into the future?

Yes there will be questions and clarifications, but it sure is a lot faster than detailing it all at first, and pictures already begin forming in people's minds as the question and answer goes on. Collective brainstorming occurs, and a game gets designed.

This can often be seen as a "sales pitch" of the game, but this type of thinking and communication clearly shows what you want to do, and how it will be different from the current offering available.

"This is a MegaMan game where you're a an unemployed teenager and have to train and get jobs."

"Its like Bionic Commando, except sci-fi, 3-D and the mechanized arm is your wife."

So to everyone who has to work with other people on cross disciplinary projects, the greater your breadth of knowledge, the easier it will be to communicate. So read a book you don't like, play a game that sucks and has a low metacritic score, and finally, experience life. Good luck, have fun.




Thursday, August 29, 2013

White Privilege

It's strange talking to people about things they have, and emotions they experience, when they feel that they are just and fair, and don't have those reactions and emotions themselves.

White privilege is a topic that brings up anger in people, who feel that they don't have it, and that it is unfair to accuse them of such. They are not part of the "conspiracy" to keep other ethnicities down. They have no problems with minorities. They are not the white privilege.

Yet, they proceed to talk about, how they are not getting a job because under qualified women and minorities are being hired due to affirmative action. They can't see that their view point is exactly the result of their white privilege.

But white privilege is just the definition of something that happens to all ethnicities. All ethnicities listen to their own, protect their own, and have a sort of fear of the other. They can tell the differences among themselves, and often have great divides amongst themselves.

That is to say, not every hispanic, asian, white and black is the same. But of course, there are common factors which tie each person together, and there are new global cultures springing up around the internet and video games, that can tie disparate nations together.

Its easy for me to communicate with people who use the internet. Doesn't matter what the color of their skin, or what country they are from. Things like that, are to me, why the internet is so important. It is a shared culture.

So as a white male, I wish to say to other white men and women out there:

You are privileged. You expect people to listen to you, and you expect to be treated a certain way. You don't think anything is wrong because nobody bothers you about it. You are not stopped and searched. You are not assumed to be a criminal. You are a special little snowflake. And when you notice this happening, you need to speak up. You need to correct the injustice that is occurring to your brothers and sisters. You need to stop the apathy towards others.

Monday, August 5, 2013

Kill your Darlings

Sometimes you can feel that something is wrong with a design, concept or story, without knowing what it is. On some gut level you feel that what you are doing is not beneficial. But how do you transition from gut feeling to productivity?

You see, when your gut is telling you that something is off, it can be difficult to work. Authors refer to it as writer's block. It is a conundrum that has to be resolved so that the work can be the best it can be. Sometimes it will require rework or scrapping a project, but the sooner you realize what is wrong, the sooner you can fix it.

How this May Progress:

Procrastination -

Perhaps the one that can be the hardest to identify. If you procrastinate already, it can be difficult to identify your normal procrastination from that resulting from a problem. This procrastination occurs because you have no solution for the problem, yet you do not quite understand that the reason you're doing this is because of that lack of solution.

Solving Easier Problems -

That is to say, that instead of tackling the big mess, you spend time clearing out your inbox, responding to twitter, etc etc.

Essentially, you do not want to tackle the problem, you are aware of it, and so you fill your time with other things that "have to be done", but are of lesser priority.

Writing or Talking about the fact that you are Procrastinating or Solving Easier Problems -
You are now addressing the issue that there is a problem. You are talking to other people in an effort to find a way to save that problem, or to finally come to the conclusion, that it has to be resolved some how.

Solving the Problem, or Killing It -

And here it is, the whole point of this mess. If you can't solve the problem, then you have to come to terms with killing it off.

How to Kill:

Combine it with something else -

Maybe the character is a bit redundant, maybe their role can be merged with another. Perhaps the mechanic is just not interesting enough by itself. It could be that you don't need jumping in the game, so you can just put any jumping with the other Quick Time events in the game. Have it be context sensitive like other interaction points in the game instead.

Remove it entirely -

Is the scene causing more trouble than its worth? Sometimes, going back and rewriting, or recreating a room is better than trying to shove something where it doesn't belong. The best authors have every scene progressing multiple things at once (character, story, setting up a Chekov's gun). Similarly every area of a game, should be exploring the game world narrative, the character narrative, and the player narrative.

When thinking of moving from controls to touch gameplay, I wondered if I should keep the character icon, or if I could remove it entirely instead of animating it for touch. Sometimes, its better to not waste time on additional animations, while other times, the investment allows the game to feel more "juicy". Think it through and make the decision.

Change its location -

Sometimes a scene doesn't work because it hasn't been set up. Maybe make the scene take place later on, and have the current moment set up that payoff. In a game, you may need to have a room or two where the player can safely play with a new mechanic. You may feel that you have to rush it, because the level is already built, but you should evaluate the space, and attempt to script around this, or simply move the challenge to a later spot.

In the end:

Solutions vary based on why you have to kill your darling. Hopefully, this will at least get you back on track to solving your problem. Good luck!

Monday, July 22, 2013

What defines a role-playing game?

Role-playing: To assume or act out a particular role. To assume or represent in a drama; act out.

Assume: Suppose to be the case, without proof.

Game: For me, a game is about organization of play, with a definitive end. Where play is an abstraction of life.

When looking up the definition of role-playing, I saw that they used the word assume quite a bit, and decided to include that definition as well. This makes the definition of role-playing much clearer, as it means that you are taking a role and making assumptions about it: The role of a boss, of a teacher, or of a level 12 paladin.

"As a boss, I suppose I would sit like this, and I would talk like this. I suppose I would go and check on the employees about X, Y and Z."

"As a teacher, I would get the students attention. I'll wait until they are quiet then I'll start the lecture on multiplication."

"Okay, my 12th level Paladin is going to Turn Undead this turn."

So a role-playing game is the organization of playing a role, where there is an end goal to be reached (storyline, dungeon, etc). That role is formalized in the rules of the game.

Perhaps this view is too broad, because now, many adventure games, and action adventure games can fall into this category.

Tony Hawk Pro Skater is a role-playing game. You role-play a skater at a competition with a time limit. What lines will the skater choose? What tricks will they do? You suppose that a kick-flip would be what they would choose to do here? Then that's what they do.

There is no assumption of turn based, fantasy, equipment, stats or experience. But Tony Hawk Pro Skater doesn't "feel" like a role-playing game.

The Last of Us is also a role-playing game. Most games with a story are role-playing games. You take on the role of the hero (whether specifically, such as Mario from Mario Bros, or generically, as in World of Warcraft, where your created character is now the hero).

Now this definition is pretty broad, which is why we add modifiers to it, Action RPG, MMORPG, Turn-Based RPG, Tabletop RPG.

But, if all these games are RPGs and so many games we have played fall into the category of this definition of RPG, then what does RPG elements mean in a video game? Why do we refer to Experience gain and levels and stats as RPG elements?

This has to do with the origin of the Role-playing genre. Dungeons and Dragons was the first game to be known as a role-playing game. It sprouted from the war game Chainmail, and it changed the focus from controlling armies to controlling individual characters. The rules involved in Dungeons and Dragons, the very mechanics of the game, is what lead to the concept of RPGs having stats and character growth.

So does this mean that we need to change our definition of Role-playing games to specifically include these game mechanics? If we do, then some tabletop RPGs may very well cease being RPGs and will revert to just being games in which you role-play.

Instead I think we need to better define what it means to role-play as far as games and video games go. I don't have an answer for this, since really, this should be a public conscience kind of thing.

For example, if we say that video games with role-playing are games where a player makes in character non-mechanics decisions, then many story focused adventure games should be considered RPGs (Telltale's The Walking Dead for example), where games where the only decisions are game mechanics based (Naughty Dog's Last of Us). Yet, Walking Dead is an adventure game with some action in it, and Last of Us is an action adventure game with some RPG elements in it (pills allow you to power up, essentially counting as a form of experience gain), or elements that modify game play by increased character ability and not necessarily player ability (health gain, less weapon sway).

So, with RPG elements being mechanics that originate from RPG games (leveling system for example), but having those mechanics not be the definition of an RPG, means that aside from the confusion, we can simply agree to this, continue to use it as we currently do, and not worry too much more about it.

It's good to talk about these things, as heuristics are important to simplifying conversations and allowing us to reach a goal of understanding each other faster.

If you agree or disagree, please respond below.

Wednesday, July 3, 2013

Are games ART?

"Art is a diverse range of human activities and the products of those activities" ~ Wikipedia

"In psychology and ethologyplay is a range of voluntaryintrinsically motivated activities normally associated with recreational pleasure and enjoyment." ~ Wikipedia

The current definition shown above, means that everything we do is art.

...

Oh... end of story then. Everything is art.

The definition of art is one that is very vague here, we can see how perhaps we must limit its scope before continuing. The reason for this is that the most horrible thing imagined, all the way to puns (the most wonderful thing imagined), is an art.

The limit is already there, as there is a SET range of human activities that result in art, and despite their diversity, they are not all inclusive with every human activity. Instead art is relegated to that which has human agency (non-accidental, done on purpose), and creation through imaginative and technical skill.

So, if someone says that "there is an art to getting something done", then they are saying that there is a technical skill or imagination required. There is an art to surgery, and an art to torture. So in this aspect alone, video games and any game really is also an art.

But not only is a video game itself art, but the act of playing a video game is art.

I came upon this realization, when I tried to understand why a colleague of mine, did not enjoy sport or esports. Now I could understand that as a gamer, he did not intrinsically enjoy physical games, but he also had issues with people who would dedicate time, or be proud of doing well in a video game.


The discussion led to other topics and finally it came down to why would someone enjoy watching someone else play a game, instead of playing the game themselves. This is where I finally realized HOW I viewed games as an art, instead of the wikipedia laced definition that virtually everything we do that is imaginative or of technical skill is an art.

The reason for that is that beyond JUST technical skill or JUST imagination, Art is usually praised because of a combination of both. Art is also usually something that can be experienced, either through external or internal players.

For example: A painting is the product of the imagination and skill of the painter. To enjoy a painting, the product is gazed upon, and the person uses internal actors to understand or interpret the art. The observer uses their own ability to understand the art. In a sense, they are part of the art during this time.

Similarly, with music and video, and any product that comes complete, the act observing and using mental models to understand and become part of the art is what people do. When you read a book you imagine the story, and listening to music may create a narrative or take you through a narrative of memories. Video games fall into this category when you play them. Except you are also externally interacting with the art.

What about watching someone play a game? Well, in the case of eSports for example, the high level play is akin to regular sports, which is akin to watching a play. Actors, players, and gamers are all the same. They are performers of art. Their interpretation of the art creates an unique version of the art for others to experience. Each time they perform a play or game, you are seeing their performance of art. And their display of technical skill is an art.

So, are video games art? Yes.

So are regular games, if they involve technical skill or imagination to accomplish.

Performing these games, whether multiplayer or not is considered a performing art. This is also true of sports and Olympic events and the like.

The training and technical execution of these physical activities is an art. It is amazing to watch and can inspire all sorts of emotions. So don't think of it as not liking sports, but instead, as being unable to appreciate the art.

Friday, June 28, 2013

Break from UDK

Hey guys, I've been taking a break from UDK. Several months of dealing with it left my head full of UDK and I would rather finish my other projects right now. So we'll be returning to regular programming for a while. When I do finish the UDK tutorial, I'll have it all in one place.

Monday, June 24, 2013

Getting Flash to Talk to UDK - part 4


Talking to Unreal Script -


In as_base, outside of any function, you can simply put:


import flash.external.ExternalInterface;


This is the standard way of getting Flash to talk to what is containing it. In this case the UDK script that will be set up later.


ExternalInterface.call("UnrealScriptFunction");


This will call the Unreal Script function by name. So that, MyFunction(), 
is called by putting:


ExternalInterface.call("MyFunction");

Monday, May 20, 2013

Getting Flash to Talk to UDK - part 3


Capturing Keys -


This is a multi-part set up. You'll be setting up the code in Actionscript, as well as in Unreal Script later. Planning ahead here will save a ton of heartache later. Now any key you capture, can easily call a function back in unreal, if you need it for the purposes exec style functions (where the key press activates the function).

First set up the ability to capture keys. Near the top of your code, outside of any function, put in the following:


var keyboardInput:Object = new Object(); //holds keyboard input
Key.addListener(keyboardInput); //used to listen for key input.


For right now, we will focus on what needs to be done in actionscript. Here is an example from my code:


// when a key is pressed, execute this function.
keyboardInput.onKeyDown = function() 
{

    // store the keyboard input ASCII code inside 'keyPressed'.
    var keyPressed:Number = Key.getCode();


    // if TAB was pressed...
    if (keyPressed == 9 && menuLoc == "GameActive") 
    { 
        
        if (invshown == false && bPause == false)
{
    ShowInventory();
    trace("Inventory Shown");
}
else if (invshown == true && bPause == false)
{
         HideInventory();
    trace("Inventory Hidden");
        }
    }


}

This simply checks what state the game is in, and calls the correct function. But focus on the set up, and not the execution.

keyboardInput.onKeyDown = function() 
{
    // store the keyboard input ASCII code inside 'keyPressed'.
    var keyPressed:Number = Key.getCode();


All the key press events will occur after this and before the closing curly brace. As in the example, the Tab key is in there, so that right after:


HideInventory();
trace("Inventory Hidden");
}
    }

you would have

HideInventory();
trace("Inventory Hidden");
}
    }
    // if Escape was pressed...
    
    if (keyPressed == 27 && bPause == false && menuLoc == "GameActive") 
    {         

Now you'll notice that the keyPressed variable is compared to a number. These numbers can be found online, by doing a search for javascript keycodes.


So you would at the same time be keeping track of what keys you need, so that later on in unrealscript, you can capture those keys for flash.

That's pretty much it for capturing keys in actionscript. The other step in UDK will be done later on when we are working in UDK.

Monday, April 15, 2013

Getting Flash to Talk to UDK - part 2 - addendum

You may have noticed how I set up the movie file in the previous part. This is just to clear up some of the set up.

A) Create layers for each element of your UI. This will allow you to animate them, and lock them down later as you finish them.

B) Create a layer for actionscript. This makes it easy to find, and easy to label without arrows and what not getting in the way. I usually label it "as" in the movies inside the file, and "as_root" for the main one in the file.

C) Unless you want something to play or loop for ever, put a quick stop(); on the first line.

We're going to move on, implementing the one singular feature for now. Then we'll come back and look at spawning in new things.

I figured that you have some experience with Flash, so I'll assume you understand this. If you have questions, please ask it here.

If you have suggestions to clarify something or a better way of doing something, then please do so in the addendum. Thank you.

Sunday, April 14, 2013

Getting Flash to Talk to UDK - part 2

I've been planning out and outlining this for a while, not that it will make it much better, but I've spent so much time on projects, that I haven't had a chance to write out all the steps. I ended up breaking the steps out even further.


The Flash File

Planning Ahead -



It's always a good idea to know what you want to do already. Your GDD should have very precise requirements out of the HUD that you'll be working with, and as such, you can better plan, and prepare for the set up of the Flash file with a good GDD or goal in mind.

Now, my current project involved creating a HUD that would keep track of inventory, as well as display status messages, be the main menu and be an alternative to player interference and surprise. 

Animation -


It is best to have each MovieClip in the Flash file have its own animation. You'll be calling that animation using: with.

with (ExampleMovieClip)
{
     ExampleMovieClip.gotoAndPlay("ExampleMovieClipPlay");
}

To call a movie object inside a movie object:

with (ExampleMovieClip.SecondMovieClip)
{
     ExampleMovieClip.SecondMovieClip.gotoAndPlay("ExampleMovieClipPlay");
}

This is what you will include in any function that will require animating ExampleMovieClip or any movie clip you make. Note that "ExampleMovieClip" is the name of the instance of a movie clip, and that "ExampleMovieClipPlay" is a label inside that movie clip.

This code is telling Flash to find that specific instance of a movie clip, and find the label "ExampleMovieClipPlay" and to play that movie clip from there.

The way you use this depends on the situation, so I'll bring up what I did.

1) Scary Face

The concept is simple. Have a scary face show up when they don't expect it.

Execution: create a movie clip. Label the instance of it (click on the movie clip after placing it), as RightFace (or whatever, I used RightFace, to keep track of where it was). 




On the first frame put the actionscript

stop();


Change the alpha to 0 in the beginning, animate it however you want (start from the 2nd frame, leave the first frame as a stop with alpha 0. Have the alpha reset to 0 at the end of the animation.




Setting up for the function: Label the 2nd frame of animation as something that you will use for the other animations like this one, such as, "Scare" or "Play".






Create a function:

function ScaryFace()
{

     with (RightFace)
     {
          RightFace.gotoAndPlay("Scare");
     }

}

Now whenever you want to use ScaryFace(), just call it, and it will animate! You can call it from UDK, from a key press, randomly through a timer! Whatever!

This technique will be used throughout the project, so keep it in mind!

Friday, March 1, 2013

Getting Flash to Talk to UDK - part 1

Introduction -

I've been working on different Flash UIs in UDK for a few months now, and the evolution of what I could do before to now is pretty astounding. This is my third foray into the world of Scaleform and I have to say that I am feeling better and better about what I am doing.

My goal with this next series of posts will be to detail HOW I got Flash to work with UDK, and then go into what I did in Flash and what I did in UDK.

If anything, I'm hoping that I can have a series of tutorials that will guide would be newbie UI creators into what its like to create a HUD in Flash for use in their own UDK game.

There will be certain assumptions made during this process:

1) I assume that you have Flash. This is unfortunately an expensive requirement. Luckily, if you are a student, you can purchase Flash Professional 6 for $200. Or, if you are taking a one month class, you can "rent" flash for $20 a month.

2) I assume that you have a pretty recent version of UDK installed. As far as I am aware, this will work on version of November 2012 and February 2013. Those are the two version I've been using on these projects. This could work with an earlier version, but I have no guarantee of that.

3) I assume you have a good script editor for coding uScript. I use Note++. Some people use different IDEs, but I tend to hate how big they are. Note++ is fast, and does what I want it to do.

4) I assume you have done something in UDK and Flash before. Though I will do my best to tackle all that is absolutely necessary.

5) I assume basic coding/scripting and computer knowledge. If you have never scripted before, this may not be a good entry point. I will do my best to cover what is needed.

6) I assume you have an image editor that can output PNG files. Such as paint.net, gimp, or Photoshop. This tutorial will NOT cover this at all. The focus here is for Flash to UDK communications.

Setting Up Flash -

Setting up your Flash work environment is very important. Though future version of UDK may be able to work with Actionscript 3, the current set up, as far as I am aware, requires Actionscript 2.0 and Flash 8. This limits what can be done a bit, and also makes something more difficult. When looking for hints and additional help in Google, remember to ad AS2, Actionscript 2.0 or Flash to UDK to whatever it is you are searching for.

Under File, go to Publish Settings, and click the second tab on that option dialogue that opens up. Set the player version to Flash 8 and set actionscript to 2.0. It should be okay to leave the rest alone.



Next, you need to set up the canvas. The canvas should be at 30 fps, and the size I use is 1980x1080 (in uScript, you'll be making it scale). The size of all object should be to the power of 2 (2, 4, 8, 16, 32, 64, 128, 256, 512 etc). This is because UDK deals with it better. Example make an image 64x128.

I'll begin by adding base functionality to the menu, and once we have it working we'll move on to connecting it with UDK through uScript. Note, that my set up is different, as I own Flash on a Mac, and cannot test the way you could if you had it on a PC.

Creating the Flash file will be on the next installment.

Wednesday, January 30, 2013

Thursday, January 24, 2013

Current Project - Tetrahedron Twister

So I put up a link to my prototype a while back, Tetrahedron Twister. Well, proof of concept is more like it. Thing is, that it was pretty broken. Couldn't play more than one game without freaking out and what not.

Thing is, I wrote it in javascript using the perlenspiel framework. What I'm working on from here is to take that, and move it to Game Maker. The move is a bit harder, because I'm having to learn how Game Maker works while doing work, school work and other projects. So the going is a bit slow, but I'm making progress.

The key here is that I couldn't take the code, or even some of the concepts, because they work slightly differently. Those are the things that are slowing me down a bit.  Not to mention I'm trying to brainstorm ways to improve on the coding.

The other thing I need to get info on is what will I do to sell it. Do I need to form an LLC? What does that take? The business aspect of it, feels daunting to be tackling alone.

Once I get the game to alpha, I'll look into doing more things with it. I'll keep things up to date here.