Game Making FAQ [W.I.P.] - post your questions here

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Game Making FAQ [W.I.P.] - post your questions here

by voxelproof » Post

Since there's no such thread yet, it's time to make Game Maker's FAQ list.

Please feel free to post your questions here. An important notice: make sure these questions are of basic nature and of pivotal importance for wannabe future developers and inexperienced beginners in the art of Minetest game creation.

So please no discussions about very specific problems concerning particular projects, it's a place for the broader scope of fundamentals, rather than for requests for help with some technical issues which would be of no interest to the majority of modders and game designers.
Last edited by voxelproof on Wed Sep 04, 2019 06:44, edited 3 times in total.
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

1. What is the basic structure of the game directory in Minetest?

https://dev.minetest.net/Games
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

2. How can I change default settings of in-game worlds in a game (e.g. length of day, map generator parameters, enabled damage/creative mode etc.)?

...?
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

Re: Game Making FAQ

by rubenwardy » Post

I wrote a basic guide here: Minetest Modding Book: Creating Games

I would like to expand this chapter further, so this thread could be a good place to generate ideas for that
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

rubenwardy wrote:I wrote a basic guide here: Minetest Modding Book: Creating Games

I would like to expand this chapter further, so this thread could be a good place to generate ideas for that
Great, thanks for the link (and the guide itself).
To miss the joy is to miss all. Robert Louis Stevenson

ShadMOrdre
Member
Posts: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

Re: Game Making FAQ

by ShadMOrdre » Post

Question:

What engine elements must be present to start a "game"? (Mapgen/World, HUD, Player)

By the above question, I ask not what is needed for a basic MTG style game, but what are the basic necessities that a developer will need to create in order to load and enter a world. I know that the Minimal game is the most basic, but even it contains to much. I do not look for required APIs like doors or inventory or crafting, but the absolute bare essentials. So far, the three named above are what I can deduce, it would be nice to have clarification.


Please note the following links also:
FORUM TOPICS:
Role-Playing Game Elements for Minetest *Current
Game design: resources, Q&A, opinions *Current
Project:Base *Last post 2018
PROPOSAL: Game Development Base *Current

There are also numerous links in the topics such as the links to Wikipedia, regarding game design, development, and other useful topics. I recommend reading as much as possible, to give oneself a bigger picture of the task at hand, and how game dev, when subdivided into smaller tasks, can be more easily accomplished.

User avatar
TumeniNodes
Member
Posts: 2943
Joined: Fri Feb 26, 2016 19:49
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes
Location: in the dark recesses of the mind
Contact:

Re: Game Making FAQ

by TumeniNodes » Post

....... NO.

Aside from my displeasure with role-playing...
In my personal opinion, a good way to begin is with just one biome... work out everything related to that... the goals, needs, achievements, visuals, mechanics... and then branch from there, one step at a time.

Starting off the bat with 10/15 biomes is going to become far too overwhelming and confusing quickly, and then the motivation begins to dwindle.
There is more than enough which one can conjure up within a single biome-type, which could keep people/end users entertained for a while, and then excited when a new phase comes out with a whole new biome and all new adventures, etc..

The first biome could be something like the main type being lush and green... with sub-biomes (what I call them) so, spawning on an open plain or prairie, and in different directions come upon a forest, or wetlands, or maybe even a bog..., mountain ridge..., or a meadow, a gorge, who knows (environments found near one another in real life) one of the bigger goals should be to overcome the environment, and what is required to survive...
Overkill on progression is never a bad thing in a game

Achievements is a huge piece... The player wants to feel like they've accomplished something, and they want a reward for it too. This is the main key which draws the player in.
But it can't be too easy or it is boring real quick.
A player wants to have to figure out/solve puzzles from clues or following hints...

Either this or just add a gun mod, some dumbed down mobs with lots of blood splatter and your good t'go.

