Wednesday, November 27, 2013

Adrift: The Game

    What follows is the unofficial description of the game called Adrift:
This game is scripted (both by programming and story line) by Nathaniel Weissinger, and it is a 2D platformer (with, hopefully, 3D cutscenes). Everything that is described will be my dream of a full, immersive game filled with everything I had planned initially for it. Quite a lot of the elements described will not be in the official release (if it ever gets that far).

Gameplay:
    The interesting thing about the gameplay is that it doesn't need a story line to be addicting to play. I would know- I created 4 weapons, and one type of enemy copied multiple times in random places on a random map. And it is amazing. 60 FPS, runs like a dream, and it just makes me feel happy. Anyways, back to the point. This game was meant to be a mix between Terraria/Minecraft blocks, Skyrim/Doctor Who depth (story line-wise), and a completely unique gameplay structure built around shooting, minor puzzle solving (like quick, landscape-made puzzles, similar to Sonic or Mario), and ultimate destruction. And I should mention, there will be HUNDREDS of weapons in the game. I have 4 mostly completed- fireballs, a machine gun, a water gun, and a laser.

    Let's get to the ultimate destruction portion of it. As the character progresses through the game, he'll gain new weapons. I have them classified into 6 categories: Guns, Bow/Arrows, Staffs, Wands, Swords, and Specialist Weapons. Two of each are paired into higher heirarchies: Gun/Bow is Ranged, Staff/Wand is Magic, and Sword/Specialist is Physical (mostly). Some Specialist weapons are Ranged. Specific weapons can have the ability to be infused with magic, such as (my favorite example), a Chain Whip. This is a Specialist weapon, and it can be infused with, let's just say, Pure Energy. This will cause explosions every single time it contacts an enemy.

    Oh, and by the way, I have 15 types of magic. Yeah. It's pretty awesome. 4 of them could technically not be counted, and one of them is a magical power that you get regardless of whether you even use a staff/wand. Here's the list (not in any conspicuous order):

Fire- Normal fire, burning effects, fireballs, etc, can burn trees and enemies

Plasma- Heat-seeking, super hot, goes through multiple enemies

Pure Energy- Light-based explosion attacks

Lightning- Electric pulses which paralyzes enemies, kill them, cause super combos, and has a very wide range.

Shadow- Portals, black holes, anti-energy, dissolving properties, shadows, disappearances, can be used to get to hard-to-reach places

Water- normal water, suffocation effects, waves, etc.

Ice- raining ice shards, icicle blades, freezing pools of water to become walkable

Earth- allows fast movement across the ground, creates ledges to reach hard-to-reach places, controls plants, trees, dirt, rocks, lava, and similar substances, rock walls, floating rock attacks, all both defensive and offensive

Wind- tornadoes, hurricanes, blows enemies away, gives greater jumping abilities/flying abilities to the character, greater agility, slicing tornado-spinning attacks, etc.

Crystaline- defensive, few offensive moves, very hard, powerful, can be molded into any shape

Spirit- summon the spirits the character defeats through the course of the game, using the runes

Soul- summon mystical creatures, such as dragons, unicorns, large snakes, the armies of the undead, such as zombies, skeletons, undead creatures, etc.

Psychic- Tactical usage to use the Force, choke enemies, force them out of the way, or click on enemies to line enemies up, and use something else, such as plasma, to kill 5 enemies at once.

Sonic- Almost a default power. Double tap the movement keys to cause a sonic boom, running very fast

Chaos-  Life force energy. Limited amount- can be used for teleportation, time stopping, and creating super combos at incredible speeds.

   So, there you have it. No more questions about magic. Now onto staffs and wands. Basically, staffs are a lot cooler, since they make you look like a boss. But besides that, they fire magic slower, but more powerfully. As you would expect, wands shoot magic faster, but weaker. There. Done.

    Specialist weapons are my favorite, because if you have a Chain Whip, and you are jumping and doing a somersault, the chain flies around you in a circle. It will be awesome, if I learn how to make it happen. Other weapons include throwing knives, ball and chain, and... yeah... a lot cooler stuff that I don't want to spoil.

    Swords. I looked up every single type of classified sword on the Internet, so if you think I don't have a sword, I bet I do.

    Guns- I really need more for this. It's really hard to get general classifications of certain guns, because I could be accidentally copying off of Star Wars for all I know. Or Call of Duty. Or Medal of Honor. Or Battlefield. I really don't know, so I haven't touched this area much.

    Bow/Arrows, I've just made general classifications of size, wood, and types. Crossbows are included. I haven't done too much in this area either.

    More updates will come- I really want to talk about the story. It's really amazing. I talked to many of my Doctor Who-loving friends about how to create the best story line possible for a game slightly revolving around time travel. That's all I'm saying for this update, but stay tuned in for more updates within the month, and you'll be truly amazed at what has been going on inside my head for the past year. It's SOOOO COOOL. Seriously. Next update, I'll definitely talk about it. Thanks for reading, you awesome person! Make sure you comment about any improvements I should make! This will be a real game!

