2019-11-20 17:05:34

Gladly. I'd be happy to add you back on Skype, just shoot me a PM on here with your Skype name if you're cool with that and we can talk about it. It would be cool to learn programming admittedly.

--------------------
All of my socials and content platforms can be found on my website (not ready yet).

2019-11-20 17:10:54

@26, done.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-11-20 17:21:45

I got it.

--------------------
All of my socials and content platforms can be found on my website (not ready yet).

2019-11-20 17:30:40

@28, alright. Also, found another really good description of how visual programming is bad on the same thread I linked to in 25:

Building controls are a popular field for visual programming because the "wires" seem like they'll be intuitive to non-programming tradespeople.
If we have a little visual program that controls the temperature in a room with a thermostat block and a baseboard heater, that's fun. We can play all kinds of games hooking up limit blocks and schedule blocks and whatever. Intuitive.
Imagine we have seven thousand rooms and some of them have only a baseboard heater but some have an air conditioner, some have a lighting interlock, some have a heat recovery unit. 16 possible configurations of a room and you have rooms in each set.
Now... apply a visual program across all of those sets.
In traditional programming this is simple. A data structure representing room configurations and few conditional statements in your function or loop or whatever. In visual programming you're mostly looking at either making 16 versions of the program and applying each to its associated rooms manually or else passing a bunch of conditional variables around.
Those variables aren't visual anymore. So now you have a whole layer of abstraction that's no longer visual. And really, the parts that fit into the visual model are usually the easy bits. The hard parts still require abstract reasoning about stuff that isn't linked together. Pretty soon you're just using the visual language to draw the inside of your "functions" but your high-level datalinks or scripts are entirely non-intuitive and might as well be in text.

On that same thread though, we have some good arguments, i.e.: PLC programming, shaders, level editors, etc. As I said before I'm not going to ever say that visual programming is terribleand must be destroyed; I, however, prefer writing my ideas and thoughts in textual code because it makes more sense to me. I can certainly help people try and understand a textual representation, but I myself will never use visual programming (other than GUI designers, and that's only in .NET).

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-11-20 19:09:53

The way I see this is that this tool is an abstraction on actual programming. Some say this is an over simplified abstraction, while others argue this is just adequate for the minimal of tasks. Despite what anybody believes, there is bias. The true way to know if something is actually useful or produces results is to make use of the product. Because at the end of the day, even programming is an abstraction on actual electronics, and you don't hear engineers producing arguably "tangible" products criticizing programmers for their use of abstractions on their creations. Just some food for thought. I, for one, am excited that efforts are being made to increase AudioGame creation throughput. Whether the games themselves are considered to be "valuable" or "innovative" is a separate conversation.

2019-11-20 21:20:18

I have an idea for a game which makes use of character alignment. This I'm sure is possible with Python, but would it be possible in this programming tool? I'll just have to check it out, I suppose. Also, I want battles to be a lot like Dissidia Final Fantasy, which I see as the best fighting game ever. The first PSP version, which is the most accessible.

For me, I'd love to learn programming, either Python or Swift, (probably Python though), but I cannot easily grasp the idea of some intricate functions, like those in the Emacspeak Mac server. Then again, I can grasp the whole guess the number game in one of the Learning Python books I have, so maybe I'm not totally hopeless. But, I also am not good with spacial placement. If it's like the audio game maker, where I can place things while being immersed in the environment, I'm good, but visualizing an array, or a grid map, is really hard for me. So, I'll have to try this tool and see how far I can get with it.

Devin Prater
My Blog
Follow me

2019-11-20 22:24:25

Hi.

Personally speaking, when I started my 3 year Training back in 2017 I started out in the programming branch, because i thought that this would be the right path for me to take.

Half a year later I sat down with my instructors and I made it clear that I wanted to switch over to the salesman department.

The problem i had with programming was that I had issues getting the syntax and logic into my had and using the knolledge to code something that would work in the end. And when we got to OOP with classes and all that stuff, I was completely lost, this might also come from the fact that we were never told why we should do this.
It went like, this is a class, this is a wrapper class, these are variables and constants. You go and use it now.

Well urm, the fuck?
For those who care, we started out with java.

I see the GDE and the sable game engine, to throw that one into the mix as well from both sides here.


From the programmers side both of these tools are limited, errors can't be fixed unless you have the sourcecode of the program itself and you don't have the freedom to do what you want.