One area I cringe over, which is mirrored/or adopted from MC... is being in a desert, walking about 20 nodes and being in a Winter wonderland.... another 30 steps... BAM.... jungle : /
A Wonderful World

ShadMOrdre
Member
Posts: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

Re: Game Making FAQ

by ShadMOrdre » Post

Tumeni,

The links are good for information.

The game you describe is essentially an adventure game, only a step away from RPG.

The basics of any game, how to start designing said game, are entirely defined by the game in question. I doubt ISB or Flux uses biomes.

What I'd like to discuss however, are the MT specific technical details to game creation, not game design. Design is a much larger subject, usually particular to the game style in question.

I'd still like a basic rundown of the absolutely essential things that need to exist for an MT world to load. Again, player, hud, and world gen are all that have really come to mind. In rubenwardy's Mod Guide, the entire game dev topic is limited to a single page that emphatically encourages that all mods and games follow the MTG lead, keeping compatibility with existing mods and infrastructure, and perpetuating the very problems that we game devs continue to complain about. This is horrible advise for everyone making anything besides a MC ripoff, or MTG style nothing.

While I agree that it is in one's better interest to code for modularity of reuse, I find MTG to be the core problem when it comes to developing games for MT. How much of the engine expects default to exist? The only correct answer would be zero. Why would any serious game developer perpetuate the bad examples set forth in MTG. The complaint is new, different, exciting games. Not a rehash of a rehash of a rehash.

Please, lets keep this discussion technical, and limited to the specifics of developing games for the MT engine. And also, let's please keep the discussion free of complaints about what MTG or MT engine is lacking and free of specifics related to any specific game genre. There are more appropriate places for those comments.

Shad

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

ShadMOrdre wrote:Tumeni,

What I'd like to discuss however, are the MT specific technical details to game creation, not game design. Design is a much larger subject, usually particular to the game style in question.

I'd still like a basic rundown of the absolutely essential things that need to exist for an MT world to load.

...

Please, lets keep this discussion technical, and limited to the specifics of developing games for the MT engine. And also, let's please keep the discussion free of complaints about what MTG or MT engine is lacking and free of specifics related to any specific game genre. There are more appropriate places for those comments.

Shad
+1

:)

(Emphasis added by me).
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

Re: Game Making FAQ

by rubenwardy » Post

ShadMOrdre wrote: . In rubenwardy's Mod Guide, the entire game dev topic is limited to a single page that emphatically encourages that all mods and games follow the MTG lead, keeping compatibility with existing mods and infrastructure, and perpetuating the very problems that we game devs continue to complain about. This is horrible advise for everyone making anything besides a MC ripoff, or MTG style nothing.

While I agree that it is in one's better interest to code for modularity of reuse, I find MTG to be the core problem when it comes to developing games for MT. How much of the engine expects default to exist? The only correct answer would be zero. Why would any serious game developer perpetuate the bad examples set forth in MTG. The complaint is new, different, exciting games. Not a rehash of a rehash of a rehash.
This is not correct at all, the chapter advises against reusing mods like default. Creating compliant mods for dependencies is something that makes porting mods a lot easier, and something that MTG isn't actually very good at. MTG technically sucks because it lumps everything into one mod, meaning there's no granularity of dependencies.
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

So, back to the topic.

Let's say, I want to make a simple game in survival mode, with daytime lasting for 24h, and with worlds generated by modified valleys mapgen (i.e. with tweaked map_meta.txt parameters).

How can I ensure these settings are used by the game?

As far as length of the day is concerned such setting should as I suppose be included in minetest.conf file. But what about the rest? Should this be done via mods, or there's another way to implement such game features?
To miss the joy is to miss all. Robert Louis Stevenson

ShadMOrdre
Member
Posts: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

Re: Game Making FAQ

by ShadMOrdre » Post

voxel,

Neither of these are good examples. Both are MT engine settings. So if your game desires to use those settings, as you have configured, then simply add commands in the game "defining" mod, ie, say default in MTG.

