Learning BYOND, Day 2: Back To Fundamentals

There’s 16 days left until I’m back at the University as a Digital Technology and Culture student for another semester. While I don’t plan to stop playing with BYOND at that point, this time is nonetheless quite valuable for the purpose of learning it.

Today, my primary accomplishments included:
  1. I figured out some additional ways in which BYOND initializes variables. Recall from yesterday that nothing happens (no code is executed) unless an event occurs. Actually, things that are painted on the map maker pretty much are already in existence and ready to go. This is interesting because there’s actually a whole loaded database up and running before you write your first line of code.
  2. Who can use the “verbs” on an object is determined by the “set as src” parameter. This is extremely handy, because once a verb is accessible the GUI automatically makes it available to the player in all sorts of fancy ways (e.g. right click and it pops up on the menu). Verbs are basically custom events, fully programmable by the game creator, and are the catalyst of action between the players and the game.
  3. I can, indeed, utilize procedures on other objects. However, it requires at least a temporary initialized object in order to reference the appropriate procedures. I’m still a little rusty on this, it’ll probably be a bit easier on me once I know where (in the code) I can start instantiating things and how to reference them properly. The interfaces are not quite as clear-cut as JAVA – there’s no private and publicly declared variables and procedures.
Overall, a bunch of extremely newb-ish reading and experimenting was done today as I strive to Grok this new means of programming. If it seems like I’m backpedling a bit, it’s because I am. Shattered is the initial overconfidence that I could just dive in and make stuff. It seems I’m way too rusty for that – hell, I probably never had a chance to mess with a program that accomplishes as much as BYOND presents. Yet, this attitude seems to have made me more receptive to learning as well: I made it up to about chapter 6-7 in the official guide with greatly increased understanding. (Specifically, the longer PDF version – which is quite excellently and humorously written, by the way) .

Very little progress was made towards Building My Own Net Dream today, as it seems I’m mired down in understanding the fundamentals. However, at least part of this is because of the high aspirations I have. If I was trying to recreate an Ulltima 6 then BYOND makes that fairly easy to do – it practically is a massively multi-player enabled Ultima 6 engine by default. However, what I’m going for is more of a point-and-click, dynamically-changing-world game where custom events (such as the automation I was blogging about a few days ago) take the center stage. That’ll take a bit more effort.

Though it’s generally a bad idea to plan bigger than you’re capable of, I’m not feeling too disheartened: it seems to me that the engine is very capable and probably the friendliest in existence for me to use. Thus, it’s just a matter of practicing until understanding it is second nature. The further I get into it, the more it seems that I just need to find the existing procedures and learn to use them instead of bull my way through with overridden procedures as I was planning.


Popular Posts