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

Monday, August 15, 2011

LameR beta 0.9 release

Summary:
LameR is a GUI for utilizing the LAME encoder for quick and easy access. It is lightweight and portable (though it needs to be set up for shell extensions). It features the most basic settings you need to convert wave files to mp3 format.

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

Features:
Lightweight
Portable
Latest artist, title, and bit rate are saved in a config file for quick re-encodings.

Installation:
Having the LAME binaries is mandatory to use the LameR.

Place the LameR.exe in the same folder as the lame.exe. (not necessary if you downloaded the bundled version)
Execute LameR.exe and press install. This will setup the Shell extensions in the registry.



Usage:
Double-click a .wav file to open LameR.
Enter Artist and Title and press Encode.

Alternatively you can right-click the .wav file and choose Open with, and navigate to LameR.exe to open the program.






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


LameR.exe
LameR bundled (includes the LAME 3.98.4 binaries and is ready to go)

Thursday, August 4, 2011

Decisions

I just guess that's how life works.
You work on something, you enjoy it, you're looking forward to it.
Then you get distracted, you loose your focus and you get annoyed by it.

In my case it was a shift in priorities. I had to focus on earning money to pay the month's rent, and i resumed to play Minecraft which was a horrible time-waste in itself.

So yeah, now i am stuck with thoughts about what my next step would be. Working on the existing prototype, with no clear goal, or rather thinking up some concrete, fast-to-realize Projects, or even doing something entirely different.

Developing a game is a long journey and no matter how easy it seems in your mind, there will always be some hurdles you haven't anticipated, be it of algorithmical, logical or conceptual origin, or even interventions from the outside. And it doesn't help if you are good at distracting yourself with forms of entertainment, be it games, TV shows, and virtually anything that momentarily seems like a better alternative than being stuck on that one problem that just appeared.

While pondering what to write, and with the hope to come up with a solution to my uncertainty, i went through my different ideas and concepts and thought about how much time and man-power each would take, and how complex the realization would be.

What i think seems most realistic in terms of the most soon'ish implementation is a space shmup. Yeah we have a bunch of those already, i know. But there are people who enjoy those, and are looking forward to more and different kinds of them.
Furthermore it is easy, fast and straightforward to prototype and i can play with a lot of different shader effects. I reckon there is not much to be done in terms of research for technical or logical problems.

I still need to think it through, and sleep over it, talk to people and stuff, but i think that is the best bet i can come up with currently.