Amillia Publishing Company Advertisement  ©
HOME RESUME ABOUT DEMOS Connect Message Mobile Right Column Mobile Left Column Mobile Poem Shards Mobile Coder's Edge Mobile
header_image copyright APC 2010

Paging Control

previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnewest column

Coders Edge

Plans

User has new concepts

As a user of my own idioms it becomes natural to know what works and what does not, and how to make it easier to do.

Blender, Minetest, Supertuxkart

OK, so using the minetest extensions, and getting into the world of Lua, one may design all kinds of things in a 3D 'game' environment. But the game is to learn how to use the tools. And so, I can do screen snapshots, whcih I can share here. And that will allow me to show you the stuff so you can see it but what it is is . . . what it is is (Martin Lawerance said this as his line) that I would like to show these with the format of the angle spin gauge. The Angle Spin Gauge, as you may know, is the form of html which allows for the presenation of a ring of material. But the format for the layout can be of anytype. It doesn't ahve to be angular and cylindrical. Each 'device' is 'attached' to a 'hub'. This is formed within the code. You can see it on this page. And then each of these can be tagged to a different callback that allows for some difference in how it 'refreshes' within an animation that is attached to the process through the maniupuation of the page by the Javascript and also using custom but also Jquerry extensions. And trying to keep it all html5 or whatever the most current and useful version of things is. The results are actually kind-a-nice ('kind-a-nice' is a technical term)

So what I've done is to investigate the format of the file which I saved from one of my minetest sessions. That format is very simple to understand. It also can be pared down to make it terser. It lends itself to being easily manipulated from the command line. For example using simple sed commands one can modify the files fairly easily. And so if one is even a little bit command line handy, and at a linux terminal (bash, baby!) then its a quick little tap on the keys. After you figure it out you can save your work for easy future cut and paste. Sed and awk are your friends.

But that is expert hacking. And if you are going to do real work, to automate the process you need to write some programs or some scripts. Basically it would be far easier to just pull the data into some memory managed arrays, so that they can be easily manipulated. But these could be very large regions. And so, in that case, the serial feeding of the information into a sequential read element/write element, don't care if we barf method, where we note where were are so if we do barf ('barf' means that the program did a hard fail, whatever it was, and lost it's mind and things needed to be reset. In Linux that is an easy thing to fix. Whatever,. In some other OS, historical pieces of work, the barf was a bad thing it was a very bad thing.

But not to worry, the implementation of very large arrays is handled by the virtualization and caching of these arrays. And so if you ask Linux to give you this huge thing that is rediculously large it will happy tell you that it has it and then try and simulate it all for you, oh you neophyte, as cache object. It will write and read from your physical storage. It will do a good job of it.

But it is always prudent to use memory management. And so if a 'saved' region is larger than a certain size, one needs to assume that a lot of that is 'air'. In minetest that means that it isn't there. There is no element there. It is air. Great. It is air. So those nodes don't need to be allocated. Only the nodes which actually contain something need to be allocated. What that means is that the overhead of writing the code to do this for you is worth the effort so that the entities can be much larger.

The minetest seems to break the world up into chunks of a certain size. The game has a bunch of different things it does. It maintains a flat file which contains all of the nodes of the world. That file gets larger and larger as you add to your world. The game also maintains a view for the 'player'. If you are only using the game to build things then, well, you're not really playing it in a traditional sense. But what you can do with the tools is really very nice. And clumsey as the interface is, it does sit right on top of the rock solid Irrilicht, which I've learned about in the past and which seems solid.

Minetest might seem bogged down. Or at times you might wonder why the image only partly renders. Remember that this tool is a work in progress. It has setting, like any other tool would. THere are very many configuration elements available to the 'player' of the game. And very many modifications that make the game much more awesome. I downloaded what is known as a Dreambuilder modset, and the person who provided this did a very good job of collecting very many mods and I used those.

It didn't work at first. Fortunately I'd been playing the game for a while so I had a version that worked very well. And it's easy to copy mods between different versions of the game. So I copied all the mods from a working version into the version that wasn't working (this is a deep copy, in that you need to do it recursively.). I let this copy clobber the files in the version that didn't work. The clobber meant that all version of this conformed to the version which I was running on my system. And then the dreambuilder world worked great. A lot more stuff in that world, and some very cool fauna.

So I build a lot of different things with this using the stack command copiously. And at the top of a giant building I put a big lawn. Well, I go do a bunch of stuff, and the way that the game is it has things self-spawning due to the activity of various mods. I was hoping to have some giant sequoias growing on my roof. So what did I get? There were a lot of things growing up there. I got 'poison_ivy seedlings'. Not interested. So, in order to rectify this I went in an deleated the directory that contained the poison_ivy mod. I suppose I could figure out what makes it poisonous (it harms the player) and what makes it so virulent, and take away the part that harms and make it something good (renaming it, of course) but it was easier to just delete it.

I was learning Blender for a while. I want to get back to it. In the meantime I figured I give my mind a break. But mineteset and blender, and supertuxkart, all work well together. Blender is really cool and useful and definitely more fun than first-person-shooter video games. It's a saner alternative for people who want less violence in their games.

And so, using the game as a design tool is a cool idea. As well it ought to be a simple shim to have Blender suck in the minetest region save files and produce a model using the .blend format which will give much more advanced rendering options for the regions created.

I suppose now it would be good to show some pictures?

April 15, 2016





if you don't have proper fonts installed you won't see what this picture shows: the output of the echo command with unicode symbols as input. If you are blind basically the unicode are symbols that you could feel as shapes. If you have a 'font box', which would be like that divice with all the pins in it that you can place your hand inside, and the shape of your hand will appear on the surface. If such a thing locked, it would then let a blind person feel it and they would feel the shape. such a device that does that for font shapes would greatly aid the blind. It would be a 'kind of' high resolution new-braille. Call it a 'sean-box' font reader.


Please visit DEMOS

Paging Control

previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnewest column ConnectAmillia Publishing Company Advertisement  ©