Friday, November 8, 2013

Adrift

Heyooo peoples! I guess it's time to talk about my unfinished project- my video game I have been creating for the past two years. I'm creating this game using pure Java; nothing but text and images. From the picture below, you're probably thinking, "That looks wonderful for a prototype! You did a great job!" or something like that. But in actuality, the only thing I created art-wise was that black-and-white character, that blue box half filled with green next to the character, and that fireball. Everything else was made by a good friend of mine, Jared Newman. I could show you my previous prototype, back when it was the... I think 8th re-write... Basically I had a plain blue background with a black outline. The terrain was also blue boxes with black outlines, and the enemies... were pathetic.

This update below is the 18th re-write... I think... and I'm starting on my 19th. "But WHY, Nathaniel? Why would you re-write your code again? It looks fine!" Actually, it's not about looks, but about gameplay. What I want to do is make my game so I can press a button and it can go from full-screen mode to a windowed screen. Unfortunately, my interface is set up in such a way that I can't do that, so I have to alter a lot of my base coding. Which takes too long to bear. I'm taking a break on this project because of schoolwork, homework, extracirriculars, and life, all of which gets in the way of my extremely nerdy programming life.

Anyways, if you want to know syntactically why my game isn't working, read the 2 paragraphs below. If you don't know Java, you could read it anyways and try to make sense of my terminology.

So, basically, the class that I wanted to place my game into is called a JFrame. It's just like anything used in the Windows operating system. When you open a folder, that window that pops up is set up with a JFrame. What I have for my game is a Window, which is a JFrame, but without the minimize button, maximizing, exit button, or the ability to be moved around or resized. All it does is display the graphical interface in the exact position in which I set it to, and in this case, it's set to get any individual computer' screen width and height.

Continuing on with the problem, apparently I can't just have a Window be placed within a JFrame. How Java works is you can place objects within a JFrame, as long as it isn't a superclass. And guess what a Window object is? You guessed it: a superclass. I can't place a thing JFrame is copying within itself- it just doesn't work. The way I get the graphics displayed onto the screen is very specific to the Window object, so I can't just copy code to make it work in with a JFrame. I have to re-write it. Just to get a stupid feature that's very necessary for my game to function the way I want it to. What a pain...

So, that's my shpiel. If you just skipped to this part, instead of reading the previous paragraphs, I'll summarize it: Simple feature doesn't work, but to make it work takes a lot of time and effort. Which I don't have. So, I'm not working on it now. Anyways, I'll have another update soon, describing all the things going into my game, and how super epicly awesome and amazing it's going to be! I'll give you a few words that describe it:

Time Travel!
ALL The Weapons!
Lots of people dying!
Maaaaaagic!
Epic story line!
Abundant lore and exploration!
Randomly generated maps!
And it all begins with you!

I put a TON of thought into making this game. I want it to be super fun to play. So I made it that way. Whenever I start up this prototype and start playing it, it puts a large smile on my face. The main reason why, is because I have 4 weapons that work almost completely perfectly: a gun, a water gun, a staff shooting fireballs, and a laser! The enemies don't even move or have AI, but they have a working animation loop. When you move around the mouse, the screen moves with the mouse. And the best part?

60 FPS.
Yeah.
It's beautiful.

Unfortunately, it only runs at 60 frames per second on my computer. Slower computers run it at an average 20 fps. So sad. I'm working on it. Actually, I'm not. But I'll talk about it more next update. Comment what you think, no matter if you're reading this a few seconds from when I publish this, or in ten years from when I published this update!Thanks for reading, you awesome person!