Visual, How Visual is Visual?

New releases and general discussions.

Post » Fri May 08, 2009 6:01 am

[quote="Psmith":1431icya]It always amazes me how programmers reply to reasonable questions like the ones I have posed.[/quote:1431icya]

First, a lot of us here aren't programmers. In fact, most of us are probably here because we're NOT programmers. I'm proficient with construct, but I can't even manage to get through a basic javascript tutorial.

[quote="Psmith":1431icya]What can you call a thing other than "variable" that is more descriptive and more readily understandable to non-initiates? I'm sure you can find a better word or phrase if you cared to think about it for longer than a second or two.[/quote:1431icya]

This isn't a good argument. Think about it. Imagine you enounter something you've never encountered before - like an animal. You don't know what it's called. This type of thing happens all the time for scientists exploring the world. Therefore, to differentiate it from all the other animals, it needs a name.

Now, you may want to call it what you want, but the rest of the world already has a name for it. Going around referring to it by something else would only confuse people and no one would understand what you're talking about.

One of the great things about construct is it gives the power of a lot of real programming principles and makes them simple to understand and use. If you got over your reluctance to try to learn it, it probably wouldn't take you longer than a second or two to understand them, because they really are easy concepts to learn.

The other benefit of doing it this way is that even though I can't code the most basic thing in javascript, I can hold conversations with professional programmers about coding, and they can make suggestions to me that actually work in construct even though they've never used it. Calling it something like 'remember' would stunt your development as a coder and make it harder for you to jump from one dev environment to another.

[quote="Psmith":1431icya]I know I can. For non-global variables, instead of a dead and indeterminate noun, why not use a verb like "remember". "Remember"(something) would hold whatever you wanted in its "memory" until it is replaced by something else. A global variable could be equally descriptive by using another active phrase that everyone can understand like "remember forever" (something). This is how we speak and this is how we think.[/quote:1431icya]

A variable is a thing, which is referred to via a noun, not a verb. You're suggesting a replacement for the word variable, but the place remember would be used is in the action, instead of set variable. So remember what? What is the underlying part of the program you're working with? When you create new variables, what should they be called? Create a new remember? Referring to a thing with a verb doesn't work. What you're actually suggesting here is replacing the words "set variable" with remember. You'd still have to make a name for it. And what do you know, there already is one.

It really is quite logical. A variable is a number or text that can be modified - i.e. it can vary. You can give them names. So sprite('speed') will retrieve the speed. Is set variable 'speed' really that much harder?

[quote="Psmith":1431icya]Considering that something is "advanced" or "professional", simply because it is obscure is nonsense.[/quote:1431icya]

It is not advanced, nor is it obscure. It's what everyone in the entire programming and mathematics world calls it. It's also one of the most basic parts of programming. You want advanced, look at anything quazi makes.

[quote="Psmith":1431icya]It is quite alright that you have designed this engine for making professional quality 2D games, but that does not require you to make it difficult for non-professionals to do so. Games and game logic are incredibly simple if you care to be honest about it. There is no need to add layers of complexity just so those who consider themselves "professionals" don't feel let down.[/quote:1431icya]

Games are as simple or as complex as they're made to be. Most of us here are not game industry professionals. I hope you don't feel let down by this. If you put as much effort into learning it as you're putting into trying to find some way to not have to, you'd have learned it already. This is about as simple as game logic gets while still having flexibility for more advanced stuff.

If you're having trouble understanding any of the terms, all you need to do is ask. The people here are very helpful.

[quote="Psmith":1431icya]Actually, PhotoShop was one of those programs I learned to use quite proficiently by clicking around and not reading a single page of documentation or following a single tutorial. Any really professional application that claims to have even a fraction of PhotoShop's utility should provide the same facility.[/quote:1431icya]

Try that with Maya. And I did learn most of construct by clicking around.

[quote="Psmith":1431icya]One of these days the Priesthood of the code will be thoroughly disbanded. Mark my words.[/quote:1431icya]

