Others Looking for UI/GUI artist for personal project

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
1,011
(Was having issues posting or linking any images, so this is a boring looking post I guess).

Let me start out saying, this is for a personal, non-commercial project. As a result, I probably will not be able to compensate any artists who are interested in helping, but I am stil posting this to see if anyone wants to help.


This is not a game making project. This is more like, making a cool text terminal, or programing console project.

Recently, I have been working on making my own programming language, I have most of the technical details worked out, and I am now begining to make the compiler. Due to the nature of my programming language (designed for non programmers), text is not the only thing that matters. I also need the IDE (integrated developer enviroment) to be interactable and respond to what users do. Because of this, I will pretty much have to make my own IDE along with the compiler itself.

Currently, I am fairly busy with college and projects, so I don't really have any time to work on my own projects for the next 3 weeks or so, but since I have a plan, I may as well make this post to see if anyone wants to dable a bit while I'm busy. Normally I would do all my own art.

In this first phase of building, I am just implementing some basic functionality: reading and partitioning the text, identifying important key words, names, values, and commands, and visually showing important things. I plan to use a boarderless window.

What I would like, from anyone who is interested, is just to play with some design ideas for how the program should look, how the program tries to make key words stand out, very basic stuff for now. I have been playing around with my own ideas and art, but I really don't have time to get into details with my work. I have seen all sorts of styles, from space age, to pixel art IDE's, right now I am mostly just exploring ideas so anything goes. Let me know if you are interested.

message me if you want any details

For those of you that are and would like to get started right off the bat, here are somethings you could play with.

~ Designing the overall lay out (such as menus or an exit button somewhere), since this project will not be using the standard windows GUI assets (ie no boarder with a red x).
~ Sub windows or zones, As I see it now, it is likely that the program will have two major areas/windows, the thing with all the text, and some other window (could be anything, table of content, project navigator, tools, this will be configurable as the project continues to the more advance stages).
~ Text: Figure out how the text looks. There will be Normal text, as well as I would like there to be a way to identify keyword, keynames, variable name, and values.
~ Highlighting: ontop of that, perhaps it would be dope to play with how things look when selected or highlighted. This can be for a group of text (of any type) or for identifying key words or names in the text. for example, if a keyword is orange, and we want to identify it after doing some search or something, that key word has an orange highlight, while normally a highlight might be blue.
~ Maybe play with pop up windows and button? kinda like menus in a video game. scroll bar?

idk, just some staring ideas for anyone interested. If I like it and stick with any idea's, I can do the work to clean up the work if need be and implementing it in a custom program.
 
  • Like
Reactions: Zioner35

Zioner35

New Member
Sep 16, 2017
8
6
Hey, if it is supposed to be for non-programmers, why not just scrap the text part?
Define all elements as 'objects' and 'text-fields' and let the users (devs) just stitch their game from these.
As for variables, you could also define them as 'objects' and use them in the 'text-fields' with something like %variable_1% or @variable_1 or make the 'text-fields' made of text AND objects.
As for events (click, key-press, drag), they could also be listed and used as objects.
It all depends on how much freedom do you want to give the user. It could also be a combination of both. An interactive IDE with an option to switch to text-editor, but it would be a lot more work ofc.
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
1,011
Since I am in the process of copyrighting the language under my business name, I can't go into details on how the language works or even looks like when type, but I can give you the key ideas that make this language stand apart as well as why I am starting with a text editor, and why a text editor is only a fraction of what matters.

The short and sweet of it is that the text editor allows me to rapidly prototype my language as I am starting out, which due to the nature of what my compiler needs to due, does not operate like a standard compiler using standard techniques.





The long explanation: Most of the languages used in the work force require you to write code and build on top of systems. This means you have to design code, planning ahead. That is all fine and dandy, until you get tired of solving the same problem over and over again using the same techniques. Typically when coding, you write the code, then you add comments which explains what the code does. My code works in the opposite direction. You describe what you want, and my language being a translation type language, will take your description, identify key behaviors, and write the C or C# code that performs what you want in the most optimal manner. Instead of building up off of lower systems, the intractable IDE reads through your descriptions, it realizes either, there may be conflicting descriptions (mostly when describing logic) or new ideas (ie introducing the idea of a 5 legged animal) and it will prompt the user with a to do list, asking them to describe new ideas in more details, or correcting possible issues, allowing users to work from the top down until eventually all the loose ends are wrapped up and the program knows how to complete your project. It takes ideas we think of as intuitive, and identifies the proper programming trick to achieve a type of description in code, ie writing event handling code to communicate between different encapsulated objects.

