Same idea, 6 months later.

without comments

Picture23Thought I’d post the beta version of a project I’ve been working on, mostly because it makes me chuckle. It also, for represents a major shift in thinking and ability. I’ve been able to make things quirky, fun and actually have a sense of style for a while now, but I’ve reached 5k hours of solid practice recently and something has just “clicked” which means things are getting rather effortless.

There’s some solid MVC here, a custom liquid renderer built on top of box2d, along with he sensors update I posted before, and basically a much better foundation than before. It took about a week to complete from concept to creation. When I get the edits, I’m going to optimize those metaballs, and fix the instantiation glitch that’s eating up so much memory.

(As usual, click the image for the demo. I’d suggest clicking “Great Depression and WWII”. The machine turns on when there’s ahead in the jar, and the head gets sucked up a tube if it’s the correct head.)

Written by Jesse

June 23rd, 2010 at 11:57 am

Posted in blog, physics, project log

Simple Quickbox2d Sensors

without comments

sensorpicHey, wouldn’t be nice if you could make sensors easily in quickbox2d (which is already fantastic and easy). Well, you can, and here’s how, really easily. I’d post the source code, but if you haven’t figured it out by yourself, you  might need the practice tinkering (besides Zevan will add it soon, I’m sure). This is painless, I promise.

If you don’t know what a sensor is, or why you’d want one – think of it as a physics object that detects collision but doesn’t actually affect the movement of anything its collides with – like passing through a ghost. No category or mask bits needed here, just a simple “true” or  ”false”.

here’s how to add it to quickbox2d:

OVERVIEW:

you are going to open and add one tiny line of code to 3 files.

Step 1) open com.actionsnippet.QuickObject.as

Step) find the function “defineDefaults” should look something like this:

