Having lived in my small sheltered DM universe, and had very, very little experience outside of it, this completely baffles me.

I understand it, I understand the concept, I understand how it works.

But... why though? Perhaps in other languages the "types as a database" method isn't possible... but... this isn't other languages? FA made a fair few valid arguments for why this is, whilst not really awkward, just, extra hassle for no real gain, within the context of DM.

I don't like to think of DM as a stepping stone engine, though quite honestly that's exactly what it is, so instead I consider this a "feature" of DM, and whilst it might be bad practice or not even possible in other languages, it's perfectly fine here, quick, easy, fast and reliable.

I don't want to argue with Ter13 sempai but, maximumovershrug.
In response to Rushnut
Rushnut wrote:
I don't like to think of DM as a stepping stone engine, though quite honestly that's exactly what it is, so instead I consider this a "feature" of DM, and whilst it might be bad practice or not even possible in other languages, it's perfectly fine here, quick, easy, fast and reliable.

Bad practice is never perfectly fine, by definition. Functional sure, but not fine.

Quick/fast: Not as much as you think. It adds time to the compilation and basically ruins your ability to make the game extensible. IMO it's no quicker at all than doing it a better way, and in the long run it will bite you.

Easy: The one virtue of this approach is that it's easy to understand. But in the end that's often not as useful.

Reliable: Also less than you'd think. Locking everything into a type tree in cases where it isn't necessary limits your ability to make changes later.
It should be noted that this post is really not aimed at very small projects. If you want to do an MMO style world, you will probably want to look into a database similar to this one, but ultimately relying on something much more like SQLite rather than the record list I set up here.

For small projects with very few items and very little variation, don't bother with best practices. Just make it work how you want.

For bigger projects, though... This is a topic of concern.

Rushnut wrote:
FA made a fair few valid arguments

He may have. It was mixed in with a lot of confused gibberish, though to the point where his understanding of what he was getting at is all but entirely lost amidst the din of an old man yelling at a cloud.

He also completely managed to misunderstand this snippet and make quite a lot of accusations that were completely untrue, so his arguments are all totally suspect the same way that someone arguing that wind power is bad because it will slow down the wind and cause the earth to overheat. Sure, one of their arguments may have sounded good from a place of non-understanding, but based on some of the more absurd arguments that person made, it does beg the question whether they are an authority at all.


I don't want to sell this as the only way. Sure. The old way works. But it doesn't work for me because I care about post-compilation mutability. You can't have post-compilation mutability without some kind of a database system backing the instance dictionary.
Page: 1 2 3 4