You can add them to a settingstype.txt file, but you can't depend on a user selecting those options, so would have to provide default values in your mod, using something like, minetest.get_setting or def_val.

And both of those examples are rather game specific.

What are the bare essentials for creating a game that allows a player to enter a world?

Does a player object need to be defined? If so, what are the basic essentials. Inventory, model, ????

Are any other definitions required to put a player in a singlenode world? Do I need to set aliases, do nodes need to be defined, are there any details. Again, neither are addressed to the necessary depth in either the Lua_api or rubenwardys mod guide. We should flesh out these details, instead of expecting or assuming that someone has the requisite knowledge.

Are inventory, the HUD, or any other functionality expected or required by the engine? If there is required expectations, these should be clearly spelled out, with examples.

I am willing to help identify and document this stuff, so please, let's get some knowledge flowing.

Shad

Red_King_Cyclops
Member
Posts: 324
Joined: Sun Jun 16, 2019 20:17
Location: x=123, y=120, z=534

Re: Game Making FAQ

by Red_King_Cyclops » Post

If I were to register some biomes, would that be enough to create the terrain (since the mapgens are built in)?
Currently working on new mods.

User avatar
Yvanhoe
Member
Posts: 140
Joined: Fri Jul 05, 2019 03:18
Location: Japan

Re: Game Making FAQ

by Yvanhoe » Post

1. I am not sure how fundamental it is but I have been wondering about the relationships between the time speed setting (a.k.a., sun speed) and the frequency of ABMs. (Sorry for the mod-related question) Are things like tree growth or dynamic water affected by this setting?

2. I have seen mentioned here and there, in various strong words, that mob entities do not work well. Yet a lot of games will depend on some kind of mobs. It would be nice to have a section about what problems we can expect from these.

3. I could not find a documentation explaining what things were managed on the server and what things were managed locally. Obviously there is some kind of local movements for players that do not require server approval but there also seems to be some mining as well? I was surprised as well to learn that every UI click goes through the server first.

Also, please have some love for MTG and default. They are not the best games out there, but having a set of pretty complete coherent and stable mods is precious for beginners who just jump into writing mods. When the doc is not clear, the ability to find examples in default is invaluable.

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

ShadMOrdre wrote:voxel,

Neither of these are good examples. Both are MT engine settings. So if your game desires to use those settings, as you have configured, then simply add commands in the game "defining" mod, ie, say default in MTG.
...
And both of those examples are rather game specific.
It surprises me. If a designer wants his game to start always in a creative or survival mode, doesn't it apply to all possible games? The same is about setting a specific map on which a game is to be played. Or deciding what texture pack a game uses. I find these examples as simple and very basic features directly related to the general concept of 'game making in Minetest', so I'd look for the answers to these questions in relevant FAQ.
You can add them to a settingstype.txt file, but you can't depend on a user selecting those options, so would have to provide default values in your mod, using something like, minetest.get_setting or def_val.
Do I understand it correctly, is it a matter of applying dedicated mods? Isn't there a configuration file to add to the game directory so that the game would start with settings/world choices which are otherwise settable through MT user interface?
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

Yvanhoe wrote:1. I am not sure how fundamental it is but I have been wondering about the relationships between the time speed setting (a.k.a., sun speed) and the frequency of ABMs. (Sorry for the mod-related question)
Don't be sorry, even if a particular feature technically refers to modding, if it affects general characteristic of any game it should also be discussed here.
To miss the joy is to miss all. Robert Louis Stevenson

ShadMOrdre
Member
Posts: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

Re: Game Making FAQ

by ShadMOrdre » Post

voxel,

You can add a settingstype.txt file to your game folder. It will enable users to change game settings from within the main menu.

Remember, however, without a "mod" to use those settings, there is no setting. In MTG, the default mod handles ALL of this, since the "game" settings are essentially "default" settings. However, note that other mods within MTG also use those settings. Consider GiveInitialStuff. You enable or disable that mod from the "game" settings in the main menu.

