Ter13

Joined: Jun 12, 01

Email

One of BYOND's longest-standing active users.

 

 

Crafting: A better way

I've been working with a piece of code for a crafting-heavy project the last few days. My idea was simple at first, to make a really generic system for item creation. I wrote four recipes for crafting the four basic tools, and they were all hard-coded.

As I looked at the completed code, I was struck with a really stupid idea. Why should any item be hard-coded? Items themselves are without any really special behavior. They all work off a basic set of rules, so why should these be properties of individual items?

So I set out to make a template-based item crafting engine.

It works by creating an XML-like file for each item. These files currently have very little information in them, just "reactions".

When one item is used with another, it reads the reaction section of the data file for the main item. If there is a reaction in that file, it passes the reaction to the handler, then derives all the important information.

Steps of the Reaction:

Step 1: Find the CD [REACTION] in the file: main.type
Step 2: Find the CD secondary.type in the file.
Step 3: Read two values from the CD stream: skill, and DC.
Step 4: Grab the skill found in the stream from the global skill list, and pass the file, items, and player off to the react proc of that skill.
Step 5: Form a list of items in the [REQUIRE] cd
Step 7: Run through the required items in the list, determine if the player posesses all of the items in the list.
Step 8: Determine success or failure based on the DC value we grabbed from step 3.
Step 9: Change the CD to SUCCESS or FAILURE. Now CD to CONSUME. Create a list from the CONSUME CD within success or failure.
Step 10: Run through the CONSUME list, and remove the items from the player's inventory.
Step 11: CD to CREATE, and create items from this stream. Each item is then put into the inventory of the player.
Step 12: CD to MESSAGE and output the buffer to the player as a message.

Item reactions are very simple right now. I currently have about three or four more features to add.

Right now, I haven't fleshed out a material system, so items don't track what materials they were made of. I plan to add materials to the system soon.

I also haven't figured out a way to do "incomplete" constructions without chaining together multiple items with file definitions.

This is important, because currently, it pulls everything out of your inventory on its own. This means that you can't pick which items go into the construction. I'd like to see it possible to add items to a stack, and then begin construction when the stack is complete.

I'd also like a way to add multiple ways to make something. For instance, I'd like to see meta-ingredients. I can list [wood] instead of wood/pine. That way, any type of wood would work. Or even, an OR sort of list where items can be made out of either metal or wood, and it will change certain properties of the finished product. For instance, a wooden fishing hook giving a -2 to the fishing_bonus variable of a fishing rod, while a metal fishing hook would have a +0.

I'm also currently removing all "types" and making an itype variable that works similar to a path, but will allow for multiple-inheritance of properties. Datums handle items, and work more similar to classes, while object instances represent item instances. This way, I can afford to do some more interesting things, such as an item that inherits all the functions of an /item/container class, the functions of a /item/weapon/sword class, and the functions of a /item/armor/shield class.

I think I'll make a post about pseudo-multi-inheritance next week, when I've got more work done on the system.

Posted by Ter13 on Friday, July 31, 2009 08:44PM - 1 comment / Members say: yea +1, nay -1

MMOs: Maybe Will was Wright...

I am what I would call a jack of all trades. It has been my distinct pleasure to have been born with an inquisitive, capable mind. I can learn anything, and I can learn it fast. I'm what most people call analytical. I however, am human, and quite prone to mistakes and flaws. One of these flaws is the short-sightedness of mortality and the limited perspective of a being that can live a short time, and be only one place at each instant.

I have been contemplating video game design these past few months, and have come to a realization that I cannot help but feel is a massive departure from my past way of thought.

Foomer was the first to show me that massively multiplayer online gameplay was perhaps best left undone. I thought he was a fool, at first. But now, I see that my thoughts in the past were made at the height of my ignorance.

Will Wright, the designer of Spore, and founder of Maxis, may have failed miserably to create a truly groundbreaking, unique digital simulation, but he did succeed in opening the door to further development. He had all the resources to make Spore a multiplayer game, but decided it was better to limit players' interactions to mere content-sharing.

Why? Why in the age of the internet make a game that hardly includes other players in your own experience?

I first present to you Will Wright's own idea. First and foremost, in a single player game, you are free to shape the world as you see fit, and you can play the hero without fear of another player ruining your enjoyment, or you ruining theirs.

