9 hours ago, Serox said:At what point a GameMaker wouldn't be enough?
Ironically enough, possibly 'never', but that truly depends on the type of games you intend on developing.
Once upon a time, I was a GameMaker user (I think they were known as Animo back then) and little did I know the progress they had made until, a year or two ago, I stepped into a studio that actually intended on using the latest installment of Game Maker professionally (we're talking teams 5-10 people strong!).
Some of these 'authoring tools' have really come a long way. In a way, Unity, one of the most popular engines out there, is a bit of an authoring tool in itself, and Game Maker (along many others such as Construct, etc.) caters to a crowd that's a bit less acquainted with the programming part by providing a visually 'simpler' solution.
Granted, to a seasoned programmer, it probably takes longer to actually do something in Game Maker, but it enables non-programmers a chance to develop games from scratch without having to know about pointers, etc.
A few super hits were made in Game Maker too (Hyper Light Drifter has exceeded the 500k units sold if memory serves, you can do the maths here!).
It used to be that these authoring tools were a means to entertain a younger audience (rpg maker 2000 is a big offender here) and that they provided a fairly limited framework that could simply not be bent in any way shape or form. But those that survived found a market in the indie dev sector, and adapted accordingly. While authoring tools certainly used to have a negative connotation to it (as a kid's toy would on grownup turf) I find that, more and more, they provide viable alternatives to actually release games, and moreso than just on itch.io.
9 hours ago, Serox said:For programming I understand what you mean because I had experiences with HTML5, CSS, Java, and a little bit of JavaScript. What I really wonder is the actual coding that would allow me to reach the stage of sending commands to the interface, so something like a little triangle can move or even shoot squares. That's where me real lack of understanding appears.
Unity 3D actually dumbs this down quite a bit with built-in physics.
Moving around an object could be as simple as:
Rigidbody2D rigidbody =
//get it either through GetComponent<Rigidbody2D>() or assign it through an inspector [SerializeField] or (I don't like that) use a public variable to see it in the inspector.
And then, in your update method:
private void Update()
{
if (Input.GetKey(KeyCode.W))
{
rigidbody.AddForce(Transform.up);
}
}
That's about the ugliest simplest implementation of allowing you to 'throttle' the speed of an object in a given direction.
That being said, Unity has one of the largest library of GREAT video tutorials on their website. They take it slow, start with the basics, and work you down the path of becoming a great developer. If you can watch all of the beginner's lessons and survive, there's hope for you yet (and by then you can pretty much start making the 'simple' gameplay side of most games, though probably not yet a multiplayer FPS).
9 hours ago, Serox said:Does the Jesse Schell's book talk about game development in depth?
It is a book about Game Design essentially. It does not cover (as far as I can remember: let me know anyone if I'm wrong) the programming aspect, but it is definitely worth a read. That and A Theory of Fun by Raph Coster (don't mistake its simplicity, elegance and playfulness for lack of content, it is probably one of the most influential books amongst recent publications).