No programming required?

I think it’s better to say “with basic programming skill”, because you need to use variables and coordinates to make even simple program which is fine with me (I tried Basic and Python before) but for totally newbies there shall be more automatisms (Bounce of the wall, choose random color, input text; scene mask shall show the scene exactly as it will appear in a preview).

Can you explain what we can do without variables ?

I think what komencanto mean is that, GD has no gameplay specific events to make it really easy to implement such gameplay as jumping, shooting, collecting, using items, cause-get damage and stuff like that without need to understand how to use variables and how to make actual gameplay.

Otherwise, simply understand how to use variables do nothing with programming, variables are part of basic math really.

Programming is something like this:

#include "msgpack/object.h"
#include "msgpack/pack.h"
#include <stdio.h>
#include <string.h>


#ifndef _MSC_VER
#include <inttypes.h>
#else
#ifndef PRIu64
#define PRIu64 "I64u"
#endif
#ifndef PRIi64
#define PRIi64 "I64d"
#endif
#endif




int msgpack_pack_object(msgpack_packer* pk, msgpack_object d)
{
	switch(d.type) {
	case MSGPACK_OBJECT_NIL:
		return msgpack_pack_nil(pk);


	case MSGPACK_OBJECT_BOOLEAN:
		if(d.via.boolean) {
			return msgpack_pack_true(pk);
		} else {
			return msgpack_pack_false(pk);
		}


	case MSGPACK_OBJECT_POSITIVE_INTEGER:
		return msgpack_pack_uint64(pk, d.via.u64);


	case MSGPACK_OBJECT_NEGATIVE_INTEGER:
		return msgpack_pack_int64(pk, d.via.i64);


	case MSGPACK_OBJECT_DOUBLE:
		return msgpack_pack_double(pk, d.via.dec);


	case MSGPACK_OBJECT_RAW:
		{
			int ret = msgpack_pack_raw(pk, d.via.raw.size);
			if(ret < 0) { return ret; }
			return msgpack_pack_raw_body(pk, d.via.raw.ptr, d.via.raw.size);
		}


	case MSGPACK_OBJECT_ARRAY:
		{
			int ret = msgpack_pack_array(pk, d.via.array.size);
			if(ret < 0) { return ret; }


			msgpack_object* o = d.via.array.ptr;
			msgpack_object* const oend = d.via.array.ptr + d.via.array.size;
			for(; o != oend; ++o) {
				ret = msgpack_pack_object(pk, *o);
				if(ret < 0) { return ret; }
			}


			return 0;
		}


	case MSGPACK_OBJECT_MAP:
		{
			int ret = msgpack_pack_map(pk, d.via.map.size);
			if(ret < 0) { return ret; }


			msgpack_object_kv* kv = d.via.map.ptr;
			msgpack_object_kv* const kvend = d.via.map.ptr + d.via.map.size;
			for(; kv != kvend; ++kv) {
				ret = msgpack_pack_object(pk, kv->key);
				if(ret < 0) { return ret; }
				ret = msgpack_pack_object(pk, kv->val);
				if(ret < 0) { return ret; }
			}


			return 0;
		}


	default:
		return -1;
	}
}

Now compare this with GD event system. Do you think “programming is required” in GD?
Personally, I don’t think so.

Look at the example of Text entry here:
viewtopic.php?f=19&t=5258
and choosing random color here:
viewtopic.php?f=19&t=5269
Do you think it is not programming?
In the first example you need to create couple of events to just get input from user. In Basic you just type something like this: "input “Your name?”, name$.
In the next example why not just to be able to select “Random color”?
In GD you’re still using a program language, which is more friendly to beginners or C++ but you ARE programming with lots of mouse clicking and some typing.:slight_smile:
And about variables, you can avoid using them by using automatisms instead or “gameplay specific events”, as you said.

For changing a colour of something in normal programming (in this case in SFML).

// Declare and load a texture sf::Texture texture; texture.loadFromFile("texture.png"); // Create a sprite sf::Sprite sprite; sprite.setTexture(texture); sprite.setTextureRect(sf::IntRect(10, 10, 50, 30)); sprite.setColor(sf::Color(255, 255, 255, 200)); sprite.setPosition(100, 25); // Draw it window.draw(sprite);

Of course behind all this you need to make the framework for the stuff like mouse clicks, So yeah… GD is not really having to do any programming.

Btw, the reason you can’t just select ‘random color’ is that this makes Game Develop very limited. What if you don’t want a random colour? You might want a random colour that is either blue or green, or a random colour that is red or orange or yellow. Having a simple ‘random color’ command would not allow anything like this, and would severely limit Game Develop. Also, if you start saying well every command should have the current way AND a simple way, then the interface becomes very bad with so many different command options available.

Anyway, to conclude, I think any programmer would say that making games in Game Develop is not really programming.

expressions are not exactly programming. But you do need to learn some syntax.

Its the same with other gui game engines. Cant get away from the syntax

So you basically want mind-reading helmet that will make games you want for you?

Just don’t want that GD will pretend that it is such a thing. :wink:

I think you missing the point and only twisting the meaning of “no programming required”.

In GD, no programming experience or knowledge of any programming or scripting language is required to use GD, of course you need to be logical, and you need to understand how gameplay mechanic can be built and also some math skills can help when you want to use expressions and variables, but you don’t need mentality of programming only pure logic.
What you need in GD is logical thinking but no programming knowledge nor ability to be able to use a programming language is required.
Programming as using a programming language to give instructions to the computer what to do is not required in GD, of course you still give instructions a different way and you can call it “programming” if you want, but it not the same thing at all.

Exactly. This is not programming , this is eventing :stuck_out_tongue:

There is no programming in the way that there is no need to learn a particular syntax or an API, or use a command line tools or understand complex concepts like Oriented object programming/polymorphism.
Of course as said ddabrahim you need to understand how gameplay mechanisms works and some other logic details, but this is nothing compared to real programming.
The events system provided by Game Develop is really the best system: it is not limited and yet usable quite quickly.

Of course events are translated by Game Develop to code so in a way you are programming, but it is so much more intuitive and easy to use that I allow myself to brand GD as a “non programming” software, like the other game creation tools do ! And it is necessary for Game Develop to be branded as a “non programming” software so that people can distinguish it from other tools like Unity, Unreal Engine or others. These are game engines targeted to developers that really need to script and do some real programming :slight_smile:

But I agree that more automatisms should be added. :slight_smile: