Posts Tagged ‘D’
So I’m going to be going at this again. I’ve got 16 days to get my custom engine up and running again. Hopefully I can do it so that I’ll have an engine to post for any D programming language enthusiasts out there.
I am from Newfoundland Canada, and I am in.
My tools will be
- Visual Studio Express 2010
- Language C++
- OpenGL with GLEW
- SDL (maybe?)
- Blender 2.49 (because I haven’t gotten use to the new look yet)
In anticipation of the upcoming MiniLD, I am hereby announcing the release of my base code, a platform game written in the D programming language.
This time the rules permit the use of unreleased code, but as this game was not written by me alone, I think it’s fairer to release it beforehand as per the usual rules.
And in case you’re wondering, while it’s working code, it’s not a finished game in the sense that we haven’t created any “real” map for it yet. It’s also a source-only release.
Mr Head and the Journey of Discoveries has been completed. See the entry page.
Controls are Arrow Keys and X.
Made in 8 hours, and written in D and uses OpenGL, GLFW and FMod. Sound effects (the few there is) from sfxr.
There was supposed to be some voice “acting” in there, but my microphone was really, really bad, so you managed to escape that. Sadly also lacking music. Would have been great with some light music, I think.
Main sprite is technically an old asset, but to match the last Mr Head game it had to be identical (see Mr Head and the Cow Drowning). I believe my entry is within the spirit of the rules.
i cant think of an idea >:(
ill draw some stuff and see what happens
I actually managed to finish, though I doubted it quite a few times in the last seven hours. There’s almost no end to the list on how many things were cut and it’s unpolished to no end. But still, you can sort of play it and enjoy it.
Also, here’s a new screenshot (included with the entry), showing truck editing.
Looking forward to test all the other games.
Fun tech. Not only does some tech idea stuff you want to try out make it fun to actually program the entry, it can also makes the entry interesting. Or so I hope it did. There was two things I tried out: Destructible landscape rendered with marching squares and some sort of fluid simulation.
I’ve wanted to try out destructible terrain with marching squares for some time. Mostly when thinking about doing Blastup 3, though I’m probably more for doing pixel perfect (with alpha) stuff. But still, wanted to try this approach out. It worked pretty OK, though it requires more work to be anyway close perfect. As a note, the collisions just uses bilinear filtering of the nearby grid points and checks it against the threshold, so the marching square output is just for rendering here (which really simplified things).
The fluid simulation pretty much just happened. I had a world which was a grid of values of 0 to 1. There’s a lot you can do with that. I’ve thought about similar things for earlier LDs, for the theme flood, but that theme never won. Basically, it’s like those old water simulations where each pixel is a water particle, and it can either go down or to the sides if there’s room. I just had float values instead, so the whole of it didn’t have to move. Then marching squares on top. Anyway, the lava seems to be what people liked the most, so I’m glad I did it.
The actual game idea. With the destructible terrain etc, I sort of wanted a game in between Worms/Liero and Lemmings. Which I think is what I got. It’s lacking things though (see below). Overall, I think it’s a good game idea.
Once again used the D programming language, which was good and makes most things easy (except in one place where a thing I did in a loop became very slow, which cost me some time). Also used OpenGL, GLFW and Fmod. Stuff that works pretty well and that I’m used to.
Time, time. Lack of time. Or too ambitious project, perhaps. I spent 4 hours away from the compo helping some people to move, but I’m not sure those 4 hours would have made a lot of difference. The time issue had most impact on the level design, I feel.
The level design started out sort of OK. I wanted to introduce every new element by itself in a single level, then start combining them and creating puzzles.
Well, to start with, not all elements that I wanted to introduce got introduced. There was only one weapon, there was only one enemy type. I had planned for more there. And I had planned some cool movement tools, like a jetpack (and if I really had had some extra time, a ninja rope).
Anyway, as it were, I did get the elements that existed introduced in the way I wanted (though some levels was a bit too long, making them annoying). But then suddenly I didn’t have time to introduce more elements, yet I didn’t have enough materials or ideas to make good puzzles. So that first lead to a platform/jump level.
Then there was the last level. It got too hard. A little too busy. Even its name gives it away, it was named: A little bit of everything. Basically it had become apparent that it would be the last I had time to do, so wanted it real, if you know what I mean. Nothing tutorially. As a base there was a single good puzzle. But after making it, there was lots of room left, so got another semi-puzzle, some jumping, some digging, and some kill things. Too much. But maybe it suited as being the last level. I can tell you, even I have had trouble completing it sometimes.
That’s not the only bad thing with the last level though. The last level’s win condition check is bugged. So you only actually need to reach the star to win. I realized this bug existed after having gone to bed after just submitting my entry. So I got up, “fixed” it, and re-uploaded (it was within the deadline, don’t worry). Only the next day I realized the check was still bugged. I had added the correct check, but I had also left in a call to the base class update function, which just checked the star. So that was a waste of time.
Graphics. They turned out rather bland and boring. And dark. Noticed today that even just making the game 50% brighter helped a lot. But I’m not good at creating good textures or animate stuff, so perhaps it’s OK given the time available.
Sounds. It’s thanks to sfxr that I got any sounds at all. All in all, it might have taken 15 minutes to get all the sounds in. It was a great improvement over no sounds, but beyond that it was lacking. In addition, it seems that the sounds cut out for quite a few people — I have no idea why.
I really recommend maximize the window to get a look at the whole level (if your screen is big enough). It’ll look bad that the level just cuts off if you have too large a screen, but even then it’s well worth it.
There’s a skip level cheat — it’s pressing F1 and F11 at the same time (as in most of me entries with levels).
I used a bit of base code and some utility code for rendering, fonts, and sound. Not really a library, just some random stuff (it’s what’s available in stdf in the source folder of the package). This is probably bending the rules a little, but I hope you guys are OK with it. Absolutely not game code.
Also, it’s not like I came up with marching squares during the compo. I’ve written a few application using it earlier, and actually adapted some old code. Writing it completely new might have cost me extra 15 minutes or so but it seemed pointless. The idea is really quite simple: For each square in the grid, start making a polygon. Check one corner, if it is within the threshold, make a point. Check this corner against the next corner — if one is out and one is in, find the point in between. Then do the same for the three other corners and edges. And that’s it.
There were probably some other things worth mentioning too, but none that I can remember now. Think I’ve responded to most stuff that I’ve got comments on as well. Overall, people seems to have liked the game, so I’m pretty happy. It’s been a good LD.
Right, so I decided to post this as a non-entry. Reasons include laziness and stuff. Here’s my last progress shot re-used as the ‘final’ shot.
While ‘playing’, press keys 1-3 to build stuff:
- is a tree zapper, it gets you power for nearby trees. It costs 15 power.
- is a mini tower of darkness, it creates darkness nearby. It costs 30 power.
- is an attack tower, it shoots blobs of darkness at the poor butterflies. It costs 50 power.
To goal was supposed to be getting everything dark, sort of. There’s not actually any winning condition, but there’s not much other things either, so that’s all right then.
Don’t resize the window (don’t tell me I didn’t warn you).
Download Something of Doom Something Something (Windows binary, uses OpenGL, should work in wine).
Basic hex grid logic is working. Ahh, don’t you love the old-school strategy flavor that they radiate?
Yeah, it’s fugly. So what.
Now to actually come up with a gameplay idea. This is always the hardest part for me, I hope I won’t fail this time.
Currently making myself some spring rolls for lunch, hopefully they’ll inspire me.
Here’s my entry. You control a spider that is in dire need of getting more legs. Sort of.
Windows 32-bit binary with D source
Collect all powerups to complete level. This will give you a time bonus.
If time runs out or if you fall outside the world, the level ends, but you are left with the score you got for any collected powerups.
Enter to start game.
Esc to quit (also at level over etc).
Left click/hold to set target. Speed based on distance.
Right click/hold to set target and jump.
You need to walk slowly to round edges.
You can only sort of jump away from the current surface you are on.
Some source was previously written, but only sort of texture loading, font rendering and some init code.
Uses GLFW, FModEx, sfxr and some other stuff.
Also, note that the title bar is a total lier. The game did not take 32h to make, but 40h. That math is tricky stuff.
(For the framework stuff, the score is read from and written to ‘score.txt’.)
I’m finally finished with a version that both runs and could be classified as a game. So here it is. All important information is available in the game, really, if you just pay a bit of attention. I might include play information here later when I don’t need to sleep so much.
If you want another screenshot, here’s after having won.
Update after deadline: I’ve updated the above link to include zlib1.dll which was missing. The original package is still available.
While trying to think of a decent game to make for the Weird/Unexpected/Surprise theme (a theme I had voted for, but never expected to win, so I never thought about any real game ideas before start), I sat down at wrote Banana Ship.
It’s not meant to be a real entry, but yet follows the theme quite well. If anything, it lacks in that it’s not much of a game, you just have to figure out what to do, and it’s not much of that either. It’s more like a short story, really, but you might enjoy it for a minute or so before it ends.
You materialize out of nowhere, and have no idea who you are, or what you are expected to do. You are wearing a pink sheet cut into a really ugly robe. All around you are filled with nothingness, except for a small, yellow banana, floating in the air right in front of you. >
Moon terraform pong was a rather half-hearted entry for the LD 8.5 warm-up compo, with the themes Moon and Anti-text. It was an experimental entry, as it was my first using the D programming language. I don’t think I spent much more than an afternoon on it.
In the game you terraform the moon by playing pong using it. Get past the opponent paddle and you gain a bit of terraforming, if it gets past your paddle it loses a bit of terraforming. Also, when blocking successfully, speed is increased and size reduced, increasing the difficulty. Granted, it starts so terribly easy it’s only be the end of the game it plays at a decent difficulty, but hey, the moon really is rather big.
The game doesn’t feature any text, but an image at the ‘title’ screen really explains it well enough. Click to start, move mouse to move paddle. Easy.
You can download Moon terraform pong. It’s for Windows and requires OpenGL.