Skip to main content

Learning BYOND, Day 3: Armed and Dangerous

Today, I found that my brushing up on the fundamentals helped quite a bit. BYOND’s differences from the programming languages I’m comfortable with are beginning to melt away. I’m able to define classes of objects and place them intelligently in the game, as well as allow players to pick up and drop things. Some interesting things learned today include:
  1. Defining the name of an object enables the right-click menu interaction with verbs. This only seems to work if the verb’s access is set to a list of things (src in *list*) and not a single user (src = *specific user*).
  2. The interpreter won’t ask you which one you mean if you’re activating the same verb on identical objects. This caused me no end of confusion when I couldn’t figure out why it kept grabbing the nearest one (when access was set to “src in *list*”) or the sequentially first one (when access was set to “src = *specific user*”) without asking me which I want.
  3. When referring to turfs, think of them as containing the mobs and objects in them, and as though the turf literally is the location of the mob. Thus, if Mob is standing in Turf, Mob.loc equals Turf, *not* Mob.loc Equals Turf.loc. (I would guess this works the same way for items in a player inventory: item.loc Equals player, not item.loc Equals player.loc.)
  4. A good spot to initialize global variables is on the world’s New() procedure. Seems self-evident enough now, but prior to this I wasn’t sure the world even had a New() procedure. (This refers to initialization, the definition should be done at the root of the code.)
  5. I found out about “image” objects which, as far as I can tell, are completely missing from the guide. The details using them are still beyond me, but discovering this object is great news. Prior to this, I had the problem that everything displayed to a users’ client would actually be a part of the game world. Now, a custom GUI seems possible.
By the end of the day, I figured out a way to allow users to materialize new objects into their inventories or onto the game world. This is a major part of my game design, which involves a Mercenaries-like capacity to call in equipment and reinforcements in battle.

The players are now armed and dangerous — at least, able to pick up things and use them. They aren’t the only ones: now that I have these basics under my control, I know just enough to be dangerous to my fledging virtual world. Consequently, designing the working model on paper is becoming more important than before.
My current immediate technical challenges to overcome:
  1. Find better way to present the user with a selectable list of objects to be summoned. I could do so with just a bunch of separate verbs, but that’s sloppy. I could do so with an image overlay… this would probably be the best choice – but also one of the more technically challenging.
  2. Find a way for the player to cue way points to be executed by certain the mobs in the game. This core functionality would be useful both to set a balanced speed on players’ avatars – by default they run around as quickly as the players can hammer the keys and their connection allows and that’s unbalanced – and also for vital mob automation. At my disposal is some pre-created movement procedures, but they do not implicitly have waypoints built in… I think.
If I can get those two things out of the way, the biggest technical hurdles (besides the interface) are out of the way, and I can get down to actual game mechanic implementation.
Post a Comment

Popular posts from this blog

Resonant Induction Really Grinds My Gears... In A Good Way

From about 2pm yesterday until 8pm today, I've been dabbling with my latest custom mod mix for Minecraft 1.6.4, which is this time very much Universal Electricity focused.
Aside from the usual GUI enhancers and Somnia, the primary contenders in this mix were:
Calclavia Core - Of course: this is the base of the Universal Electricity system.Resonant Induction - This seems to be largely focused on increasingly more advanced methods of refining ores divided across 4 ages of technological progression.  It also includes some really cool things such as assembly lines.  I'll primarily be talking about just a few blocks out of this mod today.Atomic Science - A mod dedicated to generating more of those lovely universal electricity volts via the power of splitting the atom.  Build your own nuclear reactor!  Deal with nuclear meltdowns!  You maniac!ICBM - A mod dedicated to generating more destruction using those lovely universal electricity volts (and more than a little gunpowder), it cer…

Empyrion Vrs Space Engineers: A Different Kind Of Space Race

In my quest for more compelling virtual worlds, I have been watching Empyrion: Galactic Survival a lot this bizarro weekend, mostly via the Angry Joe Show twitch stream.  What I have concluded from my observations is Empyrion is following in Space Engineers' shadow, but it is nevertheless threatening the elder game due to a greater feature set (the modding scene notwithstanding).

Empyrion is made in Unity, whereas Space Engineers is built on a custom engine.  While this does put Empyrion at a disadvantage when it comes to conceptual flexibility, its developers nevertheless have a substantial advantage when it comes to adding features due to a savings of time spent that would have gone into developing their own engine.  Examples include:
Planets.  Empyrion already has planets and space to explore between them, whereas in Space Engineers planets are in the works but still awhile away (so you just have asteroid fields to scavenge).Enemies.  Space Engineers' survival mode boasts onl…

Ancient Warfare - What Is It Good For?

The Ancient Warfare mod for Minecraft threw me for a loop.  I was looking for "villagers" that would perform useful tasks while simultaneously resolving the glut of food with a need to eat, thereby turning Minecraft into a bit of 4X game you can play from the inside.  Millenaire wasn't quite there, partly because recent updates to Forge had broken its compatibility with Minecraft 1.7.10, and Minecolony's development is not quite fast enough to keep up with the state of mods in general (they probably need to make a core API).
In comes Ancient Warfare, which does indeed provide workers and soldiers who need to eat, you can even order around a little army of them to defeat your enemies.  It has working waterwheels and windmills, something I thought was awesome in Resonant Induction.  It has a warehouse with a built-in sorting system, as well as courier NPCs that can move things from building to building, and crafting NPCs that can create things for you automatically - w…