While the text editor allows me to rapidly prototype different tricks of my language, (since I don't need to make new code to create new particular dialog boxes, I just need to update the compiler,) the other reason I am starting out with a text editor is if you open up a program for the first time, getting started is the most annoying thing. The nature of this language is to allow you to know nothing, sit down, and bash out ideas as fast as possible, because it is more intuitive to write natural language than it is to read through a collection of buttons and dialog boxes.

However, The text editor has one major flaw. Because the nature of my language is to describe ideas, rather than just writing code, it can be rather verbos. if you compare Hardware description languages Verilog and VHDL, they are practically identical, but many people (west side) prefer verilog over VHDL because it does the exact same thing with less words, VHDL is rather verbos. Basically, being verbos is not very professional, not very quick to create with, and not quick to read after you already are familiar with the language because it starts to obscure the critical details.

To try to rectify this, I am trying 3 things. First is, not to make a basic IDE. Since it is critical that the IDE be interactive, I might as well include some tricks that will help with readability. In my description, I mention having sub windows or panels. Rather than being just a pure text editor, where you have to have a bunch of text in one file or break it up across a range of text files, the nature of my language allows for 2 tricks, dynamic reorganization, and redundancy. That means, not only does the language allows for the user to flip through different organized tabs of text, tabs which they themselves organized to begin with, but it can procedurally create new files. It allows user to describe an idea somewhere, and then repeat the idea someplace else. The idea is that, you can have a front page file that shows up that mention the key ideas, if you want to know more about a particular "concept" such as what "items" can be "placed" in an "inventory", the IDE and the language can procedurally create a document outline all relevant descriptions, as well as you can make another file that goes into more detail, and you can repeat a description if you think it is important to have that description with the other descriptions if it helps properly describe or introduce an idea.

The second thing I am trying to do is make 2 other modes besides the text editor mode. There is the schematic mode, and the code mode. Code mode is simple, it along with one or the other mode, is placed side by side, it allows you to hover over a description or schematic, and the program shows what part of the C or C# code is responsible for bringing that description or idea to life, with the idea that users could learn advanced programming tricks be seeing these side by sides examples. Schematic mode is similar to what you were describing, that is, instead of using a bunch of verbose text, it tries to show what you describe visually, ie showing relationships between things (ownership or logic or other stuff) and allow for point and click creation of an idea. The main advantage of being able to quickly browse through all the stuff to see what is going on, quicker for team projects.

Back to why I am going for a text editor first is that, the issue with the schematic mode is so far it can be rather vague (it is like a stripped down text editor, and instead of lines, it just a bunch of dialog boxes on a flow chart like system), and point and clicking is never as fast as using the keyboard. And often mice tend to be less ergonomic if you are coding more than 2 hours (or drawing X3 ). Moving to schematic mode after getting used to text mode is like a medium level step in skill level. Something that can be used by both modes to improve speed would be hotkeys. This would be the advance final step. using hotkeys are never as intuitive but is the fastest one can work with a computer. Some users may find that they can type everything as fast as they could use hotkeys, and the hotkeys may slow users down if they often have to go back and forth between mouse and using the keyboard to type in a name (more of an issue with text editor mode), but in schematic mode it can be a lot more powerful because instead of having to point and click, the mouse only needs to be in the vicinity and the hotkey will determine what needs to be done. This works fine for mostly when editing existing concepts and not making new ones.

One thing I want to play with is a search bar, mostly for finding names of things, which can be used in both text and schematic mode, but I don't know how efficient it will be. Search bars work great when you have lots of commands, however, the key to my language's success, other than having an interactable IDE which tries to take away thinking and planning responsibility away from the users, one of its advantages is that it has only about 4 actual commands, how you describe stuff using them determines the difference between a delta event trigger and multi-inheritance long term parameterization. So the search bar may only end up as a quick reference for how to do something, a preview window listing out descriptions relevant to a concept, an auto-fill form for pre-described concept name, or to allow entering direct commands to the IDE.

Oh, I wrote a lot... Enthusiasm!
 
  • Like
Reactions: Zioner35

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,327
22,776
If I had the time I'd love to contribute, but I haven't. One thing came to my mind tho. Why not use a fexible design with placeholder images for now?
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
1,011
A good idea, and I'll probably continue to make changes as things go along, I guess I was looking for more inspiration as I was too busy to focus on this project.