Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Foul Job — Gideros Forum

Foul Job

Hello guys!

Well, I participated in the kenney Jam 2017, this contest was interesting for the time limits, (I had never participated in something like this)... and yes today it finished....
The theme was: "It's a feature, not a bug!"

And I do not know if I understood that well, because I had never heard that expression in Spanish, though the people on the forum was friendly with me...

So "It's a feature, not a bug!" means: when you make your steak overcooked and you say after yes I prefer steak overcooked and not well done :)

Well my project is about Dirty Job (I love this program):
You work in a waste treatment plant and you must convert turn dirty water to fresh water (It's good for planet no directly by you, but of course, don't forget we need to care water)

I use in this process LiquidFun, Tilemap, Box2d, XnConvert (save a lot time resize canvas) and of course Gideros

This Took some time because First time I used LiquidFun (it's amazing) and I had than code a system for the collision between particles and Box2D object (because particles can not be call on event contac) and of course read info in tilemap for this project.

Here I show you a video about the progress presented, later I will publish it on Google Play with more levels and improving the interface of course.

EDIT POST AUG 28th ,2017
Here I leave you the Link and you'll be able to test it
+1 -1 (+4 / -0 )Share on Facebook


  • Wow, great fluid movement. Haven't played with liquid fun before, but now I want to! Could the "liquid" be more rigid, like a squishy bouncy ball?
    My Gideros games: www.totebo.com
  • HubertRonaldHubertRonald Member
    edited August 2017
    yep! it's very quickly but you must have in consideration another parameters. Here I leave you a little code
    require "box2d"
    local cw=application:getContentWidth()
    local ch=application:getContentHeight()
    -- create world
    local world = b2.World.new(0, 9.8)
     --set up debug drawing
    local debugDraw = b2.DebugDraw.new()
    -- create ground body
    local ground = world:createBody({})
    -- create an edge shape, and attach it to the ground body as a fixture
    local shapeb = b2.EdgeShape.new(0, ch, cw, ch)
    local shapet = b2.EdgeShape.new(0, 0, cw, 0)
    local shapel = b2.EdgeShape.new(0, 0, 0, ch)
    local shaper = b2.EdgeShape.new(cw, 0, cw, ch)
    ground:createFixture({shape = shapeb, density = 0})
    ground:createFixture({shape = shaper, density = 0})
    ground:createFixture({shape = shapel, density = 0})
    ground:createFixture({shape = shapet, density = 0})
    local shape = b2.CircleShape.new(0, 0, 50)
    local ps1 = world:createParticleSystem({radius=4})
    --b2.ParticleSystem.FLAG_ELASTIC = 16	--stable jelly (if on the world doesn't exist strength)
    --b2.ParticleSystem.FLAG_SPRING = 8	--really jelly
    --b2.ParticleSystem.FLAG_POWDER = 64	--like a boiled
    --b2.ParticleSystem.FLAG_TENSILE = 128 --like a ocean, scum
    --b2.ParticleSystem.FLAG_VISCOUS = 32	--like a rice
    --b2.ParticleSystem.FLAG_WALL = 4	--like a sponge or water drops on surface
    					--(it only works with two Particles group like
    					--minium but another particles group must have different Flag)
    --b2.ParticleSystem.FLAG_WATER = 0	--water
    --b2.ParticleSystem.FLAG_ZOMBIE = 2	--(I don't have idea... how does it works??)
    	color = 0xF9CC5B,
    	--strength=10,		-- I haven't test it yet but if you activate it destroy bouncy ball (when flags=16)
    			        -- (keep on ten it and you'll see its effect)
    	flags=16,	        -- Particlsystem Flag
    	--groupFlags={16,4}	-- (I don't have idea... how does it works??)
    local function onEnterFrame() world:step(1/60, 8, 3) end
    stage:addEventListener(Event.ENTER_FRAME, onEnterFrame)
    512 x 512 - 346K

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • HubertRonaldHubertRonald Member
    edited August 2017
    in the case b2.ParticleSystem.FLAG_WALL = 4 you can check Examples Projects: Particles systems on Gideros Studio and change flags value to "4" for blue liquid
    local shape1 = b2.PolygonShape.new()
    shape1:setAsBox(200, 50)
    local shape2 = b2.PolygonShape.new()
    shape2:setAsBox(200, 100)
    local ps1= world:createParticleSystem({ radius=5})
    --blue rectangle
    color = 0xFF0000,
    flags=4 --<========change this number
    --red rectangle
    color = 0x0000FF,
    and you'll see its effect

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • HubertRonaldHubertRonald Member
    edited August 2017

    Like a Sponge!
    465 x 324 - 77K

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Hi @HubertRonald,
    Well done submitting this to Kenney Jam, I hope it will help Gideros being noticed by more developers.
    Btw I see there: https://itch.io/jam/kenney-jam-2017/entries that some games provide a 'play in browser' link, I think it be would be nice if you could do that too!
    +1 -1 (+2 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    edited August 2017
    Hopefully gideros (lf 1.0) will be updated to use the latest version of liquidfun (1.1.0 + the fixes since then), it's supposed to be even faster, etc...


    Likes: HubertRonald

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    +1 -1 (+1 / -0 )Share on Facebook
  • HubertRonaldHubertRonald Member
    edited August 2017
    Hi @hgy29 thanks for suggestion I didn't know about uploading html5 file (it was new for me)... but really easy with Gideros :) :)
    I only had changed gideros.hmtl for index.html and thats all!!!

    Here I leave you the Link

    Likes: hgy29

    +1 -1 (+1 / -0 )Share on Facebook
  • hi, i don't know if it is intentional but i don't understand at all what this means:
    "You work in a waste treatment plant and you must convert them to fresh water (It's good for planet no directly by you but after of course I need water fresh)"
  • Great stuff. I had a brain freeze when the theme was announced and it really didn't make me excited to participate at all :(
  • HubertRonaldHubertRonald Member
    edited August 2017
    Hi @keszegh

    ah! yes maybe narrative is not very clear but idea is we need recycle because as humans that is us, we contaminate our planet (terrible mistake) but after, you listen people to say "I recycle because I love our planet" so that question is... if all products that we use them, it can than indirectly contaminate our planet, Why do we feel better saying I'm recycling? It is a mistake that burns us but we put cold water on it... so with this concept in my mind I invented "foul job" :)
  • Yes @antix, it theme "It's a feature, not a bug!" was very difficult after three hours I knew then make
  • keszeghkeszegh Member
    edited August 2017
    now i may understand better, @HubertRonald. the english of that sentence could be improved though, as it's the first thing one sees about your game.

    what you say about false feeling better about recycling reminds me of this video btw, about the same issue with charities:
  • Nice video @keszegh also I had updated the last description (than I've posted for you) on the page kenney to better explain the idea
  • is it possible to have two liquids with different densities, to simulate oil floating over water?
Sign In or Register to comment.