A new world for DMUX (update2)

May 2, 2017 - 5 minutes

TL;DR

I have been having a lot of fun with python, it is a really easy language to maneuver around in, and so I have been able to make massive leaps of progress in a pretty short amount of time. The new stack of tools I am using are really useful and help out a lot with productivity and the future of my project is pretty bright. I am approaching feature parity with my old C++ version, I project having such within a month.

HTTP requests with the Minetest Master server

An IRC friend of mine recommended to me a few months ago to use the minetest master server for my game, and since I was messing with Godot I have been trying to make it work. I set up DMUX with the Requests module for HTTP requests and I managed to replicate the POST requests that a minetest server does, and with minimal modifications I got it to work. I am currently investigating a way to use GPG signatures, to verify that the server trying to register itself is indeed a legitimate game server. This saved me about a week of having to write a master server with similar features. So thank you to the minetest team for releasing this master server (even though you did not want me to use it). If you want to learn how to use this master server feel free to hop on #DMUX on IRC and ask me about it, or email me. Here is a screenshot of the web page served by the minetest master server, showing a DMUX server connected to it. However other parts of the game need to also be configured to the master server as well.

master server

Of course the biggest habit of mine is to make the main menu first, which most people hate doing. I suppose that I like doing the main menu because it makes it feel more like a game. Also when you work on games sometimes you do weeks of work but no visual changes surface, but with GUI even though it is not that exciting you get visual responses quickly. LUI is also great at making your menus look great visually. Here is a screenshot of what I have in the garage so far (which is mostly functional, good enough for testing).

garage

Vehicle

It took a while to get the car to behave in a sane fashion. But now I have the car working in a reasonable configuration and the wheel positions are being correctly read. In fact all the stats of the car are being read, and applying scene metadata in Panda3D is very easy, this was a big thing I never got working correctly in my old C++ version. I am really happy with this because I am getting native performance from the physics engine that I did with my C++ version but with the easiness of Python. Godot’s phyiscs engine was terrible and the vehicle did not quite work. Here is a screenshot of the car driving itself off of a box.

vehicle

Other discoveries

renderpipeline