So, in short, to answer your initial question:

Yes, you will need to define those settings from within the main "game" controlling mod, while the settingstype.txt file can itself reside in the game folder or the mod folder, depending on how you want to present those config options to the user, as a "Game" option, or as a "Mod" option.

This is why I am still asking the same question....

What are the key parts that the engine expects and requires of the "game" mod? Player, HUD, mapgen. And specifically, what parts of those three need to exist? (Player model, inventory, On_Join, HUD)?

I feel that the answer to the above question and the lack of any clear answer, is one of the biggest roadblocks to trying to create new games. Without some of the most fundamental information available, we each spin countless, needless wheels looking for, and recreating, the same things.

Shad

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

ShadMOrdre wrote:voxel,

You can add a settingstype.txt file to your game folder. It will enable users to change game settings from within the main menu.

Remember, however, without a "mod" to use those settings, there is no setting. In MTG, the default mod handles ALL of this, since the "game" settings are essentially "default" settings. However, note that other mods within MTG also use those settings. Consider GiveInitialStuff. You enable or disable that mod from the "game" settings in the main menu.

So, in short, to answer your initial question:

Yes, you will need to define those settings from within the main "game" controlling mod, while the settingstype.txt file can itself reside in the game folder or the mod folder, depending on how you want to present those config options to the user, as a "Game" option, or as a "Mod" option.

This is why I am still asking the same question....

What are the key parts that the engine expects and requires of the "game" mod? Player, HUD, mapgen. And specifically, what parts of those three need to exist? (Player model, inventory, On_Join, HUD)?

I feel that the answer to the above question and the lack of any clear answer, is one of the biggest roadblocks to trying to create new games. Without some of the most fundamental information available, we each spin countless, needless wheels looking for, and recreating, the same things.

Shad
Thanks for clarification of this issue, I think it'll be of great help not only to me :) So, in discussed case, adjusting wanted parameters needs two 'levels' of control, so to speak. Particular values have to be provided by dedicated mods, and what parameters you want to submit to a player's setting needs to be specified in settingtypes.txt file.
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Game Making FAQ

by paramat » Post

I'm working on a very minimal game that is intended to be a good example of the minimum requirements, with a good mod structure.
The intention being to help people creare games.
I'll post about it in the forum when i'm happy with it.

User avatar
Wuzzy
Member
Posts: 4803
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Game Making FAQ

by Wuzzy » Post

This thread does not deliver on its promise. There is no FAQ. Therefore, it is clickbait. This thread does not deserve to be sticky.

EDIT: “Clickbait” is defined as something with a title or preview that is just completely not matching the actual content. The title promises a FAQ. There is none. Clickbait can be fixed by either changing the content or by changing the title. I suggest the title “Building a Game Making FAQ”.

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

Wuzzy wrote:This thread does not deliver on its promise. There is no FAQ. Therefore, it is clickbait. This thread does not deserve to be sticky.

EDIT: “Clickbait” is defined as something with a title or preview that is just completely not matching the actual content. The title promises a FAQ. There is none. Clickbait can be fixed by either changing the content or by changing the title. I suggest the title “Building a Game Making FAQ”.
Creating of this thread was intended as a prompt for the community to collect the most basic information about game-making for beginners in one place. Every journey begins with the first step, so I made one. No bad intentions. If the title change would make things more clarified and making FAQ easier, of course I'm for it, it really is of little importance if the final result is making some sort of help for those who would like to start their adventure as game creators.
To miss the joy is to miss all. Robert Louis Stevenson

User avatar
Wuzzy
Member
Posts: 4803
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Game Making FAQ

by Wuzzy » Post

