Thursday, November 24, 2011

Thoughts on Minecraft

I thought about writing an article about this for some time. Now some friends(@AstrorEnales) are building a game in that genre, and this is enough motivation for me to write down my take on this game, as this might help them with some design decisions.
Generally i think minecraft is a genius achievement. It's a great idea to have a sandbox world randomly created in what you can do whatever you want to do. Exploring, building, fighting, it all seems aaaawesome. Until you've done it all, at least once. Don't get me wrong, i still play it from time to time, and i still enjoy it. But i have a bunch of issues with it that makes me think of this game more like a broken product than a finally released game.
So lets start.

I always found the beginning of minecraft the most rewarding. Spawning with nothing but your hands. Farming the initial resources, mostly wood, to craft your first tools.

And this is where the trouble starts. The crafting system is nice. I really like drawing out the tools and objects you craft. But where do you learn the recipes? Obviously you'd head over to the wiki and check what's there. This is a major problem! We're only able to play the game to the fullest if we resort to outside resources? As if that isn't bad enough, you easily end up reading through the whole wiki, spoiling your gaming experience, because it's damn interesting to find out stuff, right? Nothing wrong with that, except you should find those info ingame, right where it belongs. I'm not saying implementing the wiki into minecraft is a good idea, but there needs to be an information interface of some kind to learn about the recipes you can craft.

So we built our first wooden shovel and pickaxe and built our shelter for the night. To get through the night we start digging a hole into the ground, our first mine shaft. This is were the next problem starts.

You're basically 5 minutes into the game, and already tier 1 (Wood) equipment is inferior to what is available to you now (Stone). Nowadays when starting a new game, i head for a tree, chop it down for a pickaxe, farm some stone and whoop, i'm in tier 2 within one minute of gaming. This makes wood tools virtually useless, apart from the initial 3 stones you need to get a pickaxe. Oh and what is that shimmering in the distance? Is that iron? Oh right, in the later updates you find iron in such an abundance and accessibility it's not even funny. Tier 3 within less than 5 minutes of gameplay? This would not be so bad if it was a game you would just play for an hour. But you're trapped in this for days or weeks. So after the initial 'whoo upgrade' phase it's basically no progress anymore, only sustaining your stock of iron and diamond. This really ruins a big part of the game for me and i was hoping the leveling system that was anounced for 1.8 would adress this issue, like requirements which must be met to be able to upgrade your equipment.

Farm 2 stacks of stone with a wooden pickaxe before unlocking the recipe for the stone pickaxe. At this stage you could easily implement the recipe info aswell. "Hey! You unlocked a Stone Pickaxe. Here, it's built like that, have fun!"  

We've been digging for some time and found a nice big cave. Theres Zombies, Skeletons, and ... BOOM. You very well know what i'm refering to.

One hit kill. Seriously. By a stealth unit that only makes a sounds if you virtually have no time to react, or hectically jump down a cliff or step into lava. Don't get me wrong, i like the idea of creepers. They are an interesting unit which is difficult to handle with, that's fine. What i'm not fine with is that it instantly kills you, spraying your items around, often into lava. Yes, you can build armor, and it pretty much seems required in the latest versions if you don't like to be one hit killed. Oh, why did we have custom skins again? Ah yes, to hide them under a set of armor, of course. This is really crucially important to me. You are able to design your own skins, and people do and love it. What use is it if you're required by the game to wear armor that obstructs anything but your face, making everyone look the same again. Although the need for armor does explain the amount of iron you are able to find lately. What about the other enemies? Zombies? Skeletons? No threat at all, if you have at least a wooden sword. You need around 12 hits with your fist, but only 2-3 with a wood sword? What kind of balancing is that. Why would you even upgrade to stone or iron, except for durability?
The ai is a joke. Zombies and creepers heading straight for your position. No pathing at all, eventhough a trivial a* should be working good enough on that kind of grid based terrain. Skeletons stop at a distance, shooting their arrows in your face, and don't feel too bothered if being beat up by a sword. You can basically mow through enemies if you're not reckless.
One thing that i found really thrilling were the cave spiders. The poison was not deadly but brought you down to half a heart. It was action, it was horror, it was what i was expecting from deep cave exploration. Then they changed them from being a threat to only being really annoying.  

