Showing posts with label ludum dare. Show all posts
Showing posts with label ludum dare. Show all posts

Tuesday, April 24, 2012

Unterholz



Unterholz is a particle based sandbox similar to the Powder Game. It uses Cellular Automata to calculate the water simulation and grow plants.
This game is built for LudumDare's 23. game development competition in around 12 hours.



The basic idea was to be able to influence the development of the environment through elements like wind and rain, and other influences like the sun, or its absence. The current functionality is limited to rain falling down and settling in lakes. Surrounding soil will consume water to become damp and have a chance of spawning a plant.


Eventually all environmental behaviors should only be minorly influenceable, like clouds forming automatically with the given circumstances, so it becomes more of a simulation than a sandbox.


Implementation

The current implemention is bruteforcing each particle to update each tick, uploading the image data for every single pixel. This is terribly inefficient and the simulation hits it's limit quite fast. Several adjustments need to be made for this to become stable and performant.

1. A major change should be a decently partitioned grid with Awake(regular updates), Idle(unreliable/irregular/occasional updates), and Sleep(no updates) states. Each state has a different update priority, so water that is settled once goes into Sleep, and will only be reevaluated if a neighbouring Cell's state is changed.

2. The image data needs to be stored in a buffer that is updated and changed throughout the update phase and just once uploaded. Several texture maps should be used for terrain, water, lifeforms (plants/critters).

3. For the sun to do it's magic i need to think of a way to calculate the lightmaps for the daycycle in a cheap but accurate fashion, so caves stay dark and cold while the surface might dry up.

4. Flow maps for heat and wind for generating cloud formations to make it rain and storm.

Pictured: Activity

Grow it big

More plants can be added with certain environmental prerequesites for them to grow, depending on the amount of light and space they have. Plants can range from algae to flowers to trees. The difficulty is making them appear distinct when only having pixels to work with.

Critters were planned to be added in the compo game. Time constraints didn't let me though. Life forms would be spawned near or in water, being fish or land dwellers. Fish would consume algae and produce offspring, their died bodies will be consumed by the earth leaving nurtured earth behind for better developing plants.
Land-dwelling critters would walk around eating plants or other critters, changing the ecosystem along the way.

This currently sounds like a big terrarium (i think i just got where Terraria got it's name from, duh :p) with only few interaction, so i am thinking about adding active players to the mix. They would be able to harvest, hunt, fish and transform the environment, actually impacting the whole ecosystem. When they block the sun and rain on a certain spot, plants will wither and leave dirt behind. Being too influential with your surrounding might end up tipping the equilibrium and you end up in a desert wasteland.

The most hi-res animation i ever made


What's the difference?

There is minecraft and it's horde of clones, Terraria and possibly more offspring in that genre, whatever those may be called. I really like both those games, and playing them extensively made me realize a thing or two.

The environments are very static. They can extensively be manipulated by the player, but if left alone nothing changes. A living environment would help to create a deeper atmosphere, seeing it developing on it's own and experiencing that your actions have consequences on your surroundings aswell.

Both those games have Biomes (fixed zones) to create more diversity to the environment. In Unterholz those biomes would be created dynamically, depending on rain, sun, clouds, wind, wildlife etc.

Although you can cultivate different plants in either game, the rules to do so are very vague. They need not to be irrigated or photosynthesize and have, apart from being resources, just an esthetic use. In Unterholz they would wither if being unattended for longer periods of time or would serve as food for wild life or else care for it's own business.


Why?

I got the original idea last Ludumdare compo where i built DiggyDig, a crude prototype of a pixel/image-based digging mechanic. Unterholz is in essence the logical followup to DiggyDig's mechanics. There's a third missing part for the general idea to be complete, but i might keep that for another time.
The idea now is to take what i learned from both and try to merge it into one interactive simulation and see what happens next.


You can download the compo version of Unterholz here.


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 1€ with 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.

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.