Just rename the thread, please. Because currently, it's clickbait. Anyway, since I still want to help …
What are the bare essentials for creating a game that allows a player to enter a world?
Technically, the barest minimum possible game that can launch without errors must have:
  • A game directory in games directory
  • Inside that directory, this file: game.conf
  • The game.conf must contain the setting “disallowed_mapgens” to list every mapgen that you do NOT support
  • A mod (add it in the mods subdirectory of your game) that contains textures:
    • heart.png (health statbar icon)
    • bubble.png (breath statbar icon)
    • crack_anylength.png (crack texture, when mining a node)
    • player.png and player_back.png (2d player textures, front and back)
    • wieldhand.png (hand image when the hand is selected)
  • Minimal definition of the hand (minetest.register_item(":", { type = "none", wield_image = "wieldhand.png" })
Refer to the docs to learn more about the textures.

Mapgen stuff: For singlenode worlds, no further definitions are required.

For other mapgens, these requirements are added:
  • A couple of nodes for use with mapgen aliases
  • Mapgen aliases. Which aliases you need depends on the mapgens you support. See lua_api.txt
Does a player object need to be defined? If so, what are the basic essentials. Inventory, model, ????
Not the player object. Minetest pre-defines the player object itself. But to remove error messages, you need to add player.png, player_back.png and wieldhand.png in any mod's texture directory. That's it. Everything else has defaults.
- Default inventory: 8×4 slots, 3×3 crafting area, uses fallback graphics
- Default hotbar: 8 slots, has fallback graphics
- Default model: Just an ugly 2D sprite which has NO fallback graphics. Requires player.png and player_back.png
Are any other definitions required to put a player in a singlenode world? Do I need to set aliases, do nodes need to be defined, are there any details.
Aliases: No.
Nodes: No.
Other stuff: You must always include some core textures (see above)
Are inventory, the HUD, or any other functionality expected or required by the engine?
Inventory: There's always an inventory menu which can't be fully disabled. Minetest has a default inventory. The closest you can get for disabling the inventory menu is to replace the inventory menu with a dummy screen that just says the game has no inventory menu. :D
HUD: All HUD elements can be turned on and off per-player. You can choose to use the engine HUD, or replace it with own HUD elements (however, those will be laggy because they require round-trips to the server)

Other expected functionality is:
  • A bunch of core textures like heart.png (see above)
  • Mapgen aliases (absolute minimum is mapgen_stone), unless you only use the singlenode mapgen and generate everything yourselves

Red_King_Cyclops
Member
Posts: 324
Joined: Sun Jun 16, 2019 20:17
Location: x=123, y=120, z=534

Re: Game Making FAQ

by Red_King_Cyclops » Post

How does one make a beach biome between water and land?
Currently working on new mods.

ShadMOrdre
Member
Posts: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

Re: Game Making FAQ

by ShadMOrdre » Post

Wuzzy,

With that post, you made this a FAQ. Thanks for the info. I've discovered most of this in the last weeks, since asking the question. I'll post again later, with a more definitive base, ready to use.

Red_King,

minetest.register_biome. For min_y and max_y, simply set min_y below sea level, and max_y to the height of the beach, a few meters above sea level. This is rather simple.

This is also more appropriate to the mapgen thread in modding discussion. This topic is for the larger topic of game making within MT, of which modding is only one detail, and the actions of any given mod are only applicable to the 'game making' aspect, as opposed to the 'game content' aspect. Think, functionality and basics, versus content and everything else.

Hope that answered your question though.


Shad

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Game Making FAQ

by voxelproof » Post

Wuzzy wrote:Just rename the thread, please. Because currently, it's clickbait. Anyway, since I still want to help …
After a while I came to the conclusion that indeed this thread should be renamed, however not because it's clickbait (cause it's definitely not intended to lure unsuspecting viewers into reading it), but because as it was titled before it may be misleading to those, who might think that the FAQ is already complete and ready to use. BTW, thanks for your contribution :)
To miss the joy is to miss all. Robert Louis Stevenson

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests