PDA

View Full Version : Machine Flow



Nitrogen
03-08-2008, 04:42 PM
Greetings PGD! I haven't posted here in quite a while, but I have a new project to show, something I've been working on over the past few months, and I'm very pleased with where I've gotten with it.

It is an Esoteric Programming Language which wikipedia describes as a language which is a "test of the boundaries of computer programming language design, as a proof of concept, or as a joke". I'm pretty sure my language is about 90% joke and around 10% proof of concept. Let me explain:

In Machine Flow, all programming tasks are carried out by marbles. Yes, Marbles. They 'flow' around on rails, set on top a giant wooden table, carrying one variable of data around each. Each set of rails is connected to an input or output of an Operator - a little box which does something with the marbles (Add, Duplicate, Test, etc.). This concept has been explored before, under the name 'Dataflow', but never with these sort of graphics I think!
You may be thinking "WHY" at this point... Well, think of it as a piece of 'art'. An expression of creativity that needs no purpose other than to be enjoyed.

http://www.nitrogen.za.org/gallery/thumbs/MachineFlow2.jpg (http://www.nitrogen.za.org/gallery/MachineFlow2.jpg)

From a technical stand-point: The boxes use Lua script to perform their actions, and each Operator is described as a simple text file so the language is easily extendible.
All the graphics were painstakingly hand-drawn, except for the icons, which were used from free icon packs...

I've also included some demo projects, one of which uses Miller-Rabin theory to test if a number is prime or not.. it's quite a monster!

Go check it out now! Download Machine Flow (http://www.nitrogen.za.org/projectinfo.asp?id=38)

arthurprs
03-08-2008, 05:05 PM
just -> incredible!

ps: i can't load any project, it aways gives the error > "range check error"

AthenaOfDelphi
03-08-2008, 09:01 PM
Nitrogen...

All I can say is WOW! Its awesome.

Nitrogen
03-08-2008, 09:48 PM
arthurprs: Are you using a locale where the comma ',' is used as a decimal separator?

The project files are just plain text, see if you can open one up and change any '.' points you find, to commas...

Nitrogen
03-08-2008, 09:49 PM
Thanks Athena, I trust the Outer Reaches is going well?

arthurprs
03-08-2008, 10:12 PM
arthurprs: Are you using a locale where the comma ',' is used as a decimal separator?

The project files are just plain text, see if you can open one up and change any '.' points you find, to commas...
yes

i tryied, but the error is not gone =(
same happens when i try to add a object (rails, block.. etc) to the screen

paul_nicholls
03-08-2008, 11:27 PM
Hi Nitrogen2, I have downloaded the Machine Flow exe and code (haven't tried it yet), but it looks like loads of fun :)

PS. didn't you previously post messages using Nitrogen as your handle?

keep up the great work chief :)
cheers,
Paul

tanffn
04-08-2008, 07:56 AM
Great job! Its looks fantastic!

It will be nice to add:
(1) zoom control
(2) some sort of a “debugger”/overview of the system state and
(3) sounds!
I also found the animation of the buttons palate a bit slow (as nice as it looks).

Nitrogen
04-08-2008, 09:36 PM
Yup, forgot my login on my Nitrogen account, so had to make a new one!

Hmm, thats a strange bug...

Yea, the zoom is actually pretty easy to implement....

For the debug info... What would you represent? I was thinking of highlighting the rails belonging to the box you are currently editing... Plus putting labels on the inputs and outputs...

JernejL
04-08-2008, 10:06 PM
Use the password recovery form?

perhaps you can get the pass from browser stored passwords list?

Nitrogen
05-08-2008, 08:20 AM
Hehe, I've tried all the possible combinations, plus this was long ago.. I've formatted my PC since then...

savage
05-08-2008, 09:19 PM
Looks very cool. Bumped to news item.

www.sibvrv.com
09-08-2008, 08:42 AM
:roll:
Nice work! )

how you have created this nice GUI?
can you make OpenGL GUI Interface for games?

ps.
i have seen skin like in your program
http://guistyles.com/2008/08/07/willwills-intrepid-gdm/

Nitrogen
12-08-2008, 09:16 PM
The GUI is built from scratch... It's really a nasty collection of classes! No proper inheritance or anything...

WILL
14-08-2008, 01:06 AM
Building GUIs from scratch is a royal pain! :lol: Nice work Mike! ;)

Andreaz
15-08-2008, 11:47 AM
You got some internatialization problems, got the good old "0.5 is not a valid floating point value".

Here in sweden we're using , as decimal seperator, it's a pain, I know but that's how it is.