Version Alpha 0.2 of Against the Wall, a first person platformer originally conceived for the Ludum Dare competition #20. The Theme for that competition was "It's Dangerous to Go Alone, Take This." In this game, the player is on a world that consists of one infinite flat vertical surface called "The Wall." The player finds a magic wand that allows them to advance upwards along The Wall by creating ledges in its side.
Read more ›
Today was spent entirely on writing a sound manager that instantiates a small number of audio sources that are repeatedly used, for footsteps, the movement of bricks, etc. I've also given the world an ambient wind sound for good measure.
Here is a screenshot. The lines on the bricks currently indicate the four levels that you can pull a brick out from the wall. The player will eventually be able to punch bricks into the wall, though this will take me a while to implement.
Ever spend hours fixing something that turned out to be simple oversight? I just spent two hours on a portion of the "load" script that was loading chunks with additional info from all the other chunks. Hard to explain, but the answer was so simple (resetting a variable) that it's just crazy! Anyway, info on bricks is now saved in XML format, and it shouldn't take long to expand this to static or physics-enabled objects.
I have the option of saving the game in binary files as opposed to XML, but I would like to encourage modding of saved games and the world by the community. XML is human-readable and less of an impediment than binary. As time goes on I'll try to expose more variables in these files for people to mess around with.
The end of LD voting is a week away, I'll be sure to put up my post-competition game before then!
In the last few days, I implemented head-bobbing and "chunk overrides", which basically preempts the procedural generation of certain chunks to insert author or player created bricks and other items. Took a big chunk of time to do so, but it serves as a basis for level design and a save system.
My goal for today is to create the save/load scripts. In addition, I need a new function that pushes players after a moving brick hits them. If I have time, I'll begin working on the ability to vault up to and over ledges.
My grad school finals period ended last Monday and now I have some time to work on the project. Problem is that without time constraints, production has actually been slower. I can probably say that I've accomplished more in the 48 hours of the competition than in the last two weeks! School may have been a factor.
Anyway, I've finished the world generator and added an algorithm that gives a varied but set seed. This world should start out the same for everyone who plays it. This was done to facilitate story. The cities, towns, farms, etc. of the world need to be fixed and within a short distance of each other (excluding mass transportation) for the game to be cohesive and lack needless trekking through the world.
I've also scrapped both the rigidbody and scripted character motors which I created in favor of heavily modified C# version of the motor that comes with Unity. It's actually enjoyable to jump around now! For added challenge, the player is now much smaller vs the bricks, meaning the two larger block sizes are insurmountable when jumping at them from the base. I eventually plan to add "vaulting", that is, the ability to climb up and over the smaller bricks by walking or jumping into them.
Sounds have been added to the bricks as they move, and dust particles fall off of them as they move. The actual sound that I am using is pretty grating. My experience with sound design is limited, so this will be fairly tricky to pull off.
Here is a plot of features that I plan on implementing in the next week:
- Chunk Overrides
- City Generator
- Player Cache and Saving
- City Assets
Also, I hope to have a new player up before the end of the month.
Just a few updates since last week that will lead to my Alpha 1.0 release of the game. First, I implemented an inventory system in which the player can store and use items that they pick up. This is akin to an adventure game inventory, and is specifically modeled after the one found in Amnesia: The Dark Descent. This will eventually include a feature where you can combine two objects together. Nothing groundbreaking, just a functional place to keep your stuff. I am considering the removal of any inventory limit. However, this kind of exploration-focused game may benefit from restrictions on how much a player can carry, since players will be induced to craft homes for themselves to keep their things safe, ala Minecraft. A full menu system has also been written, but the other features, such as the "Options" page do not work at all yet.
Second, speaking of Minecraft, I have completely rewritten the procedural generation scripts so now not only is it hundreds of times faster, but the world can stretch out infinitely! (Within the limits of floating point numbers, that is). I just have to work out a system for caching the world as it is produced, and saving changes to the world made by the player.
Third, The first-person controller has been rewritten so that it handles a bit better. No more super-sensitivity or slow jumping! I need to work on the ledge interaction with the player a bit though, making sure that the player is pushed smoothly when hit by an extending brick. A skybox is also in the works... it isn't nice enough looking though, I will have to rework it.
These changes will be reflected in an update in the near future. Stay tuned! Check out the Play page to try the buggy Ludum Dare #20 prototype version.
Against the Wall is a videogame in its prototype stage. It is set against the side of a wall that stretches infinitely in every direction. The player must travel up the wall by manipulating its bricks, pulling them partially out of the wall to create ledges and staircases using a magic wand.
Against the Wall was developed during the Ludum Dare #20. The Ludum Dare is a competition that challenges participants to create entire games within a 48-hour time period. The designers must do this alone, single-handedly, using newly created art assets and code (aside from code built-in to certain game engines). Participants are also constrained by a theme that must be incorporated into the game. After a week of voting the theme for LD#20 was "It's Dangerous to Go Alone, Take This."
The game that I released for this competition is fairly rough, the controls awkward, and the code buggy at points. In fact, the game could not be beaten due to one particularly serious oversight, in which the exit was blocked.
Despite these initial problems, I believe that I may have something unique and interesting in the concept and setting alone. To my knowledge, there has never been a "Wall" world in fiction, and certainly not one where the wall is a mass of shifting bricks. The gameplay will need serious enhancement before I can really release it. Follow this blog for more information on the game's progress!
Against the Wall Prototype Version, created for the Ludum Dare #20.
Read more ›