There is a lot of thought put in this simple analysis. In an online game, players must either compete or cooperate, but often times, at least, in the spirit of the internet, we find competition to be much more common than cooperation.

Why is this? I won't get too deep into my theories of human behavior, but I believe it lies deep in our psyche. I believe it has to do with our instinct of placing anything or anyone intangible, or out of our own perspective in a category other than ours. We are not immersed in the game fully, no matter how immersive it is, and as such, never truly associate ourselves with our other online counterparts. We tend to associate them with anonymity, and thus tend to distrust them.

Really, there are far more practical and logical reasons to avoid online game development. Online games are very limited as compared to single player games.

In online games, lots of data has to be streamed to multiple clients, and the more players the more this data increases, and the more resources you have to dedicate to just informing the clients of the world around them. This limits the flexibility of this world severely, and makes for a generally more streamlined, simplistic game.

With a single player game, much more detail and layering can be added to graphics, gameplay, and environment.

However, the experience can be quite lonely for players who crave companionship.

Perhaps the real answer is to limit the online experience to just a few players. Perhaps four to eight players on any given player-server would be best for both parties.

Then again, game design isn't about entertaining everyone, it's about entertaining yourself, and hopefully finding a niche that is also quite entertained with your work.

Posted by Ter13 on Sunday, February 22, 2009 01:26PM - 5 comments / Members say: yea +4, nay -1

Will Wright's Spore

Gameplay9/10
Presentation10/10
Originality10/10
Overall10/10
On the eve of what will henceforth be known as International Spore Appreciation Day, I have decided to write a fair review of the game. Most of you will say: "But Ter! It's not even out yet, how can you review a game that you haven't played?", and I will respond: I downloaded it five days before release, which was four days after I had purchased the game from EA, and had it fully pre-loaded.

Most of you have at least heard of Spore and it's three year hype.

This game is the brainchild of Will Wright, the genius behind Sim City, the Sims, and pretty much everything starting with the word "Sim".

The sheer scope of the game is impressive in it's own right, and most would call anyone with the goal of creating this game a madman.

You start off as a single-celled organism, eating to survive. You start off with two options, carnivorous, or herbivorous. You then are presented with an innumerable amount of choices which lead you through an epic journey to survive, cooperate, and eventually establish a galactic empire.

The game is a single player game, but often called a "massively single player" game. Everything you create can be sent to the "multiverse", and downloaded by other players in real time. These downloads occur automatically as you play the game, and can be tailored to suit your likes and dislikes. If you like a creature, more will be selected that are similar to that creature to populate your universe.

The really amazing part of this game, is the focus on creativity. At every step you can tweak your creature, clothing, vehicles and buildings, and eventually an interstellar spacecraft. You can even terraform planets using both atmospheric tools and sculpting tools.

The editors are easy to use, and can be learned in minutes. They are moderately flexible, allowing you to use pre-built parts like Legos to construct any number of unique structures, creatures, and vehicles. I have taught my friends, and even my wife to use the editor by simply telling them to "drag and drop".

The amazing creativity of the community is something to be marveled at as well. Already, the day before release, there are five million creations on the Sporepedia. There are one million registered users, and over a million creations uploaded just today. This kind of usage will guarantee a unique experience every time you pick up the game.

The gameplay is simple, controls are usually point, click and drag, and the game itself is learned easily after just a few minutes in each phase. It is still complex enough to remain fresh for any length of time.

The graphics are very well done, and your scenery is literally what you make of it, or rather, what you make. A planet can be barren, ugly, and terrifying, or it can be lush, alive, and growing.

The music leaves a little to be desired, but can be tailored to your liking, but is pretty much just ambiance to keep you from losing your mind as you waste countless days of your life devouring those less adapted then yourself.

The sound is rather well done too, but some of the alien voices can be extremely agitating. I have crushed probably twenty or more peaceful galactic empires merely because they had high-pitched, nerve-smashing voices.


Now, let's talk about where this game fails. I have found a few points here.

The bodyparts you unlock throughout the game do not transfer if you start another game. Meaning, you have to spend a lot of time looking for specific bodyparts if you are quite as particular as I am.

In the Tribal and Civilization phases, there is an extremely limited number of structures, weapons, tools, and strategies you can employ. However, due to the size of the overall game, it would be ludicrous to expect anything more.

