Code Monkey home page Code Monkey logo

minicraft's Introduction

Minicraft v1.0.2

ProgrammingJonathan Leahey
ArtJohn McDowell
MusicTom Quinn (T5)
InspirationMarkus Persson "Notch"

Inspiration

Minicraft was initially conceived as a demake of Minecraft for Game Jolt's Indie Game Demake Contest. Without Notch we would have never created this fun game! We overcame the difficulties of losing a dimension in various ways and we tried to stay true to Minecraft throughout. Enjoy our "8-bit" 2D version of the game!

What's Different

You can climb trees. Trees and planks make good ladders, almost as good as ladders themselves! This was neccessary so that you can get around the world in 2D.

Controls

w,a,s,dPlayer Movement
spaceJump / Climb / Swim
shiftWalk
mouse 1Break Block
mouse 2Build Block
number keys
mouse wheel
Change Selection
iOpen Inventory
+Zoom In
-Zoom Out
mMute/Unmute Sound
escSave and Quit
qToss Selected Item
fView FPS

How To Play

Watch your blue and red selectors. They show where you will build or break blocks, respectively.

Crafting is very similar to Minecraft: put items into the crafting table to craft them. Right-click on the crafting table to open it and your inventory. The crafting templates are the same for the items we chose to put in. Collect better matierals (wood → stone → iron → diamond) to create better tools.

Sample Recipes

Here are a few recipes to try. Pickaxes are the only tools which can break stone. Axes break wood tiles faster, and shovels break dirt, sand, and leaves very quickly.

planks (x4)

wood

crafting table

plankplank
plankplank

sticks (x4)

plank
plank

ladders (x4)

stickstick
stickstickstick
stickstick

wooden pickaxe

plankplankplank
stick
stick

Fun Things To Do

  • Collect Materials
  • Build a crafting table
  • Create tools
  • Go spelunking
  • Mine for minerals
  • Grow trees
  • Build a castle
  • Build an underwater cave
  • Build anything you can imagine!

Change Log

  • Version 1.0 (7/7/2010)
    • Initial Release
  • Version 1.0.1 (7/8/2010)
    • Exe launcher
    • Bug fixes (shovel template and inventory Updating)
  • Version 1.0.2 (7/9/2010)
    • Tool durability
    • Inventory Bug fix
    • Tools will no longer stack

Future Plans

  • Version 1.1 (we hope)
    • Day/Night ✓
    • Life ✓
    • Drowning ✓
    • Furnaces
    • Enemies
    • Chests
    • Infinite Levels
    • ...

Libraries

Each included in the lib directory

minicraft's People

Contributors

jleahey avatar perimosocordiae avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

minicraft's Issues

Toss objects toward the mouse

Right now, tossed objects are placed randomly somewhere near the player, on the side that the player is looking toward, with a small upward velocity.

I propose changing this behavior to instead give the object a velocity vector pointing towards the mouse, with a small random magnitude. The object would start roughly near the player's nose.

Allow placement of torches inside player's bounding box

When testing torches, I often found that it seemed like placing them wasn't working, only to realize that the placement would slightly conflict with the player's bounding box. We should either make the torch bounding box smaller, or designate it (and other "passable" items) as able to be placed inside the player's box.

Can I add this to my Minicraft compilation?

Because Minicraft was created ten years ago, it's pretty hard to find all of the versions. I've busted my butt in order to find the variations I have, and I'm just trying to get as many as I can to add here:
https://github.com/RandomGuyDTB/Minicraft-Ultimate
I'm sure to credit all of the authors in the Sources.txt, and I'm gonna add better ways to credit authors in a new update.
If you don't answer for a week then I'll take it as a "yes". You'll still be credited, however.

Make inventories per-LivingEntity, instead of global

Currently there can only be one Inventory, and it's essentially a global. (It lives in the Game class.) For the sake of sanity and future additions (like mobs or multiplayer), inventories should be members of living things.

Port to Android

This can hopefully be accomplished by writing a new android graphics/event handler class and by adding touch controls.

Add torches

We need an 8x8 graphic. A torch needs to become a block with a recipe, and the lighting engine will need to keep track of both sun values and torch values so it can be interpolated smoothly at night.

Add Lava

Also consider adding large tall/open caves. Generally, there needs to be a reason not to dig down other than losing a heart or two.

Stand on top of wood

Due to being able to climb trees, it's impossible to stand on top of a stack of logs without falling down.

Add Furnaces

This could work similarly to the crafting table, but with some additional calls in World.chunkUpdate() for the actual smithing.

Tile tinting

We need to be able to tint tiles for lighting, but our very simplistic java.awt.image, which is hardware accelerated, has no way to do this natively. We could render out different versions of all oft the images at load time, but there are better ways to do this which might carry over something to an Android implementation.

Current approach: Switch to OpenGL using jogl.
http://jogamp.org/jogl/www/

Life Stats

Add falling damage, drowning, and hearts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.