[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /λ/ - 18575

File: 1473452544526.png (192.28 KB, 300x169, maxresdefault.jpg)


A friend wants to start making games but I really don't know what I should say. Like which language and framework to use ? He is ready to learn and I can help him with the language but I haven't got into game dev yet.


If he's a complete beginner he might want to start with something lighter that allows him to make games w/o having to study for hours on end.

RPG Maker is pretty good for that if he likes RPGs. A decade ago I would have recommended the War Craft III map editor, but I doubt your friend is into that game.

Game Maker might be worth a shot too. But I think RPG Maker is great because you can start off with basic algorithm logic with no need for actual scripting skills, just use the event editor for all kinds of variable operations, loops, conditionals... it's not as powerful as raw programming but pretty good for people just starting out. Optionally there's javascript or ruby available as scripting language to have more control, depending on the version of the maker.


I'm not into game dev either, but in my experience it's better if you let him actually do stuff before studying. First, as the guy above said, something like rpg maker. Then you can move on to engines like unity framework, and then programming.

That way he will learn things not because "in the future you might need them" but because he actually needs them to keep developing games.


Game Dev is easy. Stay away from "engines" and learn a solid language, while keeping the framework usage to a minimum.

C or C++ are solid for game development. As for frameworks, I'd recommend only using stuff like SDL. This is how you not only make good games, but also develop skills that they actually want/need at Game Dev companies.

Of course, if your friend wants to make games with low effort, you can always just use Unreal Engine, Unity, or "Game Maker Studio" but it will be a garbage tier game that looks and acts like everyone elses [insert genre here] game.


He already used gamemaker but wants to go deeper



Similarly, pygame is a good library if you want to make a sprite game from the ground up. Decent performance because of C backend.


No updates since 2009


File: 1473497633758-0.png (4.35 MB, 200x200, tmp_13248-Making Games with Python & Pygame (2012)132700758.pdf)

File: 1473497633758-1.png (1.05 MB, 200x200, tmp_13248-C++ Game Development Primer972800303.pdf)

File: 1473497633758-2.png (4.5 MB, 200x200, tmp_13248-Torque 3D Game Development Cookbook-107552554.pdf)

Tried to teach a bright 9-year old kid a bit of programming with it, was dissapointed.
Framework feels clunky and cumbersome.
We did some scratch before so he was familiar with the elementary concepts such as conditions, loops, variables...
We switched to Game Maker which has a nice balance between ease of use and power. Also there is an awesome video series on how to use it as well as nice books (which I can post on vola if someone wants them)


I disagree.

My question is: Does he want to make a game engine or does he want to make games? Is he more interested in learning the technical aspects or does he really want to create a finished and playable game that is fun to play?

For the former SDL and C++ might indeed be a good idea. Building a game from grounds up will teach a lot because this is a complex task where you have to take care of sound, graphics, user input, efficient data structures and algorithms because of real time requirements and so on.

But if it is not about learning but about really creating something I would recommend using one of the existing game engines like Unity, Unreal, Godot (it's free) or whatever depending on the genre and his concepts. Programming is only a small part of game development. In my opinion it is more important to engage in asset creation. Engines can help with the technical things but you also need fitting sounds, music, graphics (3D? 2D?). For these things there is no generic solution. They have to be tailored to your specific ideas which needs a lot of time and creativity. This is hardly something you do on the side while programming on your engine.


Thanks for this answer


Blender also has a game development platform.


I used Blender a bit on a very basic level but unfortunately never it's game engine. Blender itself is in my opinion a an outstanding piece of software. But I heard its game engine has some shortcomings. Don't know if this is still true, though.

There are a lot of cool engines (https://en.wikipedia.org/wiki/List_of_game_engines) so I would advise against reinventing the wheel. Things like Unity and Unreal are large professional tools but there are also some simpler engines. Last semester we had to do a small video game with MonoGame. It's much more lightweight, you can use C# which is easy to program (or even F# which might be more fun) in and there are some nice extensions on GitHub available. Bastion was made with MonoGame which is imo a really nice game. This is only exemplary. You got a lot of options nowadays. At the end of the day it all boils down to the question what exactly you want to do.


OP here: we will start with nodejs and some game frameworks. Thanks for all your answers.

I will put results here.


That's a reasonable stack.
I might want to work on a simpler web game now, too. Maybe we can chat over our progress.

To piggyback off this poster, working on a game from the bare minimum made me jobless, friendless and almost homeless. Even gamedev companies have a hard time caring unless you're on the bleeding edge and you offer raw technical prowess which is, as mentioned above, hard to work on alongside making the game enjoyable.
Other places I've applied to care more about you having finished a product and gotten customers/users and as you can probably surmise this is harder and takes longer to accomplish when you're not using tools that help.


Making an entire engine yourself will teach you a lot but as an independent hobbyist its just not feasible. An engine like Unity is powerful and diverse. You'll still learn a lot by programming cameras and movement and such. Game Maker Studio is a lot more powerful than what it makes it seem and its language itself is simple.

I've dabbled with the Blender engine a little bit and it's just disappointing for the most part. Very rudimentary and you're better off with a more comprehensive engine. But then again it has been a few years so maybe it's gotten better.

Fairly solid combo.


Anyone got some decent books on architecture of game engines?
I've read through some of the C++ game development primer as well as Game Programming Patterns but I'm more looking to figure out the wider picture of an engine's architecture than specific design patterns.


Hyper Light Drifter and Risk of Rain were made in GameMaker and are great games. That said, both teams have run into technical difficulties in getting fixes for their games, but the games themselves are high quality.


Not to mention Hotline Miami and Undertale.


My suggestion is to use a dedicated platform to start with.

Which would be more educational, using a dedicated platform designed for games or at the very least giving programs full control of the machine and screen, or using framework on framework on framework just to open a window on the screen and write to it, while inefficiently collecting input?

UNIX makes writing any graphical program unnecessarily painful. I don't imagine Windows fares much better. Collecting input is similarly painful, from what I know, depending on what you want.


File: 1476288290709.png (8.43 MB, 200x200, [Alan Thorn]Mastering Unity Scripting.pdf)

Enginedev is a whole profession on it's own, and it takes so much time up solo that no game you'll make will ever matter to anything, especially if you guys plan to do you own graphics and stuff. And unless you got a lot of money on hand, you will be doing your own graphics. Both Unity and UE4 have extensive documentation and support, just stay away from generally any youtube tutorial, except Making Stuff Look Good in Unity. This is the book I would recommend, although make sure to read through the C# style guide before touching it, because the guy's code in it is fuarrrking disgusting, don't copy his style.

Actual gamedev here, I don't want to start a fight. I was a comp sci student, and I understand where you guys are coming from, but unless you are a mega genius, you won't have the brain power to write a great engine and a great game at the same time. I assume OP is not looking for an interesting programming challenge, but to make a video game, and just making a design document and testing your numbers on paper will take up a huge time, not even mentioning the million times he will iterate through just his UI design.

So OP or anyone reading this: don't be afraid to touch pre-made engines if your overall goal is not to be a great programmer, but to make a good game.

But who am I kidding, you probably already gave up. Polite sage because honestly game scripting is not programming.


>But who am I kidding, you probably already gave up. Polite sage because honestly game scripting is not programming.


Are you talking about that Godawful NodeJS+some_framework combo?
Or about using pre-built engines in general?

Anyhow, there's since advanced stuff in Unity and it ain't kiddie scripting man. Some notable examples: couroutines, using third party plugins, building those libraries yourself, programming procedurally in C# (hint, hint: Partial Class), object pooling, and producing performant code.



>Anyhow, there's since advanced stuff

Some* sorry 'bout that.


No one here has told about writing a game engine.


What if the most interesting part of game dev to me is game engine development? Is there material on this subject?


Correct me if I'm wrong but engine development takes some advanced maths if you plan on making a graphics engine or whathaveyou. It's one big learning experience for sure but professional game studios have struggled with good engine development and implementation as well.


Why would you even start with a 3D engine? 2D is much simpler as long as you keep physics as basic as you can.


File: 1477095108119.png (5.38 MB, 200x200, pythoncrashcourse.pdf)


If I could make a recommendation, try pygame. It's light, runs in python 3. There's a great tutorial in this book second section.


File: 1477153796895.png (150.75 KB, 166x200, CqTb3kXUIAAtwLk.jpg)

I'm part of a few gamedev communities, and I'm really not sure if you guys want the type of people they bring here. Sure it's as good of an intro as any to programming, since you can make a tons of cool soykaf with just ifs and fors, but because the advanced stuff is usually very expensive, a lot of them never learn how to properly manage objects (especially true for component based frameworks such as Unity), how recursion works (and the dangers it brings), and how the super expensive algorithms works (so a lot of times a simple A* pathfinding algorithm swoops them from their feet).

The biggest gripe I have about this, is that most people become interested in gamedev, but not in programming. And this is honestly fine, but this board has a special place for me, as the people here are usually pretty technical, and don't really care about the fluff. But gamedev is all about illusions, and the fluff is what makes games special. I guess I'm sour after all the years I've seen people provide hours of help for newdevs, only to see those people disappear after a few weeks when they realize how hard/expensive making a game actually is.

And don't misunderstand me, I love Unity, I really do, I just think that people who are interested in using it should learn programming separately first, because it will make everyone's life easier. I meet a lot of beginners who hit an obstacle, and have no idea how to climb it, because they never touched algorithms and programs that don't need more than a single frame to calculate their results.

To people who have not really touched gamedev yet, here is a metaphor, if programmers are wizards, game logic programmers are the warlocks that create illusions and sadistic puzzles that drive people insane. You gotta learn the chill touch before you get to use power word kill.


I'd recommend doing linalg first and foremost, and then going into graphic programming. There are tons of resources I think. It's a long road, but I wish you good luck on it.


on a similar vein, I recently found out about löve, which is a framework for making games in lua


get him pico 8 and a pocketchip


My best advice would be to start with games that have their own level design tools, then move into mods, all while learning code, so you figure out design first, and stand a better chance of actually producing something people can play before getting discouraged.
You'll also make connections and fans who will follow you from project to project, and maybe help form a team when you need one.

Although, OHOHOHO, the dramas in indie dev teams, such butthurt, very drama. Wow.


I like ruby, would it be a soykaf idea to try making games with it?


It may be slow, but there is rubygame so I guess there's people making games with ruby
Also OOP is a natural medium for making games.
But yeah, maybe a bit slow, if you care to focus on that.


Some versions of RPG Maker use Ruby as a scripting language.


You could use mruby as scripting language.


Long time since I posted here but I wanted to add some input on this. I really like ruby and Im building a game on rails with it. It really depends on the game you want to build. Im doing a 2d strategy so the ability to work with a database and put it on the net faster is what im looking for and rails is a great package for getting what I want done fast. Every language is a tool and not all problems are nails.