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

kiethv [2020-05-28 23:08:26 +0000 UTC]

👍: 0 ⏩: 0

kiethv [2020-05-28 22:57:10 +0000 UTC]

👍: 0 ⏩: 0

Tornado2423 [2019-04-24 08:00:58 +0000 UTC]

where is buddy

👍: 0 ⏩: 1

LittleAwesomeApple In reply to Tornado2423 [2019-06-19 01:29:11 +0000 UTC]

👍: 0 ⏩: 1

Tornado2423 In reply to LittleAwesomeApple [2019-06-25 06:22:23 +0000 UTC]

thanks but its real

👍: 0 ⏩: 0

Matigol9000SuperMMOS [2017-04-21 21:29:04 +0000 UTC]

i like this game

👍: 0 ⏩: 0

Matigol9000SuperMMOS [2017-04-10 21:34:27 +0000 UTC]

can save this game in ZIP Pack, please?

👍: 0 ⏩: 0

BIEL23Y [2017-01-30 18:21:45 +0000 UTC]

  

👍: 0 ⏩: 0

BIEL23Y [2017-01-30 18:11:02 +0000 UTC]

ss

👍: 0 ⏩: 0

IRAwarrior [2016-03-28 02:12:00 +0000 UTC]

LandMine Tower Challenge! How many landmines can you stack before they explode? My record is 29.

👍: 0 ⏩: 0

SonicTheHedgeTrimmer [2016-01-25 01:37:27 +0000 UTC]

Nice engine, could pave way for lots of stuff

👍: 0 ⏩: 0

foxythebabyfoxy [2015-03-07 16:57:49 +0000 UTC]

BARRELS                    

👍: 0 ⏩: 0

IRAwarrior [2015-03-04 06:09:37 +0000 UTC]

I made a tower of land mines, and with 20 full powered gravity vortex, they can't fall or explode! XD

👍: 0 ⏩: 0

latestset [2013-10-12 21:00:08 +0000 UTC]

Damn.

👍: 0 ⏩: 0

AnaPegasusX [2012-12-27 19:17:46 +0000 UTC]

how "user avatar" works?

👍: 0 ⏩: 0

Kfir40Art [2012-10-27 05:54:26 +0000 UTC]

You should program the shop to ACTUALLY work!

👍: 0 ⏩: 0

mario1423 [2012-10-06 21:12:16 +0000 UTC]

how do you make stuff true/false

👍: 0 ⏩: 0

Astra-Planetshine [2012-09-10 05:10:16 +0000 UTC]

i love it i just hope in the future buddy doesn't keep falling down the endless pit. xD

lot's of work to go. good luck!

👍: 0 ⏩: 0

MMDgirl33 [2012-06-30 00:29:31 +0000 UTC]

..................................................fun?...................

👍: 0 ⏩: 0

Neo909 [2012-06-18 11:02:11 +0000 UTC]

i love it

👍: 0 ⏩: 0

pielover88888 [2012-06-05 00:20:39 +0000 UTC]

umm we're screwed if he doesn't update this..

👍: 0 ⏩: 1

Army-of-Zero In reply to pielover88888 [2012-06-10 00:17:28 +0000 UTC]

heh heh, no kidding

👍: 0 ⏩: 0

mattcloud0414 [2012-05-24 13:58:56 +0000 UTC]

umm please put some lever and lever

👍: 0 ⏩: 0

mattcloud0414 [2012-05-24 13:46:22 +0000 UTC]

This needs many things! like a buddy,store!

👍: 0 ⏩: 0

Cougar200 [2012-05-21 02:45:23 +0000 UTC]

i just like seeing thing explode XD

👍: 0 ⏩: 0

Kfir40Art [2012-04-09 08:28:25 +0000 UTC]

The shop is also broken. No, it's empty. add some stuff to the store!

👍: 0 ⏩: 1

mario1423 In reply to Kfir40Art [2012-10-06 21:19:34 +0000 UTC]

maby if u tell du arther dat

👍: 0 ⏩: 0

Kfir40Art [2012-04-09 07:51:41 +0000 UTC]

The object spawner object menu is broken.

👍: 0 ⏩: 0

Army-of-Zero [2012-03-15 13:17:47 +0000 UTC]

i managed to make aremote controll rocket out ofwelding together a bunch of user avitars!

👍: 0 ⏩: 0

thesuitman [2012-03-08 14:26:08 +0000 UTC]

no

👍: 0 ⏩: 0

IceyZomby [2012-02-24 00:39:54 +0000 UTC]

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHH IMMA POTATO!

