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!



No comments:

Post a Comment