Now you're several weeks into the game, built awesome monuments and intricate redstone circuits with your friends. So what is left to do? Oh, yes you can enchant your equipment or brew potions.

Dig faster, longer. Run faster, dive deeper! This is a good way to still increase your gaming experience. Decide on a task and prepare for it with enchantments and potions. But then you realize, you need levels to enchant equipment. Not only do you need to reach certain levels for certain enchantments, but you also lose all your levels depending on the level of the enchantment, and you are not even guaranteed a good enchantment. So what is left? Grinding? Just no! This feels to me like a cheap way of procrastinating game time. I agree that you'd need a high requirement of something to get an improved tool or weapon. This could aswell be worked out through experience and leveling. Better potions and enchantments over the amount of things you brewed or improved in total. Ton's of games did it that way, and it works! Don't tell me you did it different just for the sake of doing it different. We're spending loads of time in minecraft already, don't make us waste time by grinding monsters for eventually not getting the enchantments we're hoping for.

That said, i must say i still love minecraft for what it is and what it did for the indie dev community. There's obviously a ton of things that could be implemented to make it even more awesome, but i think these are important points that need to be adressed at some point. Enough rambling now!

Now, back to work on Into Beyond! (Now on Indiedb too! :D)

Monday, November 14, 2011

Into Beyond goes live on 8bitfunding.com


So, today Into Beyond (v. Aries) got approved and published on 8bitfunding.com. I'm really excited about this, as this will be either the rise or fall of this project. So far the news is being spread pretty slow. But with a preview like that, what can i expect.

I very well realize that the current project doesn't look too promising, or graphically appealing. I could change this, i could beautify it to some degree, but it would be a big amount of work for me, which needs to be redone by a decent artist at some point anyways. I don't have a definite art direction, so every assets i would come up with, regardless of how good they might look, would be for naught if they didn't fit the concept.

For that purpose i will for now keep it pretty much at placeholder graphics, and only make minor tweaks on them in the spare time.
To be honest, it bothers me. A lot. This game is fucking ugly currently, and i'd like it to have a visually pleasing design, but right now it can't be helped.

Instead, i will concentrate on what i can do, and what i know won't go to waste: gameplay. It is, after all, the most important aspect of a game.
So what you can expect in the next version (v. Betelgeuse) is improvements on the ships controls, mission objectives and content, like enemy types, weapons, inventory and a shop system.
The version is due at the December, 31st, same as the 8bit funding deadline.

The continued progression of Into Beyond after that is very heavily dependant on how well the funding turns out, so if you like to see a new shmup, with a classical touch but modern design, head over there, press the big yellow Fund button.

Feedback is very much appreciated and love is given to all of you <3

wzl

Tuesday, November 1, 2011

Into Beyond


I haven't been updating this blog in a while. Mainly because i was writing journal entries on the Ludum Dare page for progress. So if you're curious what happened the last month, you can head over there and see for yourself, or read this small recap:

The Ludum Dare October Challenge got me quite pumped about my project Into Beyond (formerly titled Space Hunter). I've been busy solving some technical challenges within the engine, and implementing new gameplay features to get a solid proof of concept up and running.

Here are the latest updates:





This is the latest gameplay video i uploaded, showing some basic gameplay. It is already out of date, but my current pc-situation won't allow me to record videos with fraps.


This is a more technical demonstration on how shaders can be edited and recompiled ingame, which is a big help when finetuning them.


So that's mostly what happened last month.
I will now keep updating this blog in favor of the Ludum Dare journal as the challenge is over.

