HOME | DD

shock-value — Object World Beta

Published: 2010-03-04 03:43:49 +0000 UTC; Views: 128457; Favourites: 296; Downloads: 2779
Redirect to original
Description Newest updates:
5/8: New attachments and other items, bugfixes
4/20: Save to script feature added
3/11: A bunch more attachments; updated icons; inputs/outputs now have labels on mouseover
3/9: Frisbee, rocket attachment, and motor attachment added; 'Circuits' folder renamed 'Connectors', reorganized
3/4: Barrel behavior enhanced.


Here is what is essentially the beta version of IB2. I am releasing it under this different name just so it doesn't attract too much attention for the time being.

Notes:

--Press up/down/left/right to move camera, +/- to zoom in/out.

--About FIRE-- right now the only way to light things on fire is to select the Circle item and move its temperature slider past 200 degrees. It will then appear on the stage hot and on fire. It can, however, catch other objects on fire (if they are flammable) and more generally transfer its heat.

--About CIRCUITS--check out this video where I explain them and show what you can do... [link]

--(for script creators/editors) The built-in scripts (the ones whose ID's begin with '!' are automatically reset each time the game runs. To edit these items I'd suggest copying their scripts over to a new item and editing them from there. This way it will save correctly.

Any other questions, please ask! And all suggestions/comments are welcome--that's why I am posting this after all!

And if you really want to go above and beyond, I'd love to see user created weapons and other items made with scripting--if they are good enough I will include them in the final game for sure (along with proper credit of course, though unfortunately I have no ability to compensate script developers monetarily at this point).

If you have any questions about scripting please ask, although my best advice is to look at all the scripts of the built-in items to see how they work, maybe copy their scripts over to a new item and do some tweaking to see what can be done. Then if you are ready, try to tackle a new item.

At this point there is no help or official API reference, but the in-game autocompletion should be a big help for identifying the available functions. Feel free to ask me about any of them.
Related content
Comments: 373

firefly431 [2010-11-23 17:01:01 +0000 UTC]

Will you put a scripting guide? because its nothing like the interactive buddy 1.02 script (and i c&p the hammer code and put it into a new script and it didnt work)

👍: 0 ⏩: 0

firefly431 [2010-11-23 16:08:36 +0000 UTC]

this is awesome! heres my calculator: (took me forever to do the RAM and Boolean Router)

exec

(set obj32 (new chips.Integers -341.00000381469727 -228.50000381469727 false "" 0 1 null 1 null null ))
(obj32._entity.message "setR" (new Array 0 ))

(set obj33 (new chips.Integers -235.00000476837158 -227.50000476837158 false "" 0 1 null 2 null null ))
(obj33._entity.message "setR" (new Array 0 ))

(set obj34 (new XYMousepad -132.00000286102295 -222.49999523162842 60 60 false -0.9374998211860657 -0.18750029802322388 ))
(obj34._entity.message "setR" (new Array 0 ))

(set obj35 (new chips.RAMChip -225 -100.49999713897705 false "RAM-1" 4 1 null 1 null null ))
(obj35._entity.message "setR" (new Array 0 ))

(set obj36 (new chips.TrueFalse -337.99999237060547 -169.50000286102295 false "" 0 1 null false null null ))
(obj36._entity.message "setR" (new Array 0 ))

(set obj37 (new chips.DuplicateChip -341.00000381469727 -126.50000095367432 false "" 1 2 null null null null ))
(obj37._entity.message "setR" (new Array 0 ))

(set obj38 (new chips.RoundChip -37.00000047683716 -228.50000381469727 false "Round" 1 1 null null null null ))
(obj38._entity.message "setR" (new Array 0 ))

(set obj40 (new chips.GTEChip -28.999999165534973 -138.50000381469727 false ">=" 2 1 null null null null ))
(obj40._entity.message "setR" (new Array 0 ))

(set obj41 (new chips.TrueFalse -262.00000762939453 -194.49999332427979 false "" 0 1 null false null null ))
(obj41._entity.message "setR" (new Array 0 ))

(set obj42 (new chips.AdditionChip -328.99998664855957 -20.50000011920929 false "Add(+)" 2 1 null null null null ))
(obj42._entity.message "setR" (new Array 0 ))

(set obj43 (new chips.SubtractionChip -198.99999618530273 53.499999046325684 false "Sub(-)" 2 1 null null null null ))
(obj43._entity.message "setR" (new Array 0 ))

(set obj44 (new chips.DuplicateChip -112.99999952316284 -85.49999713897705 false "" 1 2 null null null null ))
(obj44._entity.message "setR" (new Array 0 ))

(set obj45 (new chips.DuplicateChip -61.99999809265137 -61.499998569488525 false "" 1 2 null null null null ))
(obj45._entity.message "setR" (new Array 0 ))

(set obj46 (new chips.DuplicateChip 56.00000023841858 -133.4999942779541 false "" 1 2 null null null null ))
(obj46._entity.message "setR" (new Array 0 ))

(set obj50 (new chips.MultiplicationChip 253.00000190734863 -181.5000057220459 false "Mult(*)" 2 1 null null null null ))
(obj50._entity.message "setR" (new Array 0 ))

(set obj51 (new chips.MultiplicationChip 266.9999885559082 -109.50000286102295 false "Mult(*)" 2 1 null null null null ))
(obj51._entity.message "setR" (new Array 0 ))

(set obj52 (new chips.NOTGate 141.99999332427979 -156.50000095367432 false "NOT" 1 1 null null null null ))
(obj52._entity.message "setR" (new Array 0 ))

(set obj53 (new chips.TextDisplay 206.00000381469727 -40.50000071525574 false "-" 1 1 null null null null ))
(obj53._entity.message "setR" (new Array 0 ))

(set obj55 (new chips.BooleanRouter 42.999998331069946 24.49999988079071 false "Router" 3 2 null null null null ))
(obj55._entity.message "setR" (new Array 0 ))

(set obj56 (new chips.DuplicateChip -8.000000417232513 -188.49999904632568 false "" 1 2 null null null null ))
(obj56._entity.message "setR" (new Array 0 ))




(ib2.ibIOConnection.connectIOEntity obj35._entity 0 obj37._entity 0)

(ib2.ibIOConnection.connectIOEntity obj35._entity 1 obj34._entity 0)

(ib2.ibIOConnection.connectIOEntity obj35._entity 2 obj37._entity 1)

(ib2.ibIOConnection.connectIOEntity obj35._entity 3 obj38._entity 0)

(ib2.ibIOConnection.connectIOEntity obj37._entity 0 obj36._entity 0)

(ib2.ibIOConnection.connectIOEntity obj38._entity 0 obj34._entity 1)

(ib2.ibIOConnection.connectIOEntity obj40._entity 0 obj35._entity 0)

(ib2.ibIOConnection.connectIOEntity obj40._entity 1 obj41._entity 0)

(ib2.ibIOConnection.connectIOEntity obj42._entity 0 obj44._entity 0)

(ib2.ibIOConnection.connectIOEntity obj42._entity 1 obj45._entity 0)

(ib2.ibIOConnection.connectIOEntity obj43._entity 0 obj44._entity 1)

(ib2.ibIOConnection.connectIOEntity obj43._entity 1 obj45._entity 1)

(ib2.ibIOConnection.connectIOEntity obj44._entity 0 obj32._entity 0)

(ib2.ibIOConnection.connectIOEntity obj45._entity 0 obj33._entity 0)

(ib2.ibIOConnection.connectIOEntity obj46._entity 0 obj56._entity 0)

(ib2.ibIOConnection.connectIOEntity obj50._entity 0 obj46._entity 1)

(ib2.ibIOConnection.connectIOEntity obj50._entity 1 obj42._entity 0)

(ib2.ibIOConnection.connectIOEntity obj51._entity 0 obj52._entity 0)

(ib2.ibIOConnection.connectIOEntity obj51._entity 1 obj43._entity 0)

(ib2.ibIOConnection.connectIOEntity obj52._entity 0 obj46._entity 0)

(ib2.ibIOConnection.connectIOEntity obj53._entity 0 obj55._entity 0)

(ib2.ibIOConnection.connectIOEntity obj55._entity 0 obj56._entity 1)

(ib2.ibIOConnection.connectIOEntity obj55._entity 1 obj50._entity 0)

(ib2.ibIOConnection.connectIOEntity obj55._entity 2 obj51._entity 0)

(ib2.ibIOConnection.connectIOEntity obj56._entity 0 obj40._entity 0)

👍: 0 ⏩: 1

shock-value In reply to firefly431 [2010-11-24 00:15:20 +0000 UTC]

This is awesome! Haven't fully figured out how you have the memory thing with RAM set up though... what exactly does the XY-mousepad do? I can tell it is doing something but haven't figured out exactly what.

Also, I definitely am planning a detailed guide, I don't think it will be ready in time for release alongside the game next month though... Hopefully shortly afterward!

👍: 0 ⏩: 0

Salem2111 In reply to ??? [2010-11-21 23:53:07 +0000 UTC]

how you zoom out?

👍: 0 ⏩: 0

pyrokenises In reply to ??? [2010-11-21 05:48:25 +0000 UTC]

how the work comin shock val

👍: 0 ⏩: 1

shock-value In reply to pyrokenises [2010-11-21 22:45:40 +0000 UTC]

pretty good, should be on track for mid-december release

👍: 0 ⏩: 1

pyrokenises In reply to shock-value [2010-11-24 08:26:28 +0000 UTC]

good i hope it starts at the top of the ranks

👍: 0 ⏩: 0

Nickolas3543 [2010-10-30 20:14:09 +0000 UTC]

um lol WHERES THE BUDDY!

👍: 0 ⏩: 0

awes132 [2010-10-30 10:57:24 +0000 UTC]

Will the attachments work on the buddy?

👍: 0 ⏩: 1

shock-value In reply to awes132 [2010-11-01 18:37:57 +0000 UTC]

Yep, the buddy's buddy is just like any other object and anything you can do to those objects can be done to each of the buddy's six body parts.

👍: 0 ⏩: 0

Cheese1121 [2010-10-27 01:17:24 +0000 UTC]

Man I'm really itching for Interactive Buddy 2 because I really need something to distract me from looming over LittleBigPlanet 2 news all the time.

👍: 0 ⏩: 0

GVonnieV [2010-10-20 17:17:52 +0000 UTC]

Am I missing something or... Where exactly is my 'buddy'?

👍: 0 ⏩: 1

luigirocks321 In reply to GVonnieV [2010-10-23 02:49:18 +0000 UTC]

This is a beta version so... no buddy unfortunately

👍: 0 ⏩: 1

GVonnieV In reply to luigirocks321 [2010-10-23 06:44:21 +0000 UTC]

Me=Lonely.

👍: 0 ⏩: 0

luigirocks321 [2010-10-14 03:27:37 +0000 UTC]

So... do you have at least an estimate for the completion of the full game

👍: 0 ⏩: 1

shock-value In reply to luigirocks321 [2010-10-14 04:21:45 +0000 UTC]

It's pretty much done right now, but I am developing the mobile version to be released alongside it. I'm hoping to have both done by December.

👍: 0 ⏩: 2

JPdude612 In reply to shock-value [2010-11-02 12:28:25 +0000 UTC]

A mobile version? On what systems/phones?

I have an iPod Touch and it would be awesome to have this on there!

👍: 0 ⏩: 1

shock-value In reply to JPdude612 [2010-11-02 17:51:30 +0000 UTC]

iOS will probably be the first to get it

👍: 0 ⏩: 1

JPdude612 In reply to shock-value [2010-11-02 21:05:18 +0000 UTC]

Epicness! Could you tell me when it comes out?

👍: 0 ⏩: 1

shock-value In reply to JPdude612 [2010-11-02 21:18:03 +0000 UTC]

Well, I am aiming to have it done in 2010 but it might get pushed a bit into 2011 depending on whether I encounter any problems in development

👍: 0 ⏩: 0

luigirocks321 In reply to shock-value [2010-10-17 21:55:49 +0000 UTC]

And how long till the mobile version is done?

👍: 0 ⏩: 1

shock-value In reply to luigirocks321 [2010-10-18 01:41:56 +0000 UTC]

Hopefully it'll be done in a month or so.

👍: 0 ⏩: 0

ilyxaa [2010-10-12 11:39:44 +0000 UTC]

Gimme help on scripts!

👍: 0 ⏩: 0

suomiapina [2010-10-05 15:04:54 +0000 UTC]

Why is the shop empty?

👍: 0 ⏩: 1

shock-value In reply to suomiapina [2010-10-05 17:45:12 +0000 UTC]

It's filled to the brim in the full version. Just empty in the demo.

👍: 0 ⏩: 1

TheDudeWithTude In reply to shock-value [2010-10-08 15:33:49 +0000 UTC]

Full version? Give me this full version NAO.

👍: 0 ⏩: 1

shock-value In reply to TheDudeWithTude [2010-10-08 23:06:35 +0000 UTC]

Interactive Buddy 2 will be done and released this December if all goes to plan

👍: 0 ⏩: 0

Joshinatorky [2010-09-30 00:39:04 +0000 UTC]

Holy crap this is cool!
Dude Keep up the great work!
oh and you should totally submit this to Kongregate.com!

👍: 0 ⏩: 1

Joshinatorky In reply to Joshinatorky [2010-09-30 00:39:49 +0000 UTC]

and newgrounds and all those other places, then when then Update it as you go

👍: 0 ⏩: 0

dhartje [2010-09-25 22:17:01 +0000 UTC]

It amazing, but how do you draw walls?

👍: 0 ⏩: 1

shock-value In reply to dhartje [2010-09-27 03:19:28 +0000 UTC]

Just click on the wall tool and click and drag in the world to place segments. There is currently no "continuous draw" wall tool right now though, if that's what you mean. You have to do it segment by segment.

👍: 0 ⏩: 1

dhartje In reply to shock-value [2010-09-28 00:19:14 +0000 UTC]

Oh, ok. I got it.

👍: 0 ⏩: 0

adamcw123 In reply to ??? [2010-09-03 19:57:58 +0000 UTC]

👍: 0 ⏩: 0

Dark-Link1133 In reply to ??? [2010-09-02 15:30:17 +0000 UTC]

how bout some string?

make a pully,, let the buddy try to survive from suicide by creator, of anything else

👍: 0 ⏩: 0

pali66 In reply to ??? [2010-08-31 15:09:14 +0000 UTC]

I've seen someone who wanted a pause button so here it is .
(There is a bug: When you have game paused, objects you create are invisible, so you must click STEP button.)

exec
(require "!uiWidgets")
(require "!gamePhysical")
(require "!events")

(copyBitmapToData (new utils.AssetManager.ICON_Hourglass) meta.icon)

(set pause (bound (exec
(set global.ui.gamespeed (- 1 global.ui.gamespeed))
)))

(set pause2 (bound (exec
(if (this.menuUse.isSelected) (set global.ui.gamespeed (- 1 global.ui.gamespeed)) )
)))

(set step (bound (exec
(set global.ui.gamespeed (- 1 global.ui.gamespeed))
(set this.switch true)
)))

(set frame (bound (exec
(if this.switch (exec
(set global.ui.gamespeed (- 1 global.ui.gamespeed))
(set this.switch false)
)
)
)))

(uiExpressOpen meta.panel)
(set button (new UIButton "Pause / Unpause" pause))
(set button (new UIButton "Step" step)) (uiNewLine)
(new UIMultilineLabel "(Bug: When paused, things what you create will be invisible. Use STEP button to show them.)")(uiNewLine)
(set menuUse:UICheckBox (new UICheckBox "Pause by clicking in menu"))(uiNewLine)
(new UIMultilineLabel "(When you select Pause in menu, it will Pause / Unpause Game)")(uiNewLine)
(uiExpressClose)

(listen meta.hook ListenEvents.ITEM_ACTIVATED pause2)
(listen meta.hook ListenEvents.STEP frame)

👍: 0 ⏩: 1

shock-value In reply to pali66 [2010-09-06 04:12:08 +0000 UTC]

Wow nice job with this! I am glad to see someone making use of the scripting stuff. I wouldn't have thought to include a frame-step button. OK if I use some of your code in the game? (Hope it wasn't too hard to figure out without a guide or anything.)

