Advertisement

Material for game developing

Started by November 14, 2017 08:44 AM
19 comments, last by Serox 7 years ago
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).

 

Advertisement

I think I'm going to learn Rust and program in Rust since is much easier than C++ and performs quite good or even better than C++. C# is really good as well and very easy to learn, I have no problem at all. As engine, maybe I would use Unity since is more flexible by adding your own code, not sure yet about other stuff. I think I will start by doing a 2D game, I bet it has to be really fun to do so.

Thank you again.

Serox.

I don't think Unity supports Rust as a language.  Someone correct me if I'm wrong.

-potential energy is easily made kinetic-

4 minutes ago, Infinisearch said:

I don't think Unity supports Rust as a language.

Correct.

Hello to all my stalkers.

For Unity I was thinking C#, Rust would be pure code, no engine.

Serox.

Advertisement

I'd just start with C#, there's no real need to learn rust for game programming.

-potential energy is easily made kinetic-

I just want to see how Rust perform since is becoming a better language than C++. I would rather learn Phyton to be honest, but Phyton is completely inneficient unless is for scripts. I would learn quite a range of languages to have fun.

Serox.

Wouldn't you rather focus on one way of doing things when just starting out?  I mean if you don't mind then whatever but focusing on one language to begin with is a good idea.  The amount of tutorials and books and material for C# outnumbers what's available for Rust as well.  Good luck either way.

-potential energy is easily made kinetic-

8 hours ago, Serox said:

I would rather learn Phyton to be honest, but Phyton is completely inneficient unless is for scripts.

Luckily, for 90% of the code in any programming language, efficiency is a non-issue. Many people are so focused on maximum speed that they forget about this rule, and become horribly inefficient with their own time by writing loads of trivial non-speed-critical code in some low-level language, to gain pretty much nothing in performance of the program.

Python doesn't position itself as as a number-crunching language. It aims to be a glue-language, connecting blobs of fast C etc code with each other. It's also a great prototyping language, quickly trying an idea.

I often find the Python implementation fast enough, and leave it at that. If you want more speed, the simple trick is then to rewrite the speed-critical part in a language tuned for such problems, connect that to Python, et voila, it all runs near the speed you'd get by writing everything in that low level language, but at a fraction of the time, and where most of the code is much easier to maintain.

 

Note that Python itself is moving towards faster execution too; we've had cython for several years now, the faster sister of our favorite snake language. In Python 3.5 type-hinting has become part of the language, so I expect major improvements in speed the next years.

This topic is closed to new replies.

Advertisement