Page 1 of 1

What can I do for my senior design project to help Minetest?

Posted: Mon Nov 25, 2019 23:30
by Worldblender
For the 2019-2020 school year, I have decided that I turn my WIP mod, chchar (Change Player Model) at into my senior design project. This mod will do what skinsdb does with skins to the default player model: load custom 3D models that can replace the default player model, and allow users to switch between them and the default player model. This could break certain kinds of mods that alter the default player model, and they need to taken into account. For files related to this project, see ... EGiridwgkm (note that not all files are complete, and can change over time).

Unfortunately, my teacher has deemed doing this by itself isn't enough to satisfy "An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices." However, I may have a chance at satisfying this if I can add more functionality either as another mode, or as a module to my existing one, that has sophisticated functionality. The best one I can do could involve some sort of AI (artificial intelligence), where the AI can do any of the following with a player or NPC entity:
  • Can be trained to play the default Minetest Game by itself without human involvement except as spectators.
  • Can find resources, including wood->stone->iron->diamond->mese, by itself.
  • Can explore world maps by itself, including travelling across all kinds of biomes and terrain without significant trouble. If they exist, use vehicles such as the wooden boat when possible during travel.
  • Can create buildings given enough resources, on its own. Alternatively, it can create pixel art with colored blocks, either from an existing image, or procedurally generated.
  • If mobs exist in a world through 3rd-party mods, fight them on its own, possibly trying to find more of them.
  • Anything else that allows gameplay without human involvement.
  • Specifically for my mod and skinsdb, create a seed from the player's current 3D model or skin texture, and use it as the basis for randomized AI gameplay for doing any of the above.
These are all potential ideas useful for making my senior design project more interesting or as a future wishlist for enhancing Minetest gameplay. However, I do need to have suggestions quickly, as I only have until the next Thursday 12/5 to have most of my project report completed. Feel free to make more suggestions than what I listed here; anything that helps Minetest in a significant way works, as long as it can work with the chchar mod that I have planned to write since 05/25. It isn't necessary to help with the actual project, but if someone really would like to help out, then I'll be glad to take those contributions in to help reduce my workload over the next 6 months.

Re: What can I do for my senior design project to help Minet

Posted: Tue Nov 26, 2019 10:21
by texmex

My trail of thought is this:
- Define some player classes (human, elf, orc, dwarf etc) with distinct skills in regards to common Minetest game loop activities (mining, building, moving, fighting etc)
- Find a way to track activities of real players
- Use this to accumulate datasets over time
- Find a way to train an AI on these datasets
- Use the trained AI on either fake players (coolest) or NPCs (still cool), make them play the game essentially.
- Use the AI to determine what class survives the best in each biome and have it use chchar freely to switch between classes in order to do so.


Re: What can I do for my senior design project to help Minet

Posted: Thu Nov 28, 2019 01:37
by Sokomine
Maybe a bit late, but...I'm not entirely sure how large such a project ought to be (for school?).

Your original idea seems to be covered mostly by the Creatures mod - at least any limitations encountered there would affect your mod as well.

Whereas AI - especially when it comes to it playing the game all by itself - is an entirely diffrent matter. The AliveAI mod did a lot in that regard. It's a huge project.

Perhaps you ought to aim for something more inbetween - that is, neither a tiny mod nor solving all the world's problems in six month :-)

It might be intresting to have a mob that is able to change its shape somewhat - i.e. crawl through a one node wide hole - but even that might cause trouble with the engine (and it wouldn't really look that well ingame).

Maybe something simple...i.e. a group of sheep that wants to eat the farmer's wheat, wheras the farmers would like to protect it. Or another classical predator-prey-relationship (they'd have to find each other first). Or just some mobs that have some modifications to offer (a hairdresser offering new haircuts?, stronger muscles from mining, ?) and trying to find players and other mobs as customers..

Re: What can I do for my senior design project to help Minet

Posted: Thu Jan 02, 2020 00:17
by Worldblender
One part of my senior design project is now in a working state (and before I'm back at school): Change Player Model (chchar). The forum post for is it is at viewtopic.php?f=9&t=24013. Again, the project repository is at