This isn't elitist nonsense. This variable thing has been around for hundreds/thousands of years and is quite thoroughly entrenched in both programming and mathematics. From wikipedia: "Much of the basic theory for which we use variables today, such as school geometry and algebra, was developed thousands of years ago, but the use of symbolic formulae and variables is only several hundreds of years old."

You're not going to win this argument. No one's trying to bash you down, but your suggestion is both impractical and not better than the way it is. Seriously, this stuff really isn't that hard to learn and it will help you in the long run.
Moderator
B
87
S
32
G
33
Posts: 3,005
Reputation: 27,397

Post » Fri May 08, 2009 6:43 am

lol, I bet its a fake account of LIJI's or something.
B
134
S
65
G
16
Posts: 1,765
Reputation: 19,188

Post » Fri May 08, 2009 6:50 am

[quote="Psmith":2venf2qu]It always amazes me how programmers reply to reasonable questions like the ones I have posed.[/quote:2venf2qu]
That right there, speaks volumes. :)

[quote:2venf2qu] Programs must be written for people to read, and only incidentally for machines to execute. - (Abelson / Sussman)[/quote:2venf2qu]
Funny. This is from a book that leads into the design of Scheme. Which looks like this (from wikipedia)
[code:2venf2qu]
(define a 10)
(define eval-aplus2 (delay (+ a 2)))
(define a 20)
(force eval-aplus2)
=> 22
[/code:2venf2qu]
I spy variables.

If we talk merely nomenclature, have fun explaining why your 'memories' have been 'forgotten' when objects disappear.

[quote:2venf2qu]One of these days the Priesthood of the code will be thoroughly disbanded. Mark my words.[/quote:2venf2qu]
You make it sound like code was an elitist thing, when all you have to do is STUDY the subject.

Someone's just being lazy, methinks. I shall pay no more attention, as there are users who are actually interested in doing things and learning how to do them (among them, me!).
B
3
S
2
G
4
Posts: 1,445
Reputation: 4,665

Post » Fri May 08, 2009 6:51 am

[quote="Psmith":2vk7gjd3]It always amazes me how programmers reply to reasonable questions like the ones I have posed.[/quote:2vk7gjd3]
no one's reacting any way. you stated your case, and we disagreed

[quote:2vk7gjd3]

What can you call a thing other than "variable" that is more descriptive and more readily understandable to non-initiates? I'm sure you can find a better word or phrase if you cared to think about it for longer than a second or two. I know I can. For non-global variables, instead of a dead and indeterminate noun, why not use a verb like "remember". "Remember"(something) would hold whatever you wanted in its "memory" until it is replaced by something else. A global variable could be equally descriptive by using another active phrase that everyone can understand like "remember forever" (something). This is how we speak and this is how we think.[/quote:2vk7gjd3]
you can't call a noun a verb, because you are describing a thing not an action
that would be like calling a car, a drive
a variable is something remembered, not the action of remembering
I want to remember the health left for a character
so I make a variable called "health"
from now on "health"=10 makes health equal 10,

to me that's easier than remember 10 for health
I can't just say "remember 10",
because I want to be able to have many variables that I can keep separate and manipulate in whatever way I'd like , for instance, [code:2vk7gjd3]if "health" is less than 10 [/code:2vk7gjd3](also the way you say that in construct), and [code:2vk7gjd3]character "lives left" = true[/code:2vk7gjd3], then do so and so
imagine if we're saying remember. it would only be annoying

[code:2vk7gjd3]recall memory of health, and if less than 10, recall memory of lives left, and if that's true, then do so and so[/code:2vk7gjd3]
and you can't call it a memory, because memory already has a meaning in computers and programming

"remember forever" is also misleading. a global variable can remember something for less than a 60th of a second if so needed, the amount of time has nothing to do with it. it's the fact that variable can be used globally that makes it global. "globally" meaning throughout every part of the program. we could call "all around variable", "always ready memory" and it's still going to need explanation.

