## The Blueprints Machine

Show off your games, demos and other (playable) creations.
nuno
Party member
Posts: 137
Joined: Wed Dec 11, 2013 12:00 pm
Location: Portugal
Contact:

### The Blueprints Machine

Hello fellow lövers

I'm publicly announcing what will (hopefully) become my next game: The Blueprints Machine (TBM).

TBM is a puzzle game, where each level can present you a totally different scenario/world/challenge, and to solve it, you have to manipulate certain aspects of that level to achieve the desired ending result. In order to do that, you'll get the help of blueprints, where various kinds of nodes allow you to do operations, calculations, and changes in the level.

TBM is also a learning experience. The game starts with a few basic nodes, but quickly will demand from you creativity and imagination to come up with easier ways to do things and re-utilize previous strategies.

I did a short video to show a bit the current working prototype where blueprints are designed. (make sure you view it in fullscreen)

Last edited by nuno on Wed Aug 12, 2015 11:34 am, edited 3 times in total.

nuno
Party member
Posts: 137
Joined: Wed Dec 11, 2013 12:00 pm
Location: Portugal
Contact:

### Re: Introducing The Blueprints Machine

today's developments

Positive07
Party member
Posts: 1006
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

### Re: Introducing The Blueprints Machine

Wow looks pretty neat, but I'm really more interested in using it as an app for visual programming

Anyway, really cool and I'm looking forward to whatever game you can come up with with this awesome UI
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(Github.com/Positive07)

veethree
Inner party member
Posts: 820
Joined: Sat Dec 10, 2011 7:18 pm

### Re: Introducing The Blueprints Machine

Looks neat. The sandbox mode looks like it'd be fun to mess around with.

nuno
Party member
Posts: 137
Joined: Wed Dec 11, 2013 12:00 pm
Location: Portugal
Contact:

### Re: Introducing The Blueprints Machine

Positive07 wrote:Wow looks pretty neat, but I'm really more interested in using it as an app for visual programming

Anyway, really cool and I'm looking forward to whatever game you can come up with with this awesome UI
in a way, you will be doing visual programming, to solve the puzzle

qubodup
Inner party member
Posts: 775
Joined: Sat Jun 21, 2008 9:21 pm
Location: Berlin, Germany
Contact:

### Re: Introducing The Blueprints Machine

This looks very neat! I hope you have an android device, will test this on said device (e.g. with viewtopic.php?f=5&t=80513&p=186399 ) and find that you should totally target touchscreens with this
lg.newImage("cat.png") -- made possible by lg = love.graphics
-- Don't force fullscreen (it frustrates those who want to try your game real quick) -- Develop for 1280x720 (so people can make HD videos)

Drakkahn
Prole
Posts: 24
Joined: Sat Jan 17, 2015 11:09 pm

### Re: Introducing The Blueprints Machine

I think you should keep the debug function in the main game, I think they would be really useful for beginners. Also I recommend adding subtract and divide events, although they aren't actually necessary it would be much more user friendly.

nuno
Party member
Posts: 137
Joined: Wed Dec 11, 2013 12:00 pm
Location: Portugal
Contact:

### Re: Introducing The Blueprints Machine

Drakkahn wrote:I think you should keep the debug function in the main game, I think they would be really useful for beginners. Also I recommend adding subtract and divide events, although they aren't actually necessary it would be much more user friendly.
Yes, the debug nodes will be part of the game, otherwise some levels can be quite hard to complete

Keep in mind that education is also one of the game's purposes, so I want the player to actually understand the basic blocks of what he does. How many people can actually explain what division is? This is something that will be done at the beginning, like a tutorial level or something

Ranguna259
Party member
Posts: 911
Joined: Tue Jun 18, 2013 10:58 pm
Location: I'm right next to you

### Re: The Blueprints Machine

This reminds me of IGG's TIS 100 but this is way more beautiful. Great work.

Also, I'd love to see bezier curves instead of stright lines, like this:
curve.png (2.13 KiB) Viewed 3921 times
It'd look something like UE and Unity's blueprints:

O código:

Code: Select all

function love.update(dt)
if bezier then
local x,y = love.mouse.getPosition()
local x1,y1 = bezier:getControlPoint(1)
bezier:setControlPoint(2,math.min(x,x1) + (math.max(x,x1) - math.min(x,x1))/2,y1)
bezier:setControlPoint(3,math.min(x,x1) + (math.max(x,x1) - math.min(x,x1))/2,y)
bezier:setControlPoint(4,x,y)
end
end

function love.draw()
if bezier then
love.graphics.line(bezier:render())
end
end

function love.mousepressed(x,y,k)
bezier = love.math.newBezierCurve({x,y,x,y,x,y,x,y})
end

function love.mousereleased(x,y,k)
bezier = nil
end
Control points are set according to where the line start and where the line ends (first and last control points), the second control point's coordinates are the middle x position of the first and the last point and y position of the first point, the third point is the same x position of the second point and y position of the last point. (Vê a função love.update do código)
Attachments
bezier curve.love
LoveDebug- A library that will help you debug your game with an on-screen fully interactive lua console, you can even do code hotswapping

nuno
Party member
Posts: 137
Joined: Wed Dec 11, 2013 12:00 pm
Location: Portugal
Contact:

### Re: The Blueprints Machine

Ranguna259 wrote:This reminds me of IGG's TIS 100 but this is way more beautiful. Great work.

Also, I'd love to see bezier curves instead of stright lines, like this:
curve.png
It'd look something like UE and Unity's blueprints:

O código:

Code: Select all

function love.update(dt)
if bezier then
local x,y = love.mouse.getPosition()
local x1,y1 = bezier:getControlPoint(1)
bezier:setControlPoint(2,math.min(x,x1) + (math.max(x,x1) - math.min(x,x1))/2,y1)
bezier:setControlPoint(3,math.min(x,x1) + (math.max(x,x1) - math.min(x,x1))/2,y)
bezier:setControlPoint(4,x,y)
end
end

function love.draw()
if bezier then
love.graphics.line(bezier:render())
end
end

function love.mousepressed(x,y,k)
bezier = love.math.newBezierCurve({x,y,x,y,x,y,x,y})
end

function love.mousereleased(x,y,k)
bezier = nil
end
Control points are set according to where the line start and where the line ends (first and last control points), the second control point's coordinates are the middle x position of the first and the last point and y position of the first point, the third point is the same x position of the second point and y position of the last point. (Vê a função love.update do código)
hi!
yes beziers are on my todo list.. but very low priority give the amount of important stuff I'm still missing

### Who is online

Users browsing this forum: No registered users and 9 guests