👍: 0 ⏩: 0

Joshinatorky [2012-01-04 20:51:11 +0000 UTC]

You should upload this to Kongregate. My friends love this game. Kong would give you a bit of money I think for the number of plays you get and there is a similar game to this that is one of the top rated games (Mutilate a Doll). Best part is that you can update it even after you upload it. Anyway at least let me know if you might do so in the future. Lol that way if you aren't I won't be anxious for it to happen XD Been waiting for almost a year! lol.

👍: 0 ⏩: 1

Joshinatorky In reply to Joshinatorky [2012-01-04 20:54:10 +0000 UTC]

The reason I keep insisting on you doing this cause I feel like this doesn't get enough attention or praise and I know if you uploaded this to Kongregate you would get a great score right from the beginning and also lots and LOTS of feedback... D: please don't make me beg...

👍: 0 ⏩: 1

Forzatoadx In reply to Joshinatorky [2012-01-09 20:29:39 +0000 UTC]

Did you read the description? He EXPLICITELY says that he doesn't want it to get attention for now.

👍: 0 ⏩: 0

Ikillnukes [2011-12-03 19:41:39 +0000 UTC]

I want create a game...

👍: 0 ⏩: 0

Darksamus101 [2011-11-29 23:38:02 +0000 UTC]

I felt like an evil genius when I got circuits down! You know, using a light switch to make something explode. I love this game!

👍: 0 ⏩: 0

DudeDude2211 [2011-09-25 16:47:40 +0000 UTC]

I made a script for super explosion and missile. here is explosion:

exec

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


(uiExpressOpen meta.panel)
(new UILabel "Intensity:")(uiNewLine)
(set slider:UIFloatSlider (new UIFloatSlider 0 5 1))

(uiExpressClose)

(set explode:ib2.ibParticleGeneratorProperties (new ib2.ibParticleGeneratorProperties))
(set explode.gravity_multiplier_base 0)
(set explode.use_radial_coords true)
(set explode.xv_dv_base 0)
(set explode.yv_rv_base 0)
(set explode.xv_dv_random 0)
(set explode.yv_rv_random 0)
(set explode.life_base .2)
(set explode.life_random .1)
(set explode.blends (new Array null))
(set explode.blendProbabilities (new Array 1))
(set explode.period .01)
(set explode.s_base 0)
(set explode.s_random 0)
(set explode.sv_base 0)
(set explode.r_random 360)
(set explode.rv_random 100)
(set explode.maxParticles 1)
(set explode.custom_disp_obj (new Array utils.AssetManager.PNG_Explode1 utils.AssetManager.PNG_Explode2 utils.AssetManager.PNG_Explode3))
(set explode.custom_disp_obj_probabilities (new Array 1 1 1))
(set explode.custom_disp_obj_x -100)
(set explode.custom_disp_obj_y -100)

(set explode2:ib2.ibParticleGeneratorProperties (explode.copy))
(set explode2.custom_disp_obj (new Array utils.AssetManager.PNG_Explode1 utils.AssetManager.PNG_Explode2 utils.AssetManager.PNG_Explode3))
(set explode2.custom_disp_obj_probabilities (new Array 1 1 1))
(set explode2.blends (new Array flash.BlendMode.NORMAL))
(set explode2.s_base (* 6 .06))
(set explode2.sv_base 590)
(set explode2.sv_random 100)
(set explode2.fadeout_time .35)
(set explode2.fadein_time .03)
(set explode2.sv_drag .0001)
(set explode2.maxParticles 2)
(set explode2.period .075)
(set explode2.renderThermal true)

(set explode3:ib2.ibParticleGeneratorProperties (explode2.copy))
(set explode3.custom_disp_obj (new Array utils.AssetManager.PNG_ExplodeLight1 utils.AssetManager.PNG_ExplodeLight2 utils.AssetManager.PNG_ExplodeLight3))
(set explode3.custom_disp_obj_probabilities (new Array 1 1 1))
(set explode3.blends (new Array flash.BlendMode.ADD))
(set explode3.s_base (* 6 .06))
(set explode3.sv_base 150)
(set explode3.sv_random 20)
(set explode3.sv_drag .001)
(set explode3.maxParticles 1)
(set explode3.start_delay .12)

(set explode4:ib2.ibParticleGeneratorProperties (explode2.copy))
(set explode4.maxParticles 1)
(set explode4.start_delay .00000001)

(set globalData.explosionParticleFGProps explode3)
(set globalData.explosionParticleBGProps explode2)
(set globalData.explosionParticleLoFiProps explode4)