[quote:2vk7gjd3]
Considering that something is "advanced" or "professional", simply because it is obscure is nonsense.[/quote:2vk7gjd3]
first of all, it's not obscure. you're like a kid walking into french class, saying the teacher sucks because you can't understand what anyone's saying yet.
it's not written in plain english because no one has invented Synthetic Intelligence yet and it's impossible to do that. besides, if you want to create something reasonably complex, meeting the computer halfway makes it easier to describe your problem.
[code:2vk7gjd3]I want the x coordinate of my character calculated by interpolating the values of the x coordinate remembered from the last checkpoint he touched, and the x coordinate of the enemy he just clicked on, and I want it to be closer to the enemy based on the amount of power we remember he has left in his magic pouch.[/code:2vk7gjd3]
this is not a complex problem, however it is arbitrary, it's something I might want in my game, that no one will ever need in their game again. there can't be a little button with an icon on it that describes that. it's a math problem, based on parameters that are decided by the game creator
in construct that would be something like
[code:2vk7gjd3]character.x=lerp(lastcheckpoint.x,enemyclicked.x,powerleft/fullpower)[/code:2vk7gjd3]
now of course you have to first learn that something.x, tells you the x coordinate.
you have to know or care what linear interpolation is, which is just the mathematical way to solve the problem, and then you have to look in the wiki to find out that LERP means linear interpolation...i'd prefer to look that up once than to type in linear interpolate every time, btw. photoshop doesn't involve complex problems of logic, it's just visuals, of course it can be visually intuitive. you can't just draw logic to a screen, or actually you can, and construct does it quite nicely.
[quote:2vk7gjd3]
It is quite alright that you have designed this engine for making professional quality 2D games, but that does not require you to make it difficult for non-professionals to do so. Games and game logic are incredibly simple if you care to be honest about it. There is no need to add layers of complexity just so those who consider themselves "professionals" don't feel let down.[/quote:2vk7gjd3]
games and game logic are as simple or as complex as you'd like them to be, if I want to be able to able to move character1 to object2
[code:2vk7gjd3]"position character1 to object2" [/code:2vk7gjd3]<---this is how you tell construct to do this
seems pretty simple and self-explanatory to me, however, if you wanted to make a game that calculates the most realistic animations for the legs of a fully customizable creature so that no matter how weird you make it, it still moves in a way that makes sense(like spore, for instance). I challenge you to describe that solution in simple terms. and yes, things like that are possible in construct
there are no additional layers of complexity. there are layers of complexity removed for you actually, the behaviors in construct take care of a ridiculous amount of logic for you. it sounds like you're not interested in making games, you're interested in someone making them for you, which is what a game designer does, not a game developer. I think construct takes as many layers out of the middle of that as possible. I can think of a complex problem, and have a working model in minutes with construct. something totally unheard of in any other platform with this level of power.
It really can't get much simpler than this without sacrificing ridiculous amounts of power and making it an RPG Maker or something, where you're not making your own game, you're just plugging your characters and story into a premade game. you can make any type of 2d game or app with construct. mario, legend of zelda, lemmings, tetris, paintshop, world of goo, braid, a calculator. of course with this amount of flexibility you're going to need to learn the tool, instead of just clicking around
actually, after reading through the basic tutorials, and asking a few questions, I learned quite a bit by clicking around, but you get my point. this is not the little big planet level editor. the little big planet level editor is fun and awesome and you can do amazing things with it, but you couldn't make a little big planet level editor with it. with construct you have the ability to create anything, that additional power comes with additional things to learn and get used to

[quote:2vk7gjd3]
Actually, PhotoShop was one of those programs I learned to use quite proficiently by clicking around and not reading a single page of documentation or following a single tutorial. Any really professional application that claims to have even a fraction of PhotoShop's utility should provide the same facility.[/quote:2vk7gjd3]
that's a silly comparison, that's like me saying that because I can sit down and a drafter's table and draw something, but I can't sit down in a mechanic's shop, and fix a car, that the tools at the shop are poorly designed. photoshop is used for making visuals. you're looking at the screen. it's an analogue to a piece of paper. There's all kinds of functionality in photoshop you can't learn to use correctly by "clicking around".
you can't just draw logic on the screen.
[quote:2vk7gjd3]
Oh yes . . . Deadeye - that avatar of yours speaks volumes, you know.[/quote:2vk7gjd3]
that's mature