In the Space phase, there several notable issues. The first is the Grox. The Grox are a massive intergalactic empire hell-bent on the domination of the Galaxy. They are powerful, numerous, and violent. I dislike the pre-determined empire in an otherwise random and chaotic game. I dislike the fact that they are so large they are nigh indestructible. But most of all, I dislike the fact that they attack my planets with dozens of ships, and I only get one ship.

There is one more problem as well, and this one almost kills the space stage for me. The spaceage currency is most often gained from gathering spice (think Frank Herbert's Dune), which is harvested on most planets, and comes in many varieties. It's value fluctuates from planet to planet, there is no way of telling what a planet will offer for the spice without orbiting their planet. This means you have to manually pick up the spice from your planets, then fly around the galaxy looking for a good price for each colour you gather. This screams for an automated system. It really slows down the almost seamless gameplay.

Now, don't get me wrong, the game overall is great, and I'm certain that all of my complaints will be fixed or expounded upon by EA's no doubt upcoming expansions for Spore (Look at the Sims for my reasoning), but Will Wright really had it on the mark with the "completely procedural galaxy" he envisioned. Adding anything predetermined just seems to violate what makes Spore so attractive to minds like myself.


The bottom line is that if you are a creative player that likes to set their own goal instead of having a game tell you what to do, likes lots of choices, and a wide-open, immersive gameworld, you'll love Spore. Nothing beats the satisfaction of raising an Empire from a single-celled organism.

Also, the first time you use a planet-buster on an enemy planet, you'll thank me for telling you about how great it really is.

Posted by Ter13 on Saturday, September 06, 2008 05:46PM - 6 comments / Members say: yea +0, nay -1

Blizzard profiling? No way!

So, I was recently sent an e-mail by the Blizzard administration team informing me that I was banned from world of warcraft.

Let me give you an exact quote:

"This is a notification regarding the World of Warcraft account TER13. Access to this account has been permanently disable for exploitation of the World of Warcraft economy or for being associated to accounts which have been closed for intended exploitation.

...

Regards,

Nalost
Account Administration
Blizzard Entertationment"


So here are the factors behind this ban.

I recently reactivated my account and started playing on Ysera, starting a Blood Elf Warlock, who had gotten to level 41. I decided to farm some gold, by dumping about 75 auctions (mostly bronze, cloth, and enchanting ingredients) on the auction house. I made about 300 gold this way in about a day.

Now, this all would be acceptable for most players.

Unfortunately for me, I'm a member of the United States Air Force that happens to be stationed in South Korea.

Now, apparently Blizzard saw the 300G income in under 24 hours, saw the IP being from South Korea, and instantly assumed I'm a gold farmer. Without warning, or reason (I had never sent large sums of money to random people), my account was banned.

It's been three days, and Blizzard has not responded to my inquiries. No account services representative I've contacted has at all been helpful, and a holiday weekend is about to happen, meaning I'm going to have four days with nothing to do, and I'm going to miss out on a lot of action in my guild.


This is blatant profiling and is a big, big problem for Blizzard Entertainment. If they are publicly thought to be prejudiced to any players residing outside of the continental United States, Canada, and Britain, it could really look badly upon them.

After all, I was told I had broken the Terms of Service, and after looking into them, I had not. I made a bunch of money, and had kept it to myself. I don't understand how that means exploiting the economy. I merely managed to NOT be retarded at making money at a low level, and have been banned for having more than a few pennies in the bank.

Thanks Blizzard! And by the way, thanks Nalost (The GM who banned me without a proper investigation!). Good job kicking Military members out of your game, because we are all obviously smelly foreigners intent on ruining everyone else's experience!

Posted by Ter13 on Friday, August 29, 2008 05:27AM - 12 comments / Members say: yea +1, nay -1

I've been making techno today!

I uploaded a youtube video with my first ever attempt at making music. It's similar to Happy Hardcore, but I'm not sure what genre it falls into.



I made it using FL Studio 8 demo, and a few instrument samples I was given by a friend online. I wrote every single note of the song by hand, and I had a LOT of fun doing it.

It's still incomplete, but, not to toot my own horn, I think it's great for my first try. And with some practice, I can make something even better! ^_^ (Work progresses on the Roguelike, fear not, my distraction is momentary!)

Posted by Ter13 on Saturday, May 10, 2008 10:32PM - 3 comments / Members say: yea +0, nay -1

 

 

My hosted files

(102.8 KB)

My Fans

Blog Calendar

July 2009
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
 
«Feb