Friday, October 7, 2011

Spacehunter - An introduction

So after cancelling the remake of the ludum dare 21 entry for several reasons, i go back to my previous decision on making a space game for the same reasons i mentioned in that post.

Okay, so what will it be? There's a ton of shmups out there, really good shmups.
For one, a lot of shmups are console games. There's only a handful of well made games for the pc, one of them is the recently released Jamestown. So i think there's still a market there.
Other than the business side, i think it's a good way to gradually progress on a game. Making step by step iterations. It is possible to leave a lot of things out, without having the game feel incomplete (because no one know what the final version will include!)

So what i have in mind is creating this episode wise (Code naming them alpha, beta, gamma...).
Episodes could also be seen as different versions, but i think version numbers wouldn't fit to it, so i am alienating the use of development states for that purpose.
Each episode will radically enhance the gameplay or game features, so it might feel like a whole new or rather bigger and better game with each iteration (although existing features are unlikely to get removed or changed that much).
I have not planned on the actual number of episodes it will include. That is partly due to the concept not being entirely finished at this point, but i think it will be somewhere around 5 to 8. The iterations for each version will be increasing. So for instance i try to get alpha ready for end of october, while beta may be only due by the end of the year. An elaborate feature list of the upcoming episode will be published at some point, so you know what you'll be waiting for.

To be able to work on it on a full-time scale, i need to introduce a prepurchase option, and get all of you chaps to get a copy! Why should you buy an unfished game, that might not even get finished, you ask?
Your concern is valid. Therefore the prepurchase will start at 1€, and will increase by another 1with each episode. You won't have to rebuy, once you invested though, you'll get updated just like that! That means, you can buy a cheap (shitty) game now, funding its development, or buy a good game later, but paying a price for it.
Additionally, if you have too much money on your hands, or are a very kind person, you can pay any price you want to further increase the chance that this projects will flourish sooner.
I will set up paypal somewhat later this month so it can begin with the release of alpha!




Stop blabbering about this boring stuff! What is it about?!




Ok, so what you see in the above video is an early prototype of alpha gameplay. In fact this is 3 days into production. So you control your ship in a side scrolling manner, but stages are not just left to right, but you can rather move freely in them. This makes it different from most shmups already, since it results in a nonlinear level design. This will change gameplay from Start Level -> Fight enemies -> Fight Boss -> Next Level to a more purposeful line of actions. Something along the line of Destroy Forcefield generator in the south, and the Flood Gates on the far east, which will drive the enemy off his Underground Base, so you can take him down. This is just a small example what might be possible. There will be different kinds of mission, to not get bored with the same thing repeating over and over again.

Additionally to this play style you will be able browse through the solar system to travel to different locations, or land on stations to resupply or receive contracts. I will be more elaborate on that some time later as this will likely be Beta content.

Also, this is currently inspired to be made for the Ludumdare October Challange, so check out the other games that are getting prepared :D


Regarding the title: Spacehunter sounds kind of not very cool. If you have a suggestion for a better title, you can leave a comment, or say hi, or give me all your money and your first born child.

Wednesday, September 7, 2011

Adventures with Triangulation

Oooh, blogger has a new interfa.... err getting distracted again.

So, as i mentioned i am currently working on The Collapse, or rather, i am kind of redesigning it. I was brainstorming with Lateman this weekend and he had a nice idea for a graphical design concept. But more on that in another post.

To be able to achieve what we had in mind i had to redesign the leveleditor from scratch. No more boxes, cubes, and spheres.
One technical hurdle was getting convex triangulation with holes to work. I was scrolling through a couple of papers earlier today, and i got a good glimpse of... well i wont be shitting you, i didn't get most of it. I currently don't care much about how it is solved technically, considering that it is quite a complex topic, so i further ventured through the internet looking for resources. Eventually i found this.