(set global.Explosion (bound x y intensity callback entity (exec
(if (== null intensity) (set intensity 1))
(set ointensity intensity)
(set intensity (Math.sqrt intensity))
(if (> (ui.getActualFramerate) 30) (exec

(set globalData.explosionParticleBGProps.s_base (* intensity 10))
(set globalData.explosionParticleFGProps.s_base (* intensity 60))
(set this.gen1articleGenerator (new ParticleGenerator x y globalData.explosionParticleBGProps))
(set this.gen2articleGenerator (new ParticleGenerator x y globalData.explosionParticleFGProps))
) (exec
(set globalData.explosionParticleLoFiProps.s_base (* intensity 10.5))(set globalData.explosionParticleSmokeLoFiProps.yv_rv_random (* intensity 800))
(set this.gen2articleGenerator (new ParticleGenerator x y globalData.explosionParticleLoFiProps))
))
(stage.message "shockwave" (new Array x y ointensity ointensity callback entity))
(set soundClass utils.AssetManager.MP3_BlastCloseEighthSpeed)
(if (> ui.gamespeed .15)(set soundClass utils.AssetManager.MP3_BlastCloseQuarterSpeed))
(if (> ui.gamespeed .35)(set soundClass utils.AssetManager.MP3_BlastCloseHalfSpeed))
(if (> ui.gamespeed .75)(set soundClass utils.AssetManager.MP3_BlastClose))
(set soundClass2 utils.AssetManager.MP3_BlastMediumEighthSpeed)
(if (> ui.gamespeed .15)(set soundClass2 utils.AssetManager.MP3_BlastMediumQuarterSpeed))
(if (> ui.gamespeed .35)(set soundClass2 utils.AssetManager.MP3_BlastMediumHalfSpeed))
(if (> ui.gamespeed .75)(set soundClass2 utils.AssetManager.MP3_BlastMedium))
(stage.message "playSound" (new Array (new soundClass) (* .5 ointensity) true x y (new soundClass2)))
)))
(set makeExplosion (bound x y (exec

(set p (stage.newBlankEntity))
(p.addModule (new ib2.ibTimeEvents))
(p.addModule (new ib2.ibPositionManager x y 0))
(p.addModule (new ib2.ibPointsListener))
(p.addModule (new ib2.ibLifeLimiter 1.0))
(p.message "addPoints" (new Array (* 9 (this.slider.getValue))))
(set e (new Explosion x y (this.slider.getValue)))
e._entity
)))
(new templates.Drop meta.hook makeExplosion false)
(new templates.AddToGlobalGroupOnPurchase meta.hook "spawnFunctions" "Explosion" makeExplosion)

Here is Missile:

exec

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


(set globalData.missileScript (script (

exec
(set hit (func contactInfo:box2d.b2Contact direction manifold impulseData:box2d.b2ContactImpulse (exec
(if (! this.dead) (exec
(set this.dead true)
(set p (this.entity.request "getPos"))
(new Explosion p.x p.y this.entity.data.explodePower)
(this.entity.message "doNextFrame" (new Array this.entity.shutdown))
(this.node.remove)
(set fix contactInfo.m_fixtureB)
))
)))
(set node (entity.request "impulseListener" (new Array 80 hit true)))
(set node2 (entity.registerListener "detonate" hit))
)))

(set bpv:VectorNumber (new VectorNumber))
(bpv.push 2.5)(bpv.push -30)
(bpv.push 0)(bpv.push -31)
(bpv.push 2.5)(bpv.push -30)
(bpv.push 3)(bpv.push 10)
(bpv.push 3)(bpv.push 30)
(bpv.push -3)(bpv.push 390)
(bpv.push -3)(bpv.push 10)
(for (set i 0) (< i bpv.length) (set i (+ i 1)) (set bpv[i] (* bpv[i] 2)))

(set global.globalData.missileVertices bpv)

