So I started roughly 3 hours ago with a very stupid but doable idea involving lots of pretty programmer art.
Basically you’re a one-handed cashier in the speed lane. You’ve got 10 seconds to manually insert all the items a customer wants, and then 10 seconds to take his money and give him the right amount back. This repeats indefinitely until you screw up too much. There’s a list of codes for the products that you can come across, but obviously, the clock keeps ticking!
And worst of all, you only have one hand, so you’ll have to do everything (and I mean everything!) with the mouse and the left mouse button.
After waiting until 4 AM for the theme, I was a little disappointed it was minimalism. So the next morning I brainstormed for some ideas. In the end I came up with The Void, a horror game where your default view is minimalistic, but enhancing it brought danger with it. If you can see the monsters, then they can see you as well, basically.
So I started out with the end result of my previous LD and stripped all the content so I had a half-assed engine with a rudimentary level editor. Perfect for two days of mayhem, but not without its issues. Since the ‘engine’ is basically the end result of 3 iterations of previous entries all bolted on top of each other with different features, it’s a dirty mess, but it worked!
After bolting even more crap onto it, my entry was done. I’m very happy with the result! Even during development those things creeped me out when they (or I) got too close. So that’s nice 😀
What went right
The sounds. I was afraid that the voice acting would be terrible, but it isn’t! 😀 Also the atmosphere feels perfect, with the only other sounds coming from the creeps when they get closer and closer. But the voices add a lot to the game, I think. I tried to go for the original Deus Ex infolink effect, also with someone talking into it that shouldn’t be.
The story. Because of the voice acting, I could add a story to an otherwise bland first person run-away-in-terror game. And since it’s all happening while you’re playing, there’s no stuff to read in order to understand what’s going on.
The development itself. Things went fast, and I had about 7 hours left until the deadline when I was done. The scope was perfect and I didn’t have to scrap anything due to the deadline.
Managed to sneak a potato AND a cat into the game! Yay! 😀
What went wrong
Playtesting. As developer, I could cruise control through the game because I knew every secret. I did let two other people playtest it, and they had relatively few problems as well. But after release it became apparent that the tutorial talks in levels 1 and 2 were very annoying as they were unskippable, ruining the flow. In hindsight I had 7 hours left to discover and address this issue, but I didn’t. The post-compo version I released fixes that, but it’s too late 😀
I could only do the sounds once. After recording them in Audacity, and cutting out or redoing the parts that were bad, I used a lot of filters and other things to get what I wanted. Both the dude and the voidling had lots of effects and filters added. But I didn’t keep track of what I did to them, so later on I couldn’t add more voices because I couldn’t reproduce the exact same actions that I did to them. Oops!
I’ve just released a post-compo version with a level selector and the ability to skip the tutorials in levels 1 and 2. I’ve also fixed a bug where monsters would always see you if you used your goggles and if they were already hunting you, regardless of if you could see them.
I’m also working on a Oculus Rift version, but this is problematic because I don’t have a Rift yet. 😀 So far I’ve managed to get the stereoscopic view into it, and it should use the variables sent by the Rift to render things properly based on the Rift’s setup. It’s also technically possible to rotate your head, but without a Rift to test things with it’s been difficult, and at this point I can’t continue integrating it until I get the device itself. However, optimizing the menus and other things are mostly done, so that’s nice, but I’m stuck now until I finally get mine
My entry is a first person horror explorer where you have to escape from another dimension. Featuring spooky atmosphere, top quality voice acting and an amazing boss battle, this game will rock your world! Yes! Really!
Anyway, I’m very happy with the result, and I hope that those that can play it (being made in XNA and all) enjoy it! There are two secrets hidden in the game. Can you find them?
Lots of progress has been made today! The awful mess that is my code resembles a horror game now!
Right now I’ve made 3 levels, working monsters of doom, and some interactions are possible within levels. For tomorrow I’ve still got a bunch of things to do, but all of it should be doable. I’ve got 3 more levels planned, a few secrets need to be added as well, and there’s loads of sounds I want to create (because what’s a horror game without sounds? 😀 ). I’d like to have some voice acting as well, to fit with the story, so tomorrow I’m gonna see if it won’t be too horrible to listen to. The script is done, at least, so it shouldn’t be that much work.
Other than those major things, the other things left to do are polish and testing. Nothing too scary. Oh wait.
My idea for this LD is a horror game where your default view is minimal (see screenshot), and you can activate super vision to see the world as it really is. There are also monsters, and they can only be seen when activating super vision. The monsters can’t see you, unless you are running or when you are super visioning them. But even if they are invisible, if you touch them, you die.
It’s been a week already. Time flies! So I suppose it’s time for my game’s post mortem.
What went right
The theme. While I didn’t have any pre-planned ideas, coming up with an idea was pretty easy. An AI that decides people should die. While the end product differed a little from the ideas I had initially, I think it made the game more enjoyable by making you actively involved in the brutal murders of death.
The tools. By now I know pretty much all I need to know to make a game in 48 hours with Visual Studio and XNA. I ran into zero problems related to my tools or knowledge of them, making the development easy and smooth. I only ran into a few small roadblocks regarding implementing some features, but they were nothing no dirty hack couldn’t fix in a few minutes. While I really should move away from XNA at some point in the future, I just can’t yet as it’s so easy to work with. 😀
A built-in level editor. It was the first thing I made, and while it’s a horrible thing for any purpose other than LD, it got the job done and made it possible to create complete levels in minutes. I will seriously consider making this the #1 task for any future LD game I’m gonna work on.
The AI. I’m very happy with what ended up being AI controlled. The humans react to doors closing on them and other shenanigans you might be doing to them, resulting in some sort of realism. Of course, they look like shit, so it’s not that realistic, but still!
The features. I almost completed all the things I wanted done before the deadline. The only things that didn’t make it are in the post-compo version, which took a few additional hours to create. While I’m sad they didn’t make it in, it doesn’t change the fact that there are many ways to kill people, lots of achievements, and a bunch of playable levels. Probably the most I’ve ever done in 48 hours so far.
What went wrong
The graphics. There’s no way around that fact. My game looks like shit. It’s 3D, which is the only positive point, but the walls are ugly and exactly the same, the entities are ugly boxes that don’t rotate and have a single texture for all 6 sides, and there are no animations at all. I really wanted to add better graphics, but my main focus was on gameplay elements, and halfway through day 2 my code was so ugly that it was pretty much impossible to replace the cubes or the single-texture geometry.
No goat. I wanted to add a killer goat that was locked up somewhere inside the base, and it would seek out humans and eat their face etc. But adding that would be too much work. My pathfinding was slow and static (very inefficient BFS, or at least I think that’s what I ended up with) making it hard to find humans, and I could only make a cube goat anyway.
Collision detection. Mostly a problem when you have a human grabbed and you want to make a turn in a small corridor. So frustrating! 😀
The controls. Always make the controls as smooth and easy as possible. I didn’t do that. I imagined that if you are an AI and you control all those things, then you do that indirectly. So I made the indirect button panel, which works, but it’s pretty crap. The first-person view added movement keys, which was a huge improvement already, but I did not make a ‘move backwards’ option. I should have, but I ignored that as I learned to deal with it while devving. But it’s horrible, unintuitive, and it makes the game much less enjoyable imo. But that’s just hindsight, so it’s a lesson learned for next time: If something doesn’t feel right during development, don’t learn to deal with it, but fix it immediately.
Overall I’m very happy with what I ended up with. It’s pretty much a complete prototype. If you have the chance, give the post-compo version a try as well for the super fun camera features. I recommend playing the two dark maps then, as you have to rely on the cameras for your human awareness. The second dark map is especially hard to not screw up on.
I won’t continue working on my entry, though. While the concept is nice, the code isn’t. A massive refactoring is needed before adding anything non-trivial or related to graphics, it would be much easier to start over from scratch and to do things right instead of quickly. It would be interesting to see an implementation of this in UDK or something, with realistic graphics. Imagine the scientists discussing things with each other while they are at work, and then you shut down the doors, grab them with robots, and force them into incinerators while they are pleading for their life, only to throw their crispy remains against their co-workers as they are banging on the doors and screaming for help. Horrible! 😀
I finished my game on time! In the end I’m quite happy with it, even though I wish I had more time to improve the graphics and add a few more gameplay elements. But still, there’s plenty to do and enough variety to make you want to murder all the evil scientists beat all the levels (I hope!). You can find it here
With hostages! That they choke to death while they carry them through the lab! Choking takes a lot of time, so it’s easier to force them underneath a door and then close the door. And that’s now possible!
So right now there are two ways for humans to die. The first is by being crushed by a door. The second is by being choked to death by a robot. However, while the robot is choking the poor human, the robot can still move around, taking the human with him. So that’s three ways to die! And a first-person camera view from the robot for extra fun in-your-face gory cube crushing.
Up next are alarm panels, other places where humans can die when they are dumped there, and other items for the robots to (ab)use. But so far it’s at least somewhat entertaining 😀
Lots of progress but not as much as I’d have liked. But anyway, the core of my game is sort of complete. There’s still many features to be added to make it an enjoyable game, but most of the stuff like pathing and AI is pretty much done, with only a few bugs remaining.
I’m 90% sure I won’t have enough time for decent graphics, though. Making it an enjoyable game is more important, after all 😀
Right now I’ve got working entities which can be interacted with. Well, the only interactable entities now are doors, but they can crush and kill people if they’re too slow to get through!
While I’m happy with the progress so far, I’ll need to increase my dev speed if I want to add everything I want to add. And I also have to make things look pretty, which will take a long time as well. Goals for the next 6-8 hours are pathing and collision for the humans, a basic AI state for the humans, and a goal for the humans so when shit hits the fan, they’ll know what to do. Then it’s just a matter of adding gameplay features and more causes of death 😀
If I can get all that done before tomorrow, then I can spend half a day tomorrow on levels, and the other half on music, sounds, graphics and a score/achievement system. I’ll probably have to sacrifice on graphics, though.
The idea for my entry is that you are an AI of some facility and you realize that the humans you are assisting are bad people and they should die. You can kill them in various ways, and some strategies will give you more points and achievements than others. Obviously the poor humans don’t want to die so when they notice something is wrong they will try to escape, which is bad for you.
So far I’ve got a very basic level editor with a working export function (pressing P writes it to the console 😀 ) and right now I’m going to start on adding the gameplay features. Today I’d like to finish most of the gameplay, so I have tomorrow for graphics, sounds, fun stuff and polish. No idea how far I’ll get today, though, as there still is a lot to do and I want to have many interactions possible.
This is my 5th Ludum Dare entry, and my second 3D entry. Overall I’m very happy with the result. There’s still lots of work to be done to make it a complete and enjoyable game, but as a concept it’s nice and it shows what it’s all about. Play it here
What went right
– Choosing XNA again. It makes so many things much easier to do. With the experience I gained from last LD, it was a breeze to set up the initial 3D rendering and the billboard graphics for entities.
– Scoping. My minimum goal was to make a game where you have a camera that can take pictures, which can then be viewed in an album and be saved to disk. This is all possible.
– The birds. While they were a bit tricky to create, it’s fun (for a few minutes at least :D) to watch them do things. And without them there would be no fun at all taking pictures.
– Polish. I’ve added menus again, with keybinding, mouse sensitivity and inversion, sound options, etc. There’s also music and some sounds, and imo it looks and feels finished (as far as LD games go)
What went wrong
– The birds. Yep, they went right, but the process I used to create them took a lot of time (relatively speaking for a LD game), so I had no time to other types of animals. Having to create three separate views for them, and having to split up the body parts while keeping them aligned and ‘blendable’ so they could be animated was tricky. Speaking of animating them, that was horrible. They look decent though, but if I want to achieve something similar next time, I’ll have to rethink how I want to do it.
– Gameplay. Right now the only thing my game has is emergent gameplay. But it’s not really a game. There are no goals to achieve, only two numbers that can be increased. You’re dropped on an island and that’s it. I have no regrets skimping on gameplay, but it’s one thing in hindsight that I should’ve worked on a bit more. Basic goals with rewards to achieve would help a lot to improve the fun factor.
– That stupid glitch where the bird is moving forward, but is drawn backwards very briefly. Or vice versa. I completely forgot about it, but it’s so annoying. 😀
Things to keep in mind for next time
– The terrain. There are 4 ‘layers’ of the island. Only three are shown, which are the beach, grass, and snow. Due to limitations on the default XNA shader, it’s impossible to blend the textures together. So the transition between beach and grass is a bit ugly. Next time, if I want to achieve something similar, I’ll have to make my own shader modifications to allow blending. However, I’m very happy with what I achieved with the default shader and restricted settings for older video cards, as I now have an easy way to split any heightmap of any size into 4 different layers based on height, while still being supported by low-end machines.
– Collision and efficiency. As it is right now, it’s probably impossible to make birds interact with each other without a huge performance hit. So they don’t. But for next time I’ll really have to work on a proper way to make a large number of entities aware of each other.
– Animations. I’ll really have to compromise on something here and make a choice. I like the 2D billboards, but dynamically animating them is a pain. So I’ll either have to make that process easier, switch to full animated sprites, or move on to 3D models and animations. I don’t really want to go the 3D route, so it’s a choice between the other two. If I can make animating them an easier process, then that’s perfect. But it’s something I’ll have to investigate. Oh, and I should add 8 different view directions if possible, instead of 4.
Should’ve done this yesterday before the deadline. Oh well. 😀
I’ve added a post-compo version of my game with a widescreen resolution, 1920×1080 photographs, and (as a result) slightly higher hardware requirements. Give it a try if you enjoy the game, but don’t rate it! Use the original link (Windows) for rating.