- Download this .zip file: OhNoLava
- Unzip the file
- Read the info on this page to learn how to play
- Double click on OhNoLava.jar
At its heart, OhNoLava is a sidescroller inspired by the popular sandbox game, Minecraft. The player controls an avatar of a "miner" and must scramble away from the advancing wall of lava. The pacing of this game is rather frantic because there exists a sense of an impending fiery doom. While hurling an assortment of projectiles, the player will encounter different subterranean materials and creatures obstructing the path of life. In the end, the player will lose too much health or be caught by the destructive lava wall, which makes this game one of maximizing survival time.
- Language: Java
- Project url: https://code.google.com/p/minegod-carldev/
- Most terrain textures are original Minecraft textures
The brainstorming process for this term's project was much faster than previous terms. We had all been itching to dev a sidescroller for awhile, and most of us were obsessing over Minecraft at the time (and still are). The result was a rough outline for OhNoLava. In fact, almost all of the current features in the game were conceived with at the same time as the inception of the game. From our past experience, it is safe to say that this is almost never the case. Many rules and features are changed/added because the initial features don't feel quite right. Once, we had coded the very basics of OhNoLava, it became apparent that the bare movement and shooting mechanics were fun, and adding the rest of the game could only add to the experience.
The game starts the player, a miner with a jetpack, in an open area with a wall of lava close behind. Instantly, the wall begins to scroll to the right, and the player must dig away from the lava to survive. As the player progresses towards the right, he or she will encounter many obstacles with are outlined below.
Dirt - This is the most common solid material, it is also the easiest to mine through. It doesn't obey gravity.
Stone - This commonly spawns in veins and it harder to mine through than dirt blocks.
Moss Stone - Sometimes, moss stone will drop a diamond. Moss stone only spawns in stone veins.
Bedrock - It is incredibly hard to mine through bedrock. Using a diamond shot will successfully cut through bedrock veins, however.
Sand - This is the only solid block that obeys gravity. If sand makes contact with the player while falling, the player will take a few hearts of damage. Also, sand can suffocate the player if it traps the player. Gunpowder may be found after sand blocks are destroyed.
Water - Water spawns in different shapes than the above-mentioned blocks. In addition to obeying gravity, water will also spread with somewhat-similar physics to those of Minecraft. The player's speed will be drastically slowed while in water, however no damage will be taken.
Lava - Lava will obey gravity and spread like water does--but at a slower rate. If the player makes contact with lava, the player will catch on fire for a short while and take damage. The player may douse the fire by touching a water block. Lava is the most deadly force in OhNoLava.
Bat - This is the only mob in the game. When the player if within a bat's viewing radius, the bat will fly at the player and deal damage if it comes in contact with the player. Bats cannot move through solid blocks, but they are affected by water and lava in the same ways the player is affected.
In OhNoLava, the player is equipped with suitable tools to negotiate the obstacles. These include three different projectiles. The first is the standard fast-firing, low-damage pickaxe. This has infinite use and is the main tool available to the player. If the player has any gunpowder in the inventory, the player will be able to shoot a stick of dynamite which has a high damage and blast radius, but a low fire rate. Furthermore, if the player has any diamonds in the inventory, the player may shoot a diamond energy ball which has a low fire rate, but an extremely high damage rate. This shot will cut through any solid block in the game making it useful for going through bedrock.
After observing some screenshots, you may notice that there is a prevalent row of water on the top of the level. While playtesting in the middle stages of development, it became apparent that OhNoLava had a dominant strategy of simply riding on the top of the level. The player could survive for a disgusting amount of time using this method, so we had to take that comfort away. By adding a layer of water, the top of the level becomes rather perilous because they player risks being slowed down and allowing the lava wall to catch up.
In the screenshot below, you can observe the encroaching lava wall on the left, flowing water, a bat, and several veins of sand, air, water, bedrock, and lava.
W, A, S, D - Move the player up, left, down, and right
Left Click - Shoots the selected projectile towards the mouse's pointer on the screen. This button may be held down for rapid shooting.
Space Bar - Switches the selected projectile if the player has enough resources in the inventory for the weapon.
A good goal with every coding project is to expand your skillz and try different techniques. We felt that OhNoLava needed some aesthetic flare that has been lacking in previous gamedev project, and particle effects were particularly alluring to us. They are capable of producing effects such as fire, smoke, and even explosions. The concept of a Particle Emitter is rather simple, actually. There are two parts to it: particles, and an emitter that creates particles. The particles are simple entities because they consist of a location, a speed, and a color. Particles behave according to set rules whenever they are updated. For example, a fire particle may travel upward and shrink in size. An emitter is simply a defined point or region from which particles are spewed. To read more about particle effects read these: Wikipedia, Everything About Particle Effects
In OhNoLava, two different particle effects are used and demonstrated in the pictures below.