Btw, in the updated, as-yet-unreleased version the objects will fade in even when the timescale is zero (in other words, there is a minimum fade-in amount per step regardless of timescale).

👍: 0 ⏩: 1

pali66 In reply to shock-value [2010-09-12 11:45:36 +0000 UTC]

Making this (or gravity change script) wasn't too hard, but when i tried to make my own object i was confused a bit. PS. You can use everything from my script.

👍: 0 ⏩: 1

shock-value In reply to pali66 [2010-09-13 03:53:46 +0000 UTC]

Thanks!

Yeah right now there's really no help for doing that sort of thing (creating a new object type) so I can't imagine anyone would have an easy time figuring it out. Creating a completely new item from the ground up requires dealing with a lot of the low level, game-engine code. This is a process that even takes me, the author of it, quite a while and sometimes a lot of headaches as I have to refer back to the source code to see exactly wtf I was doing back when I coded the low-level stuff.

Let me know if you have any specific questions though.

👍: 0 ⏩: 0

thesonicsword In reply to ??? [2010-08-21 06:54:46 +0000 UTC]

Here's an epic idea.

A damn pause button.

👍: 0 ⏩: 0

pokewolf2565 [2010-08-21 00:59:48 +0000 UTC]

add more explosives

👍: 0 ⏩: 0