From my side or the more creative side, I don't have a problem with those engines. I'm far better in designing worlds, thinking about how I want characters or quests to look like, write up a story and let the hole coding part be the work of someone who actually knows his way around a programming language or leave it to an engine that deals with the intigration so I can focus on the things I am good at.

Greetings Moritz.

Hail the unholy church of Satan, go share it's greatness.

2019-11-20 22:49:13

I can't wrap my head around the centax and a lot that is required to know in using a programming language. That's why I am happy with the GDE. If you don't like to use it because it's just an interface. That's your deal. But, for those of us that are unable to understand the ins and outs of a programming language, please let us get on with it. At least we are still trying to bring something to the table from ideas we have in our own minds. I'm not trying to be harsh. But, please look at it from the side of those of us that struggle with working with a programming language.

2019-11-20 23:23:22

So, I took a look at the site. First, there is just about no formatting in the tutorials. No headings, grammar problems, and rather long paragraphs made it rather cumbersome to read, on a Mac at least. But this is for Windows users so what am I talking about, just use P for paragraph and skip all them links, I suppose. Second, wow, the program's interface, from reading the tutorial seems really convoluted. Like, having to confirm if you want to make a new project? That seems like bad design to me. But, again, I didn't build it, so there must be a reason why. Also, having to go through so many menus, dialog boxes, and try to remember what you're doing while doing 10 steps to do it reminds me of texting on an old flip phone, where I'd regularly forget what message I was writing, while writing a word. Meanwhile, a Python program, which doesn't actually work but should because I spent an hour on it, is below:

counter = 0
count = input("type '1' to increment.")
if count == '1':
    counter = counter + 1
if counter < 5:
    print("keep going. Counter is " + str(counter))
    continue
if counter == 5:
    print("You've reached 5!")
    exit

Devin Prater
My Blog
Follow me

2019-11-20 23:37:58

Well this thread is becoming and interesting read.

#34 caught my attention as it sounds there are some things I could improve on. I've tried to get feedback on the tutorials before but never really gotten much back.

I noticed you disapproved of the interface but it sounded like that was just an impression from the tutorials? Have you used the GDE? And if so what do you dislike about the interface.

There are menus to select actions but there are also hot keys and GDE script that let's you write out the actions instead.

How could I make the written tutorials easier to follow?

2019-11-20 23:38:51 (edited by Ethin 2019-11-20 23:40:32)

@34, you were extremely close. Here's how your code should actually look:

while True:
    counter = 0
    # input() returns str, not int
    count = int(input("type '1' to increment."))
    if count == '1':
        counter = counter + 1
    if counter < 5:
        print("keep going. Counter is " + str(counter))
        continue
    if counter == 5:
        print("You've reached 5!")
        break

That's it. You literally only made two errors (forgetting the while loop and not calling input() inside an int() function). Normally when getting input you don't call int(), but you do if you want to get the result back as an integer, since input() does not do this. Same goes for any other type other than str (since input() returns str). Good work!

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-11-20 23:55:29

I think post 23 exemplifies that elitism I was talking about with the utmost alacrity.

redfox wrote:

@22, That's the thing though. You can't hope to match games made by actual programmers, because we understand how the game runs down to the minute detail, you just know that you dragged a function block and it throws up an alert box or something like that. There is so much you can't do and it makes me sad that we're going to get so many people thinking they're a master developer and they made this amazing game and aaarg you didn't do any real work!

Redfox is saying that someone who writes a game in a scripted gaming language will never match the quality of something he or is fellow programming compatriots can put out. And where is your AAA title to prove this point? Until you have an actual product to hand that we can rate, this is just a bunch of groundless boasting and nonsense.
He further goes on to say that we'll never know how to fix a problem because we just drag and drop without knowing what we're doing, which just illustrates that he hasn't even looked at the GDE, and is just speaking his opinion out of ignorance. If he had, he would know that you can see the code that the program puts in, and can even modify it in raw text form.
He's also saying those of us who use a scripting language didn't do any work, thereby already exhibiting his elitist mindset by discrediting the creativity of anyone who dares to use a game scripting language. Some of us are great story tellers who doesn't want to learn how to use a full-fledged programming language because that just isn't either our aptitude or desire. And some of us might be able to program the international space station, but can't tell a story to save a soul. Your wonderful game written in c+++++++++ won't be that great if it just contains millions of fansy coding projects, but has a story script that falls flat on its face.
Many people use game scripting languages such as TADS, Inform, BGT, Quest, etc, and are just fine with it.
Also, fill me in here. What's the point of this negative feedback about the GDE anyway? Maybe I'm misinterpreting it, but it almost seems like you guys are trying to convince the developer and users of the language that it just isn't worth it. Are we trying to drive off another developer again?

