Author Topic: Game Design Megathread  (Read 555918 times)

always a bad sign
Like 99% of it is equivalent to Python.

always a bad sign
not really. seems like a lot of nice engines these days have their own scripting systems of some sort. unity, unreal, and game maker all have their own. it helps people with less coding experience avoid the more intense bits of making a game. it can also just be a lot more straightforward than having to dig into source code or similar

not really. seems like a lot of nice engines these days have their own scripting systems of some sort. unity, unreal, and game maker all have their own. it helps people with less coding experience avoid the more intense bits of making a game. it can also just be a lot more straightforward than having to dig into source code or similar
unity having such a thing is a bad sign, same with game maker
previous version of unreal did, which was also a bad sign, but now there's only C++ and blueprints, which really doesn't count as having its own scripting language
I can't imagine any legitimate reason for needing to have your own. only being able to say "we have our own scripting language (that looks and is used exactly like javascript, but if we just called it that we wouldn't be able to say we had our own language in marketing materials)!"

like i said, it can help people less interested in or less experienced with coding make games a bit better. it's typically a lot easier to learn something that looks like GML than it is to learn C++, and if you can get enough power from that to achieve what you need, it's a worthwhile addition to an engine that you plan to market to amateurs and professionals alike

obv it's always a good thing to have access to a more powerful language, but don't discount the good that an in-house language offers

but GML isn't any more user-friendly than something like javascript
if anything it's less so

but GML isn't any more user-friendly than something like javascript
if anything it's less so
well gml, right off the bat, has a whole bunch of functions (such as x, y, place_meeting, instance_destroy, etc.) and has support for graphics, animations, and other things integrated already so noobs wouldn't have to deal with the fuss of dynamic linking

more generally speaking, gml is specifically built for its purpose in game maker, which has its obvious advantages

ofc the disadvantage is that you have a language which is probably fairly limited in scope and certainly narrow in applicability. but in the context where it's only really supposed to exist in one application and scope, that's not so big a deal.

not that it's a bad idea to use proper language, you can tailor and shape things to your needs just the same way and have people learn a language that'll be more useful to them. you just lose a certain amount of control that's nice to have when making an engine

Godot is working on Java and Objective-C plugins, and since the engine itself is open source, if you want to delve into the source code and write your own C++ code there's nothing preventing you from doing that.

well gml, right off the bat, has a whole bunch of functions (such as x, y, place_meeting, instance_destroy, etc.) and has support for graphics, animations, and other things integrated already so noobs wouldn't have to deal with the fuss of dynamic linking
there's literally no reason you can't add those functions to javascript, or any other language
even if you have to, or just want to implement it differently (like compiling python instead of interpreting it), you should still use an existing language. not only will it make the tiniest difference, if any at all, to someone who has never programmed before, but it will also help draw in existing programmers, because they aren't gonna hear about it and say "I'm not sure I wanna learn a new language just for this"

Speaking as a writer/gameplay designer/level designer with low/medium level of programming understanding, I think the hardest thing to grasp when entering programming is the sheer number of functions you have at your command. It's daunting to keep track of what you can use to solve what problem. Some of the maths logic (especially regarding pointers) also makes my head bleed.

Scripting, whether visual (Blueprints) or code (GML, UScript etc) does help in simplifying the function numbers down, but it still requires a great deal of time with the cold documentation to memorise what you need. It's nice when you have access to look-ups (like in Blueprint, I can type in a number of words related to what I want to do and find something that matches or comes close), but it does mean that the programmer who names their functions needs to speak the same language as the designer who uses them.

That said, I think code-script is a dead end. We should be simplifying but still providing access to the raw code, so users can build confidence and eventually dig deeper as they need it. Visual Code still does have a place, since many designers can actually see the flow of their logic.



The Alessa demo accelerates from here. Next week/week after we have to do our final project pre-production presentation, and then it's full steam ahead.

The team is loving me because they can't read documentation about the A.R.T. rigging toolset, and I'm going to have to design the level by myself. Fair's fair though; I have the least classes this term, so I should probably be doing the most work.

Let's just hope I'm not driven insane.


I'm learning how to use SFML with C++. Any ideas for simple projects to get more comfortable?

make one of those games where there's a grid of a few types of objects, and you have to get rid of as many of them as you can
to get rid of some objects, there has to be more than one of them (or more than two, or whatever number you prefer) touching each other
then, once they're gone, any empty spaces are filled by the stuff above them falling down. and when there's eventually an empty column, the columns to one side of it move towards the hole to fill it

if you've ever used Pythonista, the Cascade example is one version of that game
here's the code for it, but it won't really do you any good outside of the Pythonista app, since it relies on Pythonista-specific libraries, and if you have Pythonista, you already have the example
https://gist.github.com/rcruz63/5195131#file-cascade-py
but maybe you could make something of the code alone

make one of those games where there's a grid of a few types of objects, and you have to get rid of as many of them as you can
to get rid of some objects, there has to be more than one of them (or more than two, or whatever number you prefer) touching each other
then, once they're gone, any empty spaces are filled by the stuff above them falling down. and when there's eventually an empty column, the columns to one side of it move towards the hole to fill it

if you've ever used Pythonista, the Cascade example is one version of that game
here's the code for it, but it won't really do you any good outside of the Pythonista app, since it relies on Pythonista-specific libraries, and if you have Pythonista, you already have the example
https://gist.github.com/rcruz63/5195131#file-cascade-py
but maybe you could make something of the code alone
you mean like bejeweled kind of?
great idea actually! ill try this out