maackle/permablocks-ui

Output/input does not match up?

Opened this issue · 6 comments

I really like the work you've done so far, the design is very fluid. I'm just having an issue trying to get everything to play nice together. I assume that the outputs and the inputs are supposed to hook together, but they just tend to orbit each other and look like they want to do something. Have they not been properly implemented yet?

Indeed, connecting inputs to outputs is not implemented yet, but it's next on the todo list. Currently inputs are attracted to outputs and vice versa but there's no other interaction. This whole thing is still in a really rough state, but I'll be chipping away at it over the next few weeks. Thanks for the interest, and stay in touch!

Will do! I might just have to pick up some coffeescript and do a bit of coding on it myself. I'm really excited about this project, it's got great implications to me. If you'd like to go over some details on what needs to be coded next, I learn best by having something to do. For example, http://ichaleynbin-todo-list.meteor.com is my first ever project in javascript, and therefore my first ever project in Meteor, but it took me only a week to complete.

Reviewing the codebase now. If you'd like to add me to skype or something, my tag is always ichaleynbin.

@ichaleynbin @maackle - are any of you still interested in coding on this project? I am in the process of becoming a permaculture designer and am keen to explore more applications that can enhance the planning and management of PC projects. Let me know because this is a space I'm going to dive into pretty deeply. Fluent in JS and Ruby. Cheers :).

Unity is quite nice for it's flexibility, as it's able to handle browser based as well as local installations for both PC and mobile, all with the same code base. It also has the side advantage for me of being one of my more well known languages, but overall I'd probably recommend Unity over JS or Ruby. Then again I'm biased against Ruby, I like to know when my code is wrong, I like seeing errors thrown. If you can do something in one Turing-complete language you can do it in any other, but that doesn't mean it's going to be easy, or good; language choice matters. JS would work for browser, but no app and no desktop version, or at least it isn't worth it to make JS do those things when Unity C# can do it better with less stress on the programmers.

I have a fair bit going on right now so I probably don't have a ton of time to spend on coding but I'd be more than happy to have a brainstorming session or two, as this is an idea which still definitely catches my interest. Backend structure is my thing anyhow and there's very little work there, it just needs to be done properly, good architecture will save tons of trouble and make for a better end result. If you have UI guys, throwing the structure together isn't that much, I could likely find the time to at least get some lines of structure down. C#'s pretty easy once you're in the groove, fairly easy transition from JS, static typing and the like.

I can't imagine the back end taking more than a thousand or two lines of Unity C# to accomplish all the functionality required from the back end, and most of it is actually in how to handle user inputs, double click or click and drag, etc., which is the border of back end and front end, literally. 80-90% of the "backend" lines will be handling user actions, almost nothing will be in bookkeeping. One, maybe two classes at most, but it's likely that one class is sufficient, everything else should be abstracted out, such that when you initialize your class, you give it the inputs it needs and the ratio of inputs to outputs. It's probably more convenient (and sensible) to the programmers to split a few major types of items out, for example animals and plants getting their own classes.

The front end is the lion's share of the work, making it look pretty, with a smooth interface and all the information available without overloading the screen with too much data for humans to process. I am far too.... practical is the wrong word but so's ascetic, I'll put rectangles with text in them and call it good if I can drag them around and resize them lol.

I'd also recommend taking a peek at Factorio, a game released well after this idea was originally bandied about here. A lot of the concepts are shared, as far as interconnectivity, balancing inputs and outputs across an array of consumers and producers with different ratios. The way it builds upwards into the late game, with the focus shifting from building small sections by hand, to making blueprints and placing those, allowing construction robots to place hundreds of buildings for you, is something worth thinking about for the permaculture thing. If this gets turned into a game, then it's a good thing to have behind the scenes anyhow, but the blueprint idea of being able to say "here's a chunk that I know is balanced if I put X in and get Y out, I can tile those chunks repeatedly if I make it more efficient here" would be quite useful for larger designs.

Anyhow I've rambled long enough, like I said before, I'm "ichaleynbin" everywhere. Best place to hit me up is probably facebook, whenever I'm around I'd love to talk more about this as I'm likely starting up a project of my own which would benefit greatly from such a tool.

@ichaleynbin @SamSmith17 - I'm happy to have a quick brainstorming session to see if this is something that can be pursued. Of course being mindful of everybody's time, just to kick some ideas around and see if this is something that can get up and running somehow - I am not versed in C# or Unity - for me I'm more of an OOP full-stack that is transitioning into being a designer so I can definitely help on that front...