Kai

Spill chuck you spots!

2019-11-21 00:06:08 (edited by devinprater 2019-11-21 00:10:33)

Ethen, thanks so much for showing me how close I was, that's great. But, it also shows how logical some one must be to program in general-purpose languages.

Now, Arronlp, I don't know how you code your site, but there really needs to be basic formatting, like headings, lists, and things like that where necessary. I know, plain text is great, but, I'd say, markup makes things more readable on the web. For example, if you use Markdown:


## Section 1 – How it works


The GDE allows users to create Sonus Interactive projects on their home computer and export it into a game the Sonus can then process and play.
A project will consist of 2 main components, which are Game Objects and Global Variables.


Developers can use Global Variables to hold the data the entire game needs to access such as the players health or money, complete and incomplete objectives, or perhaps their score.
Game Objects are the functioning components of the game. Each game object consists of 3 things.


1. A list of their own local variables, these are like global variables except they are relative to the game object. Other objects can access this data if the developer intends but once the Game Object is destroyed, its local variables are lost.

2. Properties such as X,Y and Z coordinates and boundary sizes which tell the game how big the Game Object is and how far other Game Objects have to be from it to trigger a collision event (more on events in a moment). It also has a property to tell the game whether the Game Object should loop audio when it plays it or only play it once. The last property is the delay property which tells the Game Object how often it should fire its "Periodical" event.
3. A Game Object has a list of what are called Events. These are things that can influence the Game Object in some way, here is a list of all the Events a Game Object has:...


Free grammar fixes as well. smile Really, if anyone needs a proofreader, I'll do my best.

Edit: there should also be a link to the next section of the tutorial after you finish reading a lesson.

Devin Prater
My Blog
Follow me

2019-11-21 00:06:20

Thumbs up Xoren.

--------------------
All of my socials and content platforms can be found on my website (not ready yet).

2019-11-21 00:38:31 (edited by Ethin 2019-11-21 00:44:23)

@37, I see what you mean now.
Let's be realistic and at least both agree that scripting languages are limiting. We agree on that? If so, excellent!
About 23...
I disagree with the real programmer bit -- the first sentence -- because you *do not* need to know all the minute details on how an alert box is created, or how an input box is presented (i.e. every single API call throughout the call chain). Plus, on Windows, that would not only be convoluted, it would be disgusting to even think about. Same for Mac. Linux... maybe I could figure it out given enough time, but its not really something I absolutely need to know unless I'm making my own GUI toolkit.
There is a partial point to be made in his second sentence, though. At least, the first phrase. The rest of it? Not too much.
He says, "There is so much you can't do". Here's where our (hopeful) agreement above comes into play. This is only true if: (1) the language in question is closed-source and the author does not allow "plugins" or (2) the project is open-source but the documentation on extending things is so complicated that no one wishes to attempt it. I disregard BGT because if you want to make "plugins" you need to make ridiculously over-complicated DLL calls. The plugins I'm talking about are the kinds of plugins that are loadable at runtime or that are loaded/directly compiled into the binary and improve the scripting language in one way or another immediately: they might add new functions, enhance the languages syntax or expressiveness, etc. If your using a scripting language like that, the doors of infinite possibilities is blown wide-open because now anything really is possible so long as anyone is willing to implement it for you or you implement it yourself.
I think the ultimate issue that occurs when you bring in a scripting language is the removal of a lot of control from the user of that language. For example, some languages don't allow you to replace their memory management routines, or use garbage collection. If your planning for your game to be available on platforms like the play station or Xbox, then fitting in that extra overhead won't do it (EA published a paper about this very issue in 2005) and so you'll need to remove that from the produced console end product. That's why you can't mod games like GTA V, for example, on consoles. You also don't have the ability to create extremely fast and efficient code with most scripting languages (Lua and Python included) because those languages make copies of literally everything. That, in turn, makes security extremely difficult (i.e. cryptography) because the last thing you do before you've concluded a cryptographic operation is to wipe all sensitive data from memory. Languages like Lua and Python prohibit this simple action and make it far harder to do.
The memory management issue is present in some programming languages too (i.e. the C++ standard library has this problem) but is mitigated by the fact that you can easily replace it. EA went ahead and just created alternatives to all the items they needed and have used that, I think, ever since. Unlike a scripting language though, a programming language gives you that "extra edge" you need and allow you to keep a single copy of all your data around instead of hundreds to thousands (unless its Python mind). There may be scripting languages that do this too; if there are, I don't know of any. So my point earlier still holds; textual programming gives you the extra control and power you need that just cannot be expressed via visual tools very well. Plus, you can then use the decades of tools that have been created to operate on text. (Why do you think the command-line will be so popular and be considered more powerful than the graphical alternative by many people even in the next 30-50 years? The CLI ain't going anywhere, and its not because its an ancient fossil and is there for historical purposes even if some would like you to believe that.)
Really, what this long post boils down to is this.
(1) closed source scripting languages that do not allow any kind of plug-in are extremely restrictive, no matter what form they're in. Open-source ones are usually the opposite, unless extending them is so hard that no one is willing to actually do it.
(2) Textual programming is the most comfortable form of expressiveness for most of the programmers on the planet because they are far more comfortable with it and are far more productive. They hate using the mouse, or are unable to use the mouse, and don't want to have to click buttons, use menu bars, and so on, just to get somethign simple done that could've been done in text in about 10 seconds.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-11-21 00:42:38