I am using the C# version by Erwin Perik, ironically the High performance version by Salvatore Previti, well the sample anyways, was pretty slow. We're talking about ~1 second for around 150vertices slow. Kind of curious since they both are derived from the same base code.

So what am i gonna do with it? I am feeding it a series of vectors in order to receive a generated surface i can texture.

Simply simple
So far so good. The problem is though, i dont have randomly scattered vertices like shown above.
What i am looking for is, after all, a concave polygon with holes. So when feeding it with proper data, it was more looking like this:

Oh, why you be so convex :(

Just then i was remembering a rule to determine if a point is within an arbitrary shape or not, which is: draw a line from a point you chose to a point anywhere within the shape, and make an intersectiontest with every bordering line segment. Is the amount of intersections even, the point is inside the shape. Is it odd, it lies outside.
So what i can do now is simply define an anchor point within the shape, calculate the center of each triangle, and do intersection tests with the border segments, check the amount of intersections and voila:

Concave, with holes, not all that complex after all

So i guess this is kind of cheating, but it works, and quite fast too. I worried that it might take a week to get it working correctly, but thanks to the internets it just took a couple of hours \o/


If you have questions, let me know below



Monday, August 22, 2011

The Collapse - A Ludum Dare Entry

I was participating at the Ludum Dare Game Compo this weekend.
I started on a basic prototype idea on Saturday afternoon, pondering about a concept. After a few lines of code i had a random generated maze out of differently sized cubes, and some enemy entities with a basic homing ai.

Very unspectacular
I kinda liked the physics based movent around the obstacles, but getting decently playable levels out of random generation is quite the effort, and i wasn't sure of success. So my decision was to develop an editor that is capable of designing custom levels.
While i was at it, ideas kept flowing in: different types of geometry properties like bouncyness or stickyness, moving platforms, and some more i didn't want to consider at that point. It is only an 48 hours compo after all.

So i started on the basics, having the ability to move and scale cubes to form a level, and advanced on editing features like rescaling or translating specific objects to not start over on a misplaced object.
Most of the work went into the editor, as the gameplay features were pretty simple and quick to implement.



In the end i am fairly satisfied with the result. I was able to implement all the features i planned for it, got a catchy tune, some ok'ish sound effects, and the graphic effects (apart some minor issues).

However there seem to be a few bugs in the engine, as i received some messages that it won't work, or crash on startup. I need to look into that.

Anyways, heres the gameplay video of the submitted version



While developing this i came to like the concept pretty much and i have a couple of ideas that can be implemented to have a more versatile gameplay; depending on the feedback i will consider making a full game out of it.

So yeah, thats all for now. If you  have questions, or if something doesn't work, please let me know in the comments or on twittor.

Download:
You can download the Ludum Dare release here.

I made a small fix that might cause a crash on startup depending on your systems localization. Also improving the Physics/game update, resulting in a better gameplay performance, and fixing the issue about not loading levels for some, also showing the goal model. I strongly suggest you download it instead the official ludum dare release!
Download the fixed version from Dropbox.

You need the .net 4.0 framework or better to run this.

Wednesday, August 17, 2011

Lullaby beta 0.9 release

Summary:
Lullaby is a portable minimalist lightweight (buzzword alert) Shutdown and Alarm timer for Windows.



It is pretty much feature complete and working, but only tested on my own machine. So if you encounter any problems, please let me know in the comments.

Features:
Alarm
Shutdown
Reboot
Hibernate
Sleep

Installation:
Not required. Extract into a folder and go!


Usage:
Select your time by typing in the respective boundaries (Hours:Minutes:Seconds), or hold the mousebutton down in either and drag up and down. Select your action from the drop down menu and press start.
 
You can replace the Alarm.wav file with a wave file of your choice, but don't rename or remove it, as it might crash Lullaby.


Download:
You must have the Microsoft .net Framework 2.0 or greater installed to use Lullaby.


Lullaby.exe