[quote:2vk7gjd3]'Good programming makes simple things simple, and complex things possible' (Alan Kay, more or less).
[/quote:2vk7gjd3]
if you're going to quote computer scientists, you should quote them in context. he's discussing the way you write programs, not the languages you're writing them in. object oriented design is a way to design programs so that it's easy to break down things into manageable chunks of information and logic, so as your program grows, it's easy to conceptualize what you are doing, and btw
just curious, what looks simpler, construct? , or alan kay's current project ?:
[url:2vk7gjd3]http://en.wikipedia.org/wiki/File:Edit_Source_Code.jpeg[/url:2vk7gjd3]

[quote:2vk7gjd3] Programs must be written for people to read, and only incidentally for machines to execute. - (Abelson / Sussman)[/quote:2vk7gjd3]
abelson is a little closer to the mark, but I think construct exemplifies this concept to the fullest, construct makes it completely simple to see what I'm doing. I can see
[code:2vk7gjd3] in the event Bullet Collides with Guy1,[/code:2vk7gjd3] this list of things should happen to both of them.
anything unreadable about someone's construct software is a result of poor planning, or poor documentation within their program (comments and such)


[quote:2vk7gjd3]One of these days the Priesthood of the code will be thoroughly disbanded. Mark my words.

Psmith[/quote:2vk7gjd3]
so basically, you're annoyed with automobile engineers with their well designed CAD software, because you couldn't pick it up and design a ferrari by clicking around?
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Fri May 08, 2009 7:06 am

Gee.

Dan Brown called. He wants his novel back.

;)
B
6
S
2
G
3
Posts: 520
Reputation: 2,690

Post » Fri May 08, 2009 8:18 am

We use standards in the industry for a reason; feature naming convention is part of the industry standard and is not harmful in any way. If a beginner sees all that techie mumbo jumbo, he'll learn them and - hey, what do ya know, make a step further into the industry!

You may call your apples "jonagold" or whatever - they still are apples. Variables have been variables since the human started solving equations.

I'm no programmer either, however from the game design standpoint it makes sense to familiarize with those industry terms. It is easier to, say, read design guides on the internet, for example pathfinding algorithms. How would a total newbie go about it if they didn't understand any of it? Now, if they know what a variable is, they see it occurring in those algorithms, which makes it easier for them to understand.
B
62
S
21
G
12
Posts: 1,910
Reputation: 13,155

Post » Fri May 08, 2009 8:24 am

[quote="Psmith":31ih90hh]It always amazes me how programmers reply to reasonable questions like the ones I have posed.

What can you call a thing other than "variable" that is more descriptive and more readily understandable to non-initiates? I'm sure you can find a better word or phrase if you cared to think about it for longer than a second or two. I know I can. For non-global variables, instead of a dead and indeterminate noun, why not use a verb like "remember". "Remember"(something) would hold whatever you wanted in its "memory" until it is replaced by something else. A global variable could be equally descriptive by using another active phrase that everyone can understand like "remember forever" (something). This is how we speak and this is how we think.

Considering that something is "advanced" or "professional", simply because it is obscure is nonsense.[/quote:31ih90hh]

The word "variable" is used for variables because that's what they are. It's hardly obscure... it is the correct terminology, and is widely used. There is no need to dumb it down, just learn what "variable" means. Not only is it correct, it doesn't make you look foolish when you're trying to relate your game making experiences to your peers. "Oh, you know... the remembery thing. It remembers stuff."

How we speak and how we think changes over time, by learning new words and concepts. Learn the proper terms and concepts you need for the task at hand. There's nothing wrong with that.