After going through the counting program, I can sort of see what's good about this system, but still, it takes /so/ much more type to tab through options than to write a line of text. Now, I can't actually show the program because it didn't seem to ask me to save before exiting, but when I ran it, from a menu bar with the top level menu item being an actionable thing ... all that happened was a "debug window" with nothing in it. Pressing A, S, W, and D did nothing. I seriously hope the quirks of this program are due to possible cross platform development, and that the variable edit box in the comparison section being without a label is simply because the user is expected to know what it is.

Overall, the program seems to be general Java Access Bridge affair, but still is functional, even though escape rarely escapes. The language seems to be something like C++, or Java, or even BGT-esque, with one needing to define the beginning of the program, as if line one weren't enough.

I don't know, maybe I'm just spoiled by Python, but gosh it felt a bit better typing in lines, being sure that I could edit those lines... well besides a hiccup with Emacs' Python Mode going crazy with indentation, but that's my fault because I love Emacspeak too much to switch to anything else, like visual studeo code. And, even though I am not yet good enough to even write that program perfectly without help, I feel much better about that than the "debug window" you get with this program, and that my work will be saved when I exit my text editor. Plus, Python is already cross-platform. smile

Devin Prater
My Blog
Follow me

2019-11-21 00:46:27

@41, did you know? Python runs on microcontrollers. Also, check out Go. Can't be used for making audio games quite yet but still a fun language to use!

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-11-21 00:52:12

Well, I've looked into Go a little, but it seems more gear towards data structures and analysis and such. Plus, it forces one to be so neat with projects and such. I'm not at the stage yet where my programs need more than one file. Hopefully I'll get there one day, and almost getting a program I created working right, with only two errors in ten lines of code, completely on my own, without a guide besides you Ethin, right has boosted my confidence to keep learning. Even if it takes hours to get one thing right.

Devin Prater
My Blog
Follow me

2019-11-21 01:01:41

@Ethin. I fully agree with you that scripting languages are limiting, but it's their very nature that constricts users to those limitations, and that very nature I think makes certain limitations acceptable. In this case, for example, I'm only interested in creating a specific style or subsect of games, and so maybe I don't need the language to support multithreading to handle multiple objects doing multiple functions at once. More fitting to the example at hand, since the GDE is designed to make games expressly for the Sonus console, I don't need to worry about Windows RAM concerns etc, since I assume that these memory concerns won't exist in the console because of base code in the device to handle memory cleanup.
I think we have to remind ourselves of that fact first. The language isn't designed to make games for Windows computers. It's designed to make games for a self-contained gaming console, and we aren't talking about portability here -- it's meant for the Sonus console, which means that (to my knowledge) we're not really interested in porting to other platforms such as Playstation, Xbox, etc.
I sort of think of these scripting languages like grown-up legos. I get all the building blocks I need to make something awesome to play and work with, and yet I don't need a full-fledged wood shop, welding shop, or plastics shop -- I have panels and parts provided in varying sizes and configurations, enough for me to make things. sure it means I might not be able to make a car to my exact specifications, but I can put together a car from prefab parts that runs and does what I need it to do. Maybe my house that I build doesn't have custom stained glass windows or crystal chandeliers, but I can build a house from the prefab parts that I can live in and even show off to my friends, since I can build that house in different configurations and apply my own paint jobs, wall paper, decorations, furniture, etc.
I will never claim a game scripting language doesn't have limitations, but I do think any limitations it has are probably suitable for the nature of the beast -- I'm ok not being able to use the Sonus language to create another programming language, for example, because I know that isn't the intent of the language in the first place.