thesonicsword [2010-08-21 00:35:36 +0000 UTC]

If move and select could be one item that would be awesome.

👍: 0 ⏩: 0

pyrokenises [2010-08-16 03:31:18 +0000 UTC]

the wall fixture stoped working

👍: 0 ⏩: 1

pyrokenises In reply to pyrokenises [2010-08-16 03:55:38 +0000 UTC]

never mind i left the invisible objects on

👍: 0 ⏩: 0

Brandokid5 In reply to ??? [2010-08-09 13:31:20 +0000 UTC]

cant wait for the full verison!!!

👍: 0 ⏩: 0

kickguy223 [2010-08-08 23:27:48 +0000 UTC]

any one know a nuke barrule script

👍: 0 ⏩: 1

pyrokenises In reply to kickguy223 [2010-08-29 07:45:36 +0000 UTC]

you could just add the mine script to the barrel script and if i am correct the mine and barrel will spawn in the same spot and the for you have a nuke UNLESS i am wrong

👍: 0 ⏩: 0

kickguy223 [2010-08-08 18:10:26 +0000 UTC]

cant wait for full relese best game ive seen in my life keep it up

👍: 0 ⏩: 0

nerdtno [2010-08-03 00:24:04 +0000 UTC]

AHH!i cant figure it out!!!HELP!