196
197
198
199
200
201
202
203
204
205
206
207
208
209
private function defineDefaults():void{
defaults = {x:3, y:3, linearDamping:0,
angularDamping:0, isBullet:false,
fixedRotation:false,
allowSleep: true,
isSleeping:false,
scaleSkin:true,
density:1.0, friction:0.5, restitution:0.2, angle:0.0,
maskBits:0xFFFF, categoryBits:1, groupIndex:0,
draggable: true,
lineColor:0x000000, lineAlpha:1,
lineThickness:0,
fillColor:0xCCCCCC, fillAlpha:1
}

When you create an object, you pass parameters. these are the default parameters and we need to do as add “, isSensor:false” at the end so it looks like this

196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
private function defineDefaults():void{
defaults = {x:3, y:3, linearDamping:0,
angularDamping:0, isBullet:false,
fixedRotation:false,
allowSleep: true,
isSleeping:false,
scaleSkin:true,
density:1.0, friction:0.5, restitution:0.2, angle:0.0,
maskBits:0xFFFF, categoryBits:1, groupIndex:0,
draggable: true,
lineColor:0x000000, lineAlpha:1,
lineThickness:0,
fillColor:0xCCCCCC, fillAlpha:1,
isSenor:false
}

1 of 3 completed. Now lets add a couple of tiny bits of code to the “BoxObject.as” and “CircleObject.as” files as well

BoxObject code: “boxDef.isSensor = p.isSensor;” see example below

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
override protected function build():void{
var p:Object = params;

if(p.skin is DisplayObject){
bodyDef.userData = p.skin;
var t:Number = p.skin.rotation;

p.skin.rotation = 0;
if (!p.width){
p.width = p.skin.width / 30;
}
if (!p.height){
p.height = p.skin.height / 30;
}
p.skin.rotation = t;
}

if (!p.width) p.width = 1;
if (!p.height) p.height = 1;

var boxDef:b2PolygonDef = new b2PolygonDef();
shapeDef = boxDef;
var hw:Number = p.width / 2;
var hh:Number = p.height / 2;
boxDef.SetAsBox(hw, hh);

boxDef.density = p.density;
boxDef.friction = p.friction;
boxDef.restitution = p.restitution;
boxDef.filter.maskBits = p.maskBits;
boxDef.filter.categoryBits = p.categoryBits;
boxDef.filter.groupIndex = p.groupIndex;
boxDef.isSensor = p.isSensor; // <------ HERE IT IS!

CircleObject code: “circDef.isSensor = p.isSensor;” see example below

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
protected override function build():void{

var p:Object = params;

var circDef:b2CircleDef = new b2CircleDef();
shapeDef = circDef;

if (p.skin is DisplayObject){
bodyDef.userData = p.skin;
if (!p.radius){
p.radius = p.skin.width/60;
}
}
if (!p.radius) p.radius = .5;

circDef.radius = p.radius;
circDef.density = p.density;
circDef.friction = p.friction;
circDef.restitution = p.restitution;
circDef.filter.maskBits = p.maskBits;
circDef.filter.categoryBits = p.categoryBits;
circDef.filter.groupIndex = p.groupIndex;
circDef.isSensor = p.isSensor; // HERE IT IS!!!

so, now, anytime you want an object to be a sensor, just tell it so on creation.
Examples:

1
2
3
sim.addBox({x:someNumber, y:someNumber, width: x:someNumber, height: x:someNumber, density:0, isSensor:true});

sim.addCircle({x: x:someNumber, y: x:someNumber, radius: x:someNumber, density: 0, isSensor:true});

Written by Jesse

June 14th, 2010 at 12:12 pm

Cheesy laser blast and cartoon smart fire

without comments

screenshotHad some down time at the new job. It’s been so long since I’ve done any animation I wanted to see how rusty I was, So I busted out the cartoon smart tutorials and found a great laser tutorial HERE. Our department’s name is CLEAR, and this is a gag ad. It’s downresing in realtime form 720p (i wanted to see if flash 10 had come the far, it hasnt) hence the laggy parts. all in all, fun and decent.

http://thecoho.net/upload/files/resistance/

Written by Jesse

May 28th, 2010 at 5:24 pm

Posted in blog

PILLAGE! assets page

without comments

This page contains updates of assets as I create for the PILLAGE project. Feel free to download anything and use it at your leisure. CLICK THE IMAGES TO SEE A WEB DEMO

12-30-2009 ROCK, OKTOKING DEATH 2d contraints

Picture 4
turns out the unity packager isnt getting all of the associated assets – so here’s the whole project. The scene “level1″ is the want you want to tinker with. Each king has a health, and dies with a basic blood splat, but it only shows up on the cardboard cutout, i’m assuming because of the cutout/transparency used on the other kings. Rock is much heavier now, modeled and textured. Also, the kings and rocks are constrained to 2d.

DOWNLOAD WHOLE PROJECT HERE

12-29-2009 oktoking and catapult v1

rollover over the catapult arm (more accurately, the scoop that holds the rock) – it should turn blue. click and hold to pull back the arm. release to launch.
uses a hinge joint and motor controls.
Picture 3

CLICK TO DOWNLOAD scriptedCatapult unity package

Written by Jesse

December 29th, 2009 at 8:11 pm

Posted in PILLAGE!, blog, project log

unity3d xml level parser

with one comment

again for PILLAGE! catapult game. this package parses an xml file to create object on the screen relative to the “castleHolder” position. import the package. create a ground plane (a big one) at (0,0,0) and then drag the “castleHolder” prefab onto the world view. it’s y should 0 but X and Z can be changed.

Any models you want to instantiate are done at runtime by their name, which means they HAVE to be put in the Resources folder.

castleHolder has a pillage level parser script. simple and magical.

pillageParser_1 DOWNLOAD HERE

Written by Jesse

December 27th, 2009 at 3:01 pm

Posted in PILLAGE!, blog, project log

box2d quickbox2d based level editor

without comments

A small group of friends and I are making a Unity3d based catapult game. It needs a level editor, which i plan to do in Unity itself, but I’m still much faster in flash and AS3.
So I spend a few hours and through together this flash based level editor for our game. feel free to use it if it’s useful. it’ll spit out XML, which is great and works with the unity parser prefab I made for unity. Hooray for rapid prototyping.

level_editor_beta live demo

level_editor_beta FOR DOWNLOAD

To use it, open the presets.txt file and add in any game object you want to instantiate at runtime. Prefab = unity3d prefab name. The size is in meters, just like unity3d. the rest is optional. Run the html. A corresponding button will appear in the top bar – roll over to see it’s name. Click it to drop a piece down. rotation is turned off to make it easier to align things. click the save button to save a backup before you test it – which just turned the rotation back on and run a simulation. it’s pretty easy to follow i think.

Written by Jesse

December 27th, 2009 at 3:10 am

Posted in PILLAGE!, blog, project log

Flash Front end part 1

without comments

In an effort to use wordpress as a back end and flash as the front end for my portfolio, I did a bunch of reading and testing. XMLRPC test. PHP ones. Then I just started using the built in RSS2.0 feed. Couldn’t be simpler, and you can drill down to categories with a permalink.

I also managed to create my first hacked up proof of concept. CLICK THE IMAGE TO THE RIGHT TO VIEW IT.
testy1

The idea is that for each of the 3 main categories I have, I completely different flash environment is being created each with different game-like aspects. The one I’m building now is going to be a kitchen with an appliance for each sub category. you have to drag them on the counter and plug them in to trigger a fun animation and turn them on to show content.

This is mostly for my own record at this point. The hack demo above is messy, but runs at 60fps on my 4 year old computer (ignoring how that shadow box on my site seems to slow things down), so I expect it’ll be fine on most others. I’m tired and cranky, so I’m gonna leave it and come back to it, optimize it, clean it up and pit everything into classes, and of course, release it all for free.

Written by Jesse

December 7th, 2009 at 3:08 am

Rhonda webviewer made in UNITY3D

without comments

There’s a wonderful 3d drawing application called RHONDA (probably made in openframeworks go there NOW!) that recently came out.It’s pretty cool, and I read several requests on their board asking for a web viewer. Well, with flash not dealing so well with 10k+ data sets, I made a Rhonda file web viewing plugin in Unity 3D, which is free now.

And, of course, the files are here, and are free.

Use the spacebar, alt, shift and Z keys while clicking a dragging to do some photoshop/3d app like translations (as explained in the “H” menu).

Written by Jesse

November 2nd, 2009 at 12:13 am

Posted in blog, project log, rhonda

POOT! alpha submitted to Immunity Game Challenge

without comments

Hey we met our deadline! Most of the features are implemented, it’s cute and has a nice feel. The levels need to work along with more spit and polish, but it’s a nice alpha version, I think.

Above all, it was a fantastic experience that has highly motivated me to create more games – and switch over to unity3d officially and leave flash behind. I’ve even order the c# reference book. I’ve noticed the lack of c# examples on the docs, but hey that just gives me a niche to fill. Wait, why are reading this? Play POOT!
Read the rest of this entry »

Written by Jesse

October 20th, 2009 at 3:38 am

Posted in blog, poot, project log

another quick test

without comments

30 min from model to rigged unity3d. It’s probably the quickest, worst rigged thing ever created, and it is still very close to passible – for web games anyway. Next rigged test will actually have the time and effort put into it.

oh yeah, and it falls randomly each time, so press reload a bunch.
Read the rest of this entry »

Written by Jesse

August 30th, 2009 at 1:41 pm

Posted in blog, poot, project log

POOT!

without comments

I’ll explain later, but this will one day very soon be a farting hamster game.

arrow keys, yo.
Read the rest of this entry »

Written by Jesse

August 27th, 2009 at 4:27 pm

Posted in blog, poot, project log

REvision / FLARmanager XML KIT V2

without comments

If you’d like to use FLARtoolkit without doing any coding, or want to collaborate with me with a project soon to be in the Dallas Museum of Arts, download the link below.

fiddle around, open files, find your way to the HOWTO folder. That’ll get you started, if you get stuck, I added a new live chat widget to my bar, as well as a gps map. HUNT ME DOWN! Demand me show you how to put in your own files!

I’ll also be very closely monitoring comments, so you can beg there.

DOWNLOAD THE KIT!

Written by Jesse

April 20th, 2009 at 2:10 pm

Posted in blog, project log, revision

Fix for papervision 3ds parser

with 2 comments

If you are having problems with the 3ds parser in papervision & you are using CS4 this might help you.

download here

To use it, just unzip the parsers.zip and copy everything over in your papervision3d/objects/parsers folder. It’ll replace some files, this should be ok, and it’ll add one with some helper files.

CONTEXT (since code will change and, hopefully, this will be made useless soon by the papervision guys) Read the rest of this entry »

Written by Jesse

April 9th, 2009 at 11:58 am

XML_FLAR for class, and anyone else for that matter

without comments

GET THE ZIP FILE HERE

I’ve taken the flartoolkit and made it so you don’t need any special skill to simply show a marker/3ds model pair. There’s an issue getting the UV texture name, if you have cs3, recompile the .fla and the name will trace out for you.

THis thing is pretty moot, considering it’s a horrible hack, and because I’ve restarted with much more sensibility and I’m now using the FLARmanager. However, for my project at the DMA, the xml will stay the same.

Simple steps: (I’ll be including great tutorials for this on the Read the rest of this entry »

Written by Jesse

April 8th, 2009 at 4:29 pm

Posted in blog, project log, revision

OMG! Look at the Cloak!

without comments

There are three hard camera matcing shots in the CG short. The ne you are about to see is the easiest but has to look perfect because of the whole walking downstairs thing, the fact it’s a full body shot, and the cloak drag cross the stairs. It’s a rough key just to see if he matches, I’ll post an update in a day or two.

Marvel in the cloak.

hires version

lowres version

Written by Jesse

December 8th, 2008 at 12:38 pm

starting to shape up

without comments

Posting test footage isn’t something you should, but I think that’s all I’ve been doing as far as the DnD shortfilm goes. It’s not done, but things are starting to shape up. here is the latest composite with a rough draft of some fire effects. When I get a couple of hours I’ll make the fire ball actually effect the ligting of the subjects and make the firball more detailed. Oh yeah, the candles have to have flames – that’s th epoint the scene.

so here it is. feel free to compare it to earlier posts of the same shot.

blue fire hi res

regular plus torches fire hi res

blue fire low res

regular plus torches fire low res

Written by Jesse

December 7th, 2008 at 1:57 pm

a little pan through

without comments

I recently, for the 7th time molded a churchish building for the tentatively titled “a really bad DnD shortfilm.” Everytime I model this thing I learn more. More about level of detail, where to spend the polygons, quick ways of building things, yadda yadda.
Of course, the lighting and texturing has gotten better and faster.
I made this animation test in my spare time last week and thought I’d post it for class since I’ve been working overtime to meet a deadline at work and couldn’t make it.
I need to remove out all the patterning and repetition, add more details to the corners and stairs and add more interest in the lighting. I’ll probably finish that this week sometime, so expect and update next Monday.

here it is – most likely too dark on a windows machine -

click here – iz kinda big

Written by Jesse

November 17th, 2008 at 2:51 pm

bad shortfilm CG test

without comments

I have a rough test that I’ve made to get a feel for the amount of work / quality ratio to finish this bad shortfilm Some friends were generous enough to help me make. Read the rest of this entry »

Written by Jesse

August 29th, 2008 at 12:17 am

Posted in D&D shortfilm, blog, project log

Tagged with