Kai

Spill chuck you spots!

2019-11-21 03:21:42

@44, very fair. In consoles though, as I said above, one neds to be very careful with memory management; devices like consoles often have less memory than a PC does, and over 80 percent of that RAM is either taken up by the operating system or the game, leaving the game very little to use for temporary storage, which leaves scripting languages with little memory to operate in. EA wrote an excellent paper on the difficulties of memory management on consoles over at http://www.open-std.org/jtc1/sc22/wg21/ … n2271.html. While it focuses heavily on the C++ standard template library, meany of its details apply to any other programming or scripting language. (Also, it was written in 2007, not 2005. I stand corrected on that.)

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2019-11-22 05:50:50 (edited by The Dwarfer 2019-11-22 05:54:10)

So guys, I'm not a very good programmer. Well, in a sense. I write or contribute to libraries sometimes, and then don't use what I write most of the time - for fear that it will limit me. When I first started in with Python, I wrote a menu class for audio games - and then what did I do? Turned around and wrote menu functions by hand because I encountered no more than 2 situations wherein very specific items needed very specific controls to manipulate them, or in fact very specific conditions to even exist in the first place. I also needed my menu to step aside and let another function call real quick, then step right back up and use that data, while saving the user's position.
Long winded example, but sufficient. I refused to use *my own* menu class because I felt it was too constrictive, for not letting me design a unique infrastructure each time. I have commitment issues. That is why I don't use the GDE to develop things like, say, Scramble, even though barring the operations that require saving/loading character data, it could be done. I messed with the GDE a bit and didn't find any file operations, but I may be wrong?
Not everyone's me though. I'm however also not CarterTemm or Sam.Tupy1 -- they don't just code games in a language, they get deep in that thing and mess with some real low level stuff. I don't expect to know all the intricate details of the Python packaging system, Cython, and Pyinstaller. The people using the GDE also don't expect to create and sell Scramble for Windows and hopefully Mac.
The other night, I wrote a function that took 5 minutes. Then, I saved the wrong version of my file because I didn't know I had two instances of it open, and lost that function. So in a fit of rage and annoyance, I got off my ass and learned how to use Git Hub and the command line Git, pausing a coding session right then and there. So especially right now I could lecture about the greatness of Python and oh my God Git, and it wouldn't be me trying to be elitist, just eager to show people what I feel and a lot of others do as well to be an extremely awesome way of doing things. Also that maybe I don't have commitment issues. However, if you're using the GDE and it works for you, right on my brudda. As long as you're not inserting carcinogens in my water supply, you have no quarrel with me. big_smile Best of luck, and I look forward to trying those games if possible!

If you have issues with Scramble, please contact support at the link below. I check here at least once a day, so this is the best avenue for submitting your issues and bug reports.
https://stevend.net/scramble/support

2019-11-22 05:59:03

I like the Sonus GDE it's self, as a concept, because it's yet another tool in the growing arsenal we have for newer programmers to create audio games, and it helps us move away from BGT as a language.
I just don't think the actual console will ever ship, particularly in it's current form.
Obviously, I hope I'm proven wrong, and I can't imagine all the struggles that must go into designing a custom electronic device as an individual, but I just can't deny the big issues.

2019-11-22 09:01:52

I'm getting a lot with the GDE figured out with the help of Aaron. In fact. we have ways to make certain menu options disappear till they get unlocked. We're working on creating a quest system at the moment. So, I feel that the GDE does have quite a lot going for it and that you can do a lot with it even though it is just an interface system and not a language.

2019-11-22 16:12:32

I just can't imagine how much time that takes to build something. Y'all using the GDE must have amazing attention spans.

Devin Prater
My Blog
Follow me

2019-11-22 19:10:47

It would be cool if you could create online games with GDE.
For now, its a very awesome project, if I was 18, I hat donated some monny to this project.

Awesome, you made it to the end!
Hit h to go to the next post.