👍: 0 ⏩: 0

pyrokenises [2010-07-29 06:32:26 +0000 UTC]

non exploding grenade
exec

(copyBitmapToData (new utils.AssetManager.ICON_Grenade) meta.icon)


(set globalData.grenadeScript (script (

exec
(set callback (func ent pow (exec
(if (> pow 70) (this.entity.message "pointsSynergy" (new Array ent)))
)))
(set fun (bound (exec
(if (! this.dead) (exec
(set this.dead true)
(set pos:box2d.V2 (this.entity.data.body.GetPosition))
(pos.multiplyN ib2.ibUI.physicsScale)
(new Explosion pos.x pos.y 1 this.callback this.entity)
(this.entity.shutdown)
))
)))
(set pull (bound (exec (set this.entity.data.pinPulled true)(set this.entity.data.fuseListener (this.entity.request "timeListener" (new Array this.entity.data.ofuse this.fun.action 1))))))
(set listener (entity.registerListener "spawn" pull.action))
(set listener2 (entity.registerListener "spawn" fun.action))
)))

(set global.Grenade (bound x y r fuse (exec
(if (== r null) (set r 0))
(if (== fuse null) (set fuse 4))
(set this._entity (stage.newBlankEntity))
(this._entity.addModule (new ib2.ibCircle x y r 10 1 .2 .1))
(this._entity.addModule (new ib2.ibBodyHelperSet))
(this._entity.addModule (new ib2.ibFadeSet .1))
(set graph (new utils.AssetManager.SVG_Grenade))
(this._entity.addModule (new ib2.ibDisplayObjectDrawer graph -10 -10 (* 10 .005)))
(this._entity.message Messages.REDRAW_SPRITE)
(this._entity.message Messages.UPDATE_SPRITE)
(this._entity.addModule (new ib2.ibScriptComponent globalData.grenadeScript))
(this._entity.addModule (new ib2.ibTemperatureControl))

(set this._entity.data.ofuse fuse)
(set this._entity.data.scriptName (utils.getUniqueName))
(this._entity.manageListener "toScript" (func (exec
(set s (utils.formatSimpleConstructor
"Grenade"
(this.this._entity.request "getX")
(this.this._entity.request "getY")
(this.this._entity.request "getR")
(if (!= this.this._entity.data.fuseListener null)(- this.this._entity.data.ofuse this.this._entity.data.fuseListener.val.accrued) null)
))
(set out (+++ "(set " this.this._entity.data.scriptName " " s ")"))
(if this.this._entity.data.pinPulled (set out (+++ out "\n(" this.this._entity.data.scriptName ".pullPin)")))
(set out (+++ out "\n" (utils.specialStateConversion this.this._entity)))
out
)))

(PhysEntity.call this)
)))
(set global.Grenade.prototype (new PhysEntity))
(set global.Grenade.prototype.constructor Grenade)
(set global.Grenade.prototype.pullPin (bound (exec
(this._entity.message "pullPin")
)))

(set makeGrenade (bound x y xv yv (exec
(set gren:Grenade (new Grenade x y 0))
(gren.setXYVel xv yv)
(gren.pullPin)
gren._entity
)))
(set makeOutline (bound (exec
(set sprite (new flash.Sprite))
(sprite.graphics.beginFill 0xFFFFFF .2)
(sprite.graphics.drawCircle 0 0 10)
(sprite.graphics.endFill)
(new SimpleGraphic sprite)
)))
(new templates.AttachToMouse meta.hook makeOutline)
(new templates.Throw meta.hook makeGrenade 4)
(new templates.AddToGlobalGroupOnPurchase meta.hook "spawnFunctions" "Grenade" makeGrenade)

👍: 0 ⏩: 0

shadowfox1112 [2010-07-28 18:05:26 +0000 UTC]

This needs a tutorial because i have no clue what to do

👍: 0 ⏩: 0


<= Prev | | Next =>