Sunday, December 18, 2011

Minecraft: Compact cobble generator using RedPower 2

Now that Eloraam has released RedPower 2.0pr4 I've generated a new world in Minecraft 1.0.0 and have been starting to build things.

One of the basic devices that I build early on is a cobblestone generator, to ensure that there's plenty of cobblestone at hand.

Back in 1.8.1 with RedPower 2.0pr3 I'd come up with a vertically-oriented design for a cobble generator on a small footprint and minimal use of parts. The Redstone Tubes added in RedPower 2.0pr4 make the design cleaner and use even fewer parts, since Redstone Tubes carry the redstone signal to the block breakers.

Side view (click to enlarge)

Top view (click to enlarge)

 YouTube video of the cobble generator

Each vertical layer uses two lava and four block breakers, producing four cobble. As is typical for me, I went overboard and opted for four layers, so the cobble generator produces 16 cobble per two second tick.

Here's the layout of each vertical layer of the cobble generator:


The Bill of Materials for each layer:

  • 2 Lava
  • 2 Redstone Tube
  • 4 Block Breaker
  • 8 Glass Covers (for the sides of the lava and cobble)

Additional materials required to complete the cobble generator:

  • Timer (set to default two second interval)
  • Lever
  • Various bits of wiring and tubing
  • Chest(s) to store output

    Just a single water source block is used for the entire generator. Note the water has a 1 block horizontal run before the vertical drops; this is critical to prevent the water from flowing horizontally inside the generator and turning the lava into obsidian. The water columns extend 1 block into the floor below the bottom level of the generator.

    Each layer requires lava source blocks in order for it to flow horizontally and create the cobble. A more compact version could be built with lava source blocks above the cobble columns, but the vertical flow of lava is so slow that the generator couldn't operate on the two second cycle, so output speed would be reduced. This might be something to try in the Nether, since lava flows faster there, I think.

    Each layer generates 4 cobble every 2 seconds, which works out to 120 cobble per minute per layer. This 4 layer generator produces 480 cobble per minute, which is 7.5 stacks.

    An alternate layout is possible using half as much lava in a central column:


    This can be used if lava is at a premium at the expense of a wider footprint and the use of more redstone tubes.

    Update 11 Mar 2012: Ouroborus's comment about tilings is accurate. Here are some tilings I've worked out:

    Cobble generator tilings (click to enlarge).

    I've built the first two designs in the first column—the ones with 4 and 12 block breakers per layer. I don't think I'll go any larger; the 12-breaker design was built with six layers and it's a beast:

    Six layer cobble generator puts 72 block breakers in a 7x7 footprint (click to enlarge).

    It belches out cobble at an incredible rate. However, due to the changes in Equivalent Exchange 2 the amount of EMC is underwhelming.

    This will change once Eloraam releases the Pulverizer for RedPower 2. Using Pulverizers to grind the cobble into gravel will quadruple its EMC value.

    Sunday, December 11, 2011

    Mojang speaks with authority about a mod API, but many questions still unanswered

    Last week Gamasutra published Persson Hands Minecraft Lead To Jens Bergensten, 'Confident' About Move which contains the following:

    Bergensten's next step is to work on the mod API for Minecraft, a feature that players have been yearning for.

    "Until January I will be the only developer on
    Minecraft, so things will have to be slow initially. But my absolute main priority now is to create a mod API, because there is no way in hell I will be able to add as much content as the whole internet can do," he laughed.

    "The game needs an API, so end users can obtain the mods without hassle.... I'm not going to do it all by myself though. We have a new programmer beginning in January, and we are talking to existing mod API teams, such as Bukkit, Minecraft Forge, and Minecraft Coder Pack."

    As for an estimated release date for the API, the new
    Minecraft frontman suggested that we will see a release "no sooner than March." [my emphasis]

    Jens gets it. He gets that it's absolutely critical at this point for Mojang to shift focus from Minecraft the game to Minecraft the platform.

    Because outside of a cultlike reverence for Notch by some Minecraft players, there's nothing tying people to the game, and a significant percentage of the user base will jump ship the moment a viable alternative arrives. Particularly if the successor offers advantages by being technically superior, or is easy to mod, or free, or some combination of the three.

    And alternatives are coming, but that's for another post.

    Reinforcing the technical base of the Minecraft platform will ensure its continuing vitality with users and modders and buttress it against forthcoming competition.

    Additional details became available as a result of a subsequent interview with Jens:

    MFM: You said in another interview you were going to work on the Mod API. I know it’s early to ask for specific details, but a lot of people are wondering do you plan on doing this through a web interface, or directly from Minecraft or the launcher?

    Jeb: My plan is that you are going to find and install mods from ingame in the main menu.

    MFM: How do you plan to handle it for the modders? Does the old plan of making the latest source code always available still apply?

    Jeb: No, we will only release an api that you build your mods upon.

    MFM: Are you going to work on the Mod API exclusively, or alongside developing new features for the coming updates?

    Jeb: I’ll still add some new features, too. Currently I’m looking for a mod api team that can help me out with the modding stuff.

    Will Jens announce the membership of this mod API team helping him? He specifically listed Bukkit, Minecraft Forge, and Minecraft Coder Pack, but did he also talk to the Modloader/ModloaderMP and Spout teams? And there may be additional players interested in the direction of the mod API who'd like to talk to him or be included on the team.

    Changing a mod to use the new mod API may involve a fair amount of work. One can speculate that a certain amount of lobbying must be going on behind the scenes from proponents of the various APIs. If two APIs offer similar hooks implemented in different ways, modders using the technique which is selected for inclusion into the official API won't be required to make changes that are as extensive as those who use the API which implemented the techniques that were passed over.

    Some of the lobbying is overt. I recall seeing on Minecraft Forum a number of messages from a member of the Spout community; the messages addressed Eloraam and touted the advantages of Spout along with exhortations to switch RedPower 2 to Spout instead of using Forge. (I can no longer find these messages; either they've been deleted, Minecraft Forum's search function is flaky, or Google's indexing of Forum messages is incomplete.)

    With the prospect of a new modding system, there are many questions which arise. A sampling:

    • Will the arrival of an official mod API, will Mojang withdraw permission for mods to directly modify Minecraft using decompiling/deobfuscation techniques?
    • What will become of MCP? Will the community still perceive that there is value in the work needed to support it?
    • If a modder needs a hook that hasn't been implemented in the API, will there be a way to request that it be added?
    • Since the new mod system will likely result in more mods being used simultaneously, the demand for the limited number of block IDs will increase.  Will a Block ID-conserving practice such as specifying block types as Block ID/Tile Entity pairs become standard? Will Minecraft itself be modified to use such techniques to reduce the enormous number of Block IDs that it currently consumes?
    • Will there be an option to disable particular installed mods? Currently sophisticated users are able to change their mod configurations to allow different mod combinations on a per-map basis.
    • Will mod combinations/block ID assignments be stored for each map? This would support the easy exchange of maps requiring particular combinations of mods.
    • If mods will be downloaded and installed from the main menu of Minecraft, where will they be hosted? Is Mojang going to offer to host the download files for mods?
    • Many modders rely on and other sites to receive a small amount of revenue when the link is clicked to download a mod. What will happen to this revenue stream?
    • To date, while amassing millions from Minecraft, Mojang has done nothing to share its windfall with the mod community that helped propel the game to success. Will Mojang implement a "mod store" to allow modders to recoup their sometimes considerable time investments?
      I'm sure that many modders will be paying close attention to the answers of these questions as they emerge.

        Sunday, December 4, 2011

        Luke Plunkett's great Minecraft review on Kotaku

        I highly recommend Luke Plunkett's Minecraft: The Kotaku Review. He does a great job of capturing the essence of the game and how it rises above its shortcomings.

        I take issue with just a couple of points.

        The first is that I think he's overly negative about solo play. I play solo almost exclusively and don't seem to have the issues he does. Of course, I'm now using mods to eliminate some of the tedium. And I basically ignore the Nether and End dimensions.

        Then he says:

        Tell me that any other game needs such extra-curricular dedication and I'll tell you it's a game not worth playing, but there's just something disarming about the way Minecraft does it that makes it all OK.

        I certainly agree that games should be more self-sufficient when it comes to information, but has he forgotten MMOs such as World of Warcraft? You'll waste much time and play poorly if you don't refer to external sources of information while playing WoW. But maybe he doesn't like WoW, for this reason. It's unclear.

        Plunkett really nails it in his penultimate paragraph:

        It does something that's very important to a lot of people, so important that they're willing to put up with its flaws and quirks. And that something is allow freedom. Expression. Creativity. Minecraft gives you the means to truly play a game, to bend it to your whims, and not just press buttons to advance someone else's story. [my emphasis]

        You make the story. No cutscenes. No voice from Headquarters in your ear explaining your mission. Just complete freedom.

        Overall a terrific review of Minecraft by Luke Plunkett, check it out.

        A statement on Minecraft mods copying features from each other

        [Update: See also Notch doesn't really mind direct ripoffs of Minecraft and Jeb's statement at Minecon 2012, Mojang addresses copying and Minecraft modder conduct.]

        In No One Cares About Your Cool Game Idea, Mike Birkhead, Senior Game Designer at Vigil Games, said:

        Ideas are worthless. The only currency that holds any weight is the ability and drive to execute. That awesome game idea you have, the one that’s going to “change everything”, the one that you’re going to sell for a million dollars, the one that no one has come up with yet… frankly, no one gives a shit. Harsh, but then, the truth is not pleasant; it is just that, the truth. [my emphasis]

        Copying ideas and features is okay. (Copying code or textures is not, unless it is open source and the copying is compliant with the license.)

        Notch himself copied the idea of the final boss fight. Years ago, before many Minecraft players were born, someone named Scorpia used to write a column for the magazine Computer Gaming World. So many games ended with a final boss fight that she coined the name Foozle as a generic one for a final boss. Since we hadn't expected it, many of us were surprised when Notch chose to make Minecraft a Kill-the-Foozle game.

        The game industry has been copying itself for years! The software industry, too. Have you ever used a spreadsheet? I bet it wasn't Dan Bricklin's VisiCalc.

        Many of the cases so far of mods implementing each other's features are the result of parallel development, not copying.

        We've been in the early, "wild west" phase of mod development, where it was frequently possible to write the first mod to implement a particular feature. As the Minecraft mod scene matures and it becomes harder to achieve a "first", we will increasingly see mods incorporating each other's features.

        In cases where parallel development isn't involved, when implementing a feature from another mod the polite modder will acknowledge the mod that served as inspiration.

        But above all, no modder should criticize another modder for copying, or imply a lack of creativity. Copying is merely a sign that the "wild west" phase of Minecraft modding is coming to a close. 

        [This post first appeared on the Minecraft Forum.]

        Friday, December 2, 2011

        Inducing motion sickness in your customers is not a good business model

        I saw mention of a juicy-looking rant, but when I got there the page had been taken down, so I stayed for a bit to check out the rest of the site.

        What I found was this:

        A New Zero by Cryptic Sea

        I've played thousands of hours of first and third person 3-D games without experiencing motion sickness, but I always turn head bob off.

        Watching even this short clip was distinctly unpleasant. The camera is bouncing around way too much for comfort. There was nothing subtle about the head movement.

        There's a reason why most FPS games act like stable gun platforms—they don't want to make a large percentage of their customers too ill to play.

        This Siggraph piece on simulator sickness has some very interesting information:

        20% to 40% of fighter pilots suffer from these symptoms when using simulators and the symptoms may last for several hours. It should be noted that fighter pilots are specially selected for resistance to motion sickness and are used to simulators. [my emphasis]

        Fighter pilots, wow!

        And there's this: motion systems, motion at 0.2 hz is particularly nauscogenic.

        I didn't time it, but it appeared that some of the modelled head oscillation wasn't far off from 0.2 hz.

        Finally, under recommendations for preventing sickness in virtual environments:

        don't move your head too much.

        Unless there's an option for a completely stable head, this developer's innovation will amount to suicide as the game will acquire a reputation for inducing motion sickness.

        I left a comment at the blog. Let's hope the developer switches to spending time implementing innovations that everyone can enjoy.