(set global.Missile (bound x y r v p blast (exec
(if (== r null) (set r 0))
(if (== v null) (set v 0))
(if (== p null) (set p 30))
(if (== blast null) (set blast 6.0))
(set this._entity (stage.newBlankEntity))
(this._entity.addModule (new ib2.ibSimplePoly x y r globalData.missileVertices 6))
(this._entity.addModule (new ib2.ibBodyHelperSet))
(this._entity.addModule (new ib2.ibFadeSet .1))
(set graph (new utils.AssetManager.PNG_Missile))
(this._entity.addModule (new ib2.ibDisplayObjectDrawer graph -15 -30 (* 60 .005)))
(this._entity.message Messages.REDRAW_SPRITE)
(this._entity.message Messages.UPDATE_SPRITE)
(this._entity.addModule (new ib2.ibTemperatureControl))
(this._entity.addModule (new ib2.ibContactEvents))
(this._entity.addModule (new ib2.ibScriptComponent globalData.missileScript))
(this._entity.addModule (new ib2.ibPropulsion 0 p))
(set this._entity.data.opropulsion p)
(set v2:box2d.V2 (new box2d.V2 0 (- 0 v)))
(v2.rotate r)
(this._entity.message "setXYVelV2" (new Array v2))
(set this._entity.data.explodePower blast)

(set this._entity.data.ofuse fuse)
(set this._entity.data.scriptName (utils.getUniqueName))
(this._entity.manageListener "toScript" (func (exec
(set s (utils.formatSimpleConstructor
"Missile"
(this.this._entity.request "getX")
(this.this._entity.request "getY")
(this.this._entity.request "getR")
0
this.this._entity.data.opropulsion
this.this._entity.data.explodePower
))
(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.Missile.prototype (new PhysEntity))
(set global.Missile.prototype.constructor Missile)
(set global.Missile.prototype.detonate (bound (this._entity.message "detonate")))

(set launch (bound x y (exec
(this.meta.hook.message "timeListener" (new Array .3 this.makeMissile (this.numSlider.getValue)))
)))
(set makeMissileMouse (func (exec
(set x (getWorldMouseX))
(set y (getWorldMouseY))
(set tx (+ x (* 600 (- (Math.random) .5))))
(set ty (- y 600))
(set diff (new box2d.V2 (- tx x) (- ty y)))
(set r (diff.angle))
(set missile:Missile (new Missile tx ty (- r (/ Math.PI 2)) 3500))
)))
(set makeMissile (func x y r (exec
(set missile:Missile (new Missile x y r 0))
missile._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)
)))

(uiExpressOpen meta.panel)
(new UILabel "Click to launch missile.")
(uiExpressClose)

(new templates.Drop meta.hook makeMissileMouse false)
(new templates.AddToGlobalGroupOnPurchase meta.hook "spawnDirectedFunctions" "Missile" makeMissile)

👍: 0 ⏩: 1

JaydenMontoya9899 In reply to DudeDude2211 [2012-12-06 03:01:39 +0000 UTC]

Crashes if used 3 times...

👍: 0 ⏩: 0

DudeDude2211 [2011-09-21 00:56:17 +0000 UTC]

I cant find rocket and i made the water more AWESOME

👍: 0 ⏩: 0

DudeDude2211 [2011-09-20 00:07:17 +0000 UTC]

👍: 0 ⏩: 0

DudeDude2211 [2011-09-20 00:02:41 +0000 UTC]

THEIR IS NO BUDDY!!!!!
[link]

👍: 0 ⏩: 0

ADENED298498JEW [2011-09-17 12:58:02 +0000 UTC]

The rocket attachment=Omfg Its a flying mine!

👍: 0 ⏩: 0

Realsmmk [2011-09-10 18:11:23 +0000 UTC]

How do i select the circle item after i spawn it, the select tool only buts a red outline on it and gives me the option to delete it. I cant find a temperature slider?

👍: 0 ⏩: 1

Army-of-Zero In reply to Realsmmk [2012-03-15 13:33:01 +0000 UTC]

after selecting you change the tool to the move tool to move it, if you want to change the temp then put temp atatchment on it then put something that outputs a number of your choosing in the game the conect the two

👍: 0 ⏩: 0

giftedgrrl [2011-09-02 07:59:44 +0000 UTC]

i am ok at computer stuff but this confused me maybe tile make more sense when its finished but all i could do was throw base balls every where it looks cool but confusing

👍: 0 ⏩: 0

unknown8900 [2011-08-22 00:22:43 +0000 UTC]

Found a bug. when you put alot of line connectors in one thing, it just goes crazy.

👍: 0 ⏩: 0

Tha1337er [2011-08-19 01:13:30 +0000 UTC]

in the finished version you should be able to script your buddy to do objective like things like tag a barrel and escape an exploding shaft or something

👍: 0 ⏩: 0

Realsmmk [2011-08-18 04:39:44 +0000 UTC]

never mind

👍: 0 ⏩: 0

Realsmmk [2011-08-18 04:38:20 +0000 UTC]

It will not let me delete things.

👍: 0 ⏩: 0

SirSaltiness [2011-08-10 07:35:12 +0000 UTC]

Awesome

👍: 0 ⏩: 0


| Next =>