[quote:31ih90hh]Oh yes . . . Deadeye - that avatar of yours speaks volumes, you know.[/quote:31ih90hh]

Um... just an fyi, I'm not a programmer :P. The only programming language I have experience with is BASIC, which I learned when I was ten years old. And if I'm not mistaken, that's around the age range of Kodu's target audience? I knew what a variable was then. I claim no special mental ability (in fact, I'm pretty average). So if a ten year old kid can understand the concept of variables, then what's the problem?

I think perhaps you (and even the makers of Kodu) are greatly underestimating the capabilities of children, let alone adults. There are 14 year old kids on this forum making things at a level of complexity well beyond what is shown in that Kodu video. Were they able to do so right out of the box? No. They did have to learn it...

The thing is, though, those same 14 year old kids who had to learn to make their games did so in a mere fraction of the time that they would if they were learning a true programming language like C++ or C#. Which goes to show that, yes, Construct is much more "humanly readable." So there are some words you don't know... well, the dictionary is readily available, and there's documentation, tutorial files, and helpful members of the community willing to lend a hand if you get stuck, so... what's the problem, again?

[quote:31ih90hh]Games and game logic are incredibly simple if you care to be honest about it. There is no need to add layers of complexity just so those who consider themselves "professionals" don't feel let down.[/quote:31ih90hh]

If you can claim that game logic is so simple then I'd be interested in seeing what kind of games you've made. And if Construct didn't have those extra layers of complexity then it would be completely useless for people who are serious about making games.

It's all a rather pointless argument, though. It just seems that Construct isn't the tool for you. Most game making programs out there require experience with a scripting language, if not an outright programming language (Like C# for XNA). GameMaker's default event system is horrible for making games, so if you want to do a serious project with it you need to delve into their proprietary GML script. The only thing that comes close to Construct's point-and-click event system that has any sort of power is Multimedia Fusion 2, and if you think Construct's event sheets look confusing, just go and have a look at theirs.

So by all means... if you find another product out there that has the power of Construct, yet speaks in plain English and has an easy, candy flavored interface that you don't need to type anything into then I'm all ears.

[quote="hero_bash":31ih90hh]If you can't help yourself to understand and learn the program, then DO NOT use it.. go to your Doku or whatever shit software you want to compare with construct.

Look how many beginners has learned much about the program by not being [u:31ih90hh]lazy[/u:31ih90hh] of reading tutorials and stuff.[/quote:31ih90hh]

There's no need to get snippy, HB. Please, let's all be civil.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Fri May 08, 2009 8:33 am

Also, if you are lost at what to do at the beginning, there are those tutorials. Some are bundled with Construct, others are available on wiki and forum. I think deadeye's platforming tutorial is pretty comprehensive enough.

The stuff like 'layer', 'variable', etc. are all industry terms, naming them differently would only create confusion, which is what we want to avoid, yes?

Of course more steps need to be made to make Construct more intuitive to the beginners, but I don't think renaming everything is the way.
B
62
S
21
G
12
Posts: 1,910
Reputation: 13,155

Post » Fri May 08, 2009 9:34 am

Using industry standard terms which happen to be the best and most suitable terms does not make a product difficult or less intuitive, quite the opposite.
B
3
S
2
G
5
Posts: 1,777
Reputation: 5,529

Post » Fri May 08, 2009 9:53 am

Wow, I really wouldn't have thought this would evoke such... um, er ..passion.

Now from an artist's point of view I understand your plight, some of the concepts may seem very foreign, and exactly opposite of what is expected. Then again as an artist I understand that in order to be able to do something new, sometimes I must dive into the code itself to figure out how to do it.

Also, coming from an open source community, I know that you have to be able to know how something works, in order to convey what you think would work better. You cant just complain about it, and expect change. You have to provide positive feedback, and a likely solution.
Image Image
B
161
S
48
G
90
Posts: 7,347
Reputation: 66,749

PreviousNext

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 2 guests