Software nerd at the software-learning institution, spending my time software-learning by not doing learning work.
Ludum Dare 23
Ludum Dare 21
Ludum Dare 20
I’ll try and find the time for another round this weekend. It’s been a while since my last weeping attempts at coherent experiences, but I’m hoping I can take a break from my studies over the weekend for some relaxing, stressful game jamming.
Contrary to earlier, I’ll not be going Flashpunk this time around (although it’s still an excellent choice for quick-n-dirties, I think), reason being that I haven’t been able to set up a sane dev environment on my all-Linux system. FDT and Flex work fine, but a few of Flashpunk’s Object trickery is bugging the syntax checker and refusing to build perfectly healthy code.
Instead, I’ll try out Allegro 5, mixing in Box2D if the theme matches the unfortunately-early ideas banging around my head. I had an early C++ derivative of Flashpunk running through SFML and SDL1.2, but it’s simply too basic for proper use.
Graphics start from Pinto (a Paint.NET wannabe for Linux) for simple painting, possibly working within regions of procedural generation for simplicity.
Sound and music will be minimalist this time (no Raymond Chandler monologues, I promise!) – at best, a few short vocal queues and perhaps some random piano chords.
Basic platforming and tiling complete. I even went as far as building in an in-game tile editor; simply because it was quicker than learning to use a tiling application.
There’s an issue with standing up in cramped spaces, but the rest is solid.
Right after dinner, I’m moving on to auditory and (in-game) tactile feedback.
Think I’ve hit a fair spot that brings together a simple base with optional extensions if time allows (which it never does).
At any rate the design is now frozen. We’re talking a basic mazing platformer. Twist is, the player has such a small viewport that they need good memory, patience and reflexes to solve each maze.
I was making major bets on several of the other themes; this one, however, was unexpected.
Given the less than mediocre performances of previous LDs, I decided on a stricter schedule. Currently, I have 123 minutes left until the design is frozen, and I’m still trying to come up with an approach that isn’t a half-asses Spore or E.V.O. clone. Hopefully a more slick, less overambitious approach will actually leave me with a solid package this time.
Design imagery in about 2.
I figure I really should at least mention my possible entry to avoid any rule breakages. I might be assuming the death of Flash too soon, but I had been hoping to transition to a Clanlib-based game. Once again, the tools and libs are
- Flashpunk (slight custom tweaks on custom github fork)
This time I should have just a tad bit more time, but I should really learn from past mistakes and settle on the entire gameplay mechanism by the twelth hour.
Every time I manage to pull through the 48 hours and end on the other end with something that doesn’t crash, I feel pretty good about myself.
Looking back at my prior work, it is clear to me that I’m gaining momentum in regards to workmanship and speed, but I’m still overly ambitious. If Our Little World is any indication, brilliant (… imo) gameplay concepts fall hard on lack of polish, both technical and abstract. I can live with a compo game having its glitches and oddities, but it should clearly communicate its message and play style. Our Little World did neither very clearly.
What was intended as light-hearted jab at religion became a mess of a non-descript, glitchy interface. I was averaging a feature every 80 minutes right up to the submission deadline, pumping without stop, but losing 24 hours to an optimistic implementation of a Bayesian network really dented my progress. I even considered switching to the jam to gain another day of work, but even I have more sense than to compete single-man against the talented teams who submitted works Monday.
With only a few days’ more work (and a competent artist), the game will be solid in its current design. Therein lies the true flaw. There is no inherent risk factor in the game. For one thing there’s no win condition, but the problem is more intricate than such. I wanted to create a game where you were forced to place the sides against each other. All too often you only see a true reward if you go to the extremes of “good” or “bad” (or the equivalent), and steadying in the narrow center is nothing but a hassle. I wanted to shift that paradigm, so to speak, forcing the player to constantly weight the power of mortal faith in you (empowering your godly abilities) with their self-reliance (which would enable them to move forward as a society). This requires an antagonistic element. Something that everyone is against, regardless of how pious they are. I had a massive backstory going in my mind as I was writing out the game concept, and the ultimate goal would be to allow humanity to raise itself to a demi-god-like status, capable off fending off unknowable terrors from beyond the veil. Now, the big picture works – you need to maximize humanities self-reliance, but doing so requires that you remain powerful enough to help them when they are in truly dire straits. But this only sees a long-term result, thousands of game cycles later, at the end times when the fruits of your labour are tested. The design direly needs a short-term risk-reward factor, which goes beyond the choices of punish/bless. They were intended as a power/wisdom tradeoff, granting the player greater power to affect the world as needed, but the consequences of procrastination were never explored. How greatly would society suffer if you sat idly by, testing their ability to overcome the Black Plague instead of granting them immunity? Even more importantly, how should this be expressed in game terms?
The best answer I have after this time is that the game requires more granularity. Instead of granting static structures boons or curses based on your immediate needs, I need three things:
- Introduce single individuals to be the targets of wisdom buffs (give Newton the idea for gravity, jolt Graham Bell and let him make the first iPhone, etc). Furthermore, individuals have their own beliefs, so picking a mortal to bring forth the next leap in technology requires much forethought (you want the wealthy priest, who is almost guaranteed survival over the next few years, or the ambitious inventor, who may die with the next hunger epidemic?). A current effect that is very (too) subtle, is that trying to upgrade a building that has been punished or blessed quite often means that upgrades will take much longer time.
- Let god powers be more free-form. They should be targeted more freely (single-target/AoE style) and have an effectiveness augmented by your current faith, total power and income. They also require more utility. I’m thinking rain powers to cause crops to grow and fires to be put out, or floods to cause havoc. Then move on to topological changes; land from the sea, natural dams to protect against invading hordes (or natural floods) and the like.
- Genuine risk. With the current model, you would have to play through the entire (envisioned) game before seeing any real results. That’s not often enough for most players. This is also where I’m mostly stumped. What kind of short-term threat can you introduce that will force the player to manage their faith levels?
I guess the short-term end result for this post-mortem boils down to limiting ambitions. Ambitions are good. They’re great, even. Without them we’d be stumped. But we also need to know the limitations in order to get a proper end product.
I hope I can keep that sort of restraint on myself next time.
I ditched the entire “bayessian network in 48 hours” idea, scrapped all assets and started over.
I’m still in with the same notion as before, but I created a far simpler model for the game and I’m actually at the “content and tweaking point” after only 14 hours of work. It feels like such a blessing when you finally put the pieces together after several hours and the gameplay just pops out as you had hoped.
I’ve got three hours running for music, a few sounds (I’ll skip the Raymond Chandler monologues this time, scout’s honour), tonnes of sprites and images, and value tweaking as well as a final win condition.
I won’t reach the ultimate goal of multiple phases of civilization, but given the time frame, I’m pretty impressed with myself.
Beta screenshot at the drop ————–> DROP!
I’ve written around 2000 lines of code and made a single sprite (3×3 pixels) so far.
I’ve finally made the producer-consumer network functional to some degree (“all it needs is content!”), but I’ve noticed that the people spend a hell of a lot of time around a single location to sate a need. I think I’ll make all resource consumptions one-shot fillers (so instead of getting a meagre +3 energy from eating, you get a full boost to 100%) to increase the speed of gameplay instead. However, I’m trying to think through how this affects penalties (badly treated crops will fully restore energy). Maybe simply tweaking the values to be a bit larger (they’re working on a 100-scale right now, perhaps a 10-scale would fit better) may help. Regardless, I need the AI to work on its own before I can introduce the actual gameplay.
We’re closing in on the 24-hour halftime line. Gotta get some interaction!
So I figured out a consumption model for the world, which is about a third of what needs to be sorted before implementation.
Consider the world, all of existance, a zero-sum game. When something is consumed, something else is produced. Not everyone would agree that the product is always desirable, but it’s there, none the less. Using this assumption, consider all entities in the world a combined consumer and producer. A farmer produces wheat and consumes foodstuffs (for example wheat). When he consumes food, he regains energy which is depleted when producing more wheat.
This results in a cycle slightly more complex than the one depicted above, but it conveys the thought. Wheat produces something that has, among other things, a nutritional value (it also has health benefits and can make you fat). The farmer will consume and the changes brought on by the nutrition will be applied to the farmer.
Beyond this I need to figure out a simplified “belief” model so you as a player have an active stake in the game. I’m thinking something in the lines of “do nothing or be monotonous and lose faith”. It’s very simple, yes, but hopefully the overall management will be so abundant that striking the balance will be difficult.
Finally, I need to implement AI in the form of intelligent agents, self-managing entities within the game world. People need goals they want to achieve, split up into smaller tasks that will achieve that goal (for example, having children means getting a spouse and having the energy to handle them). I want to put in a bit of learning behaviour, so they can appreciate a sudden appearance of wheat from above.
Now, enjoy a screenshot that is almost like the original one, only this time all people are rendered properly (an out-of-bounds error was not being cast in the previous build). Notice their three-layer appearance. The top colour shows their race, the torso their job and the leggings their sex (male/female). I hope to make sufficiently clear colours to make it clear what kind of people you’re dealing with.
Tiny Worlds… not my favourite of the mix, but many of the top contenders throughout the week shared several connotations in my mind.
Artificial Life, Tiny Worlds, Build it then use it…. it brings to mind the microcosms depicted in The Genesis Tub, Parasites Lost and The Invaders, to name a few (actually, I think the Twilight Zone had many such stories).
I wanted to try and convey a message with my game this time around, partially an homage to deepnight’s entry back in ld20, partially a personal desire to work on the emotional level. I was hoping for a theme that would let me bring around the tragedies of personal experiences, but Tiny Worlds could work too.
In the best style of megalomaniacs and people who have no idea how little they can achieve over the span of 48 hours, I want to try my hand at a god game. I want to focus much more on the world itself than Populous or Black & White, bringing it a bit in line with Ubisoft’s From Dust. Go a step further than micromanagement. I want the goal to be constant and greater praise from your followers, achieving this through a combination of blessings and curses (who believes in an ever lenient god? And, conversely, who would want to believe in an ever-terrifying demon?) that come in the form of shaping the things in the world. Are people starving? Bless them with a new growable crop with greater nutritional value or a new animal species. Have they grown fat, decadent? Create a plague to either reduce the population or the crops – or both!
Bear in mind this is all just 90 minutes into the compo (eh, make that 86 minutes), so I’ve got pen and paper lying everywhere trying to create a proper model for all of this.
The first game pic is simply 20 procedurally generated humans chasing the cursor. The graphics style is however quite telling at this point. Tiny World, Tiny People – Atari style!
After a winter hiatus I’ll be tossing my lot in, once again. Hopefully, I’ll be able to put in a fuller soundscape than some random piano chords and longwinded soliloquies, perhaps even art that doesn’t look like a 3-year-old’s entry into the local Mommy Fridge gallery.
Tools, once more, of the following:
- Flashpunk (aided by Flashdevelop)
- tellusLibsAS – a home-rolled set of helper functions for small tasks.
- Paint.NET for the needs.
- Musagi, sfxr and possibly Audacity for the audio stuff.
I had hoped to garner sufficient proficiency with a C++ lib to shift platforms, but alas I must hold myself to the excellent product of Chevy Ray instead.
I won’t be joining my kinsmen in Copenhagen, instead withdrawing to the outer regions of Aalborg of the northwest, possibly with a few like-minded fellows.
Seeing as how I’m taking a short break (enjoying some three-year old curry soup; still good) and blogs are possible again, I thought I’d apprise the few interested parties as to my progress.
Yesterday I set a goal to get 70% of the game logic in place before going to bed. I’d say I hit that milestone, despite tons of trouble with collisions and camera issues (I’m entirely at fault, naturally). Currently, I’m cleaning up the remaining interactive parts of the game and I hope to have all cutscenes drawn and coded by midnight (local time, GMT+1). The remaining time will hopefully pass with voice work and music.
I like where the game is headed, it’s actually trying to tell a story. Now I just hope the rest of you see that as well
I gotta say the theme hit me just a tad on the wrong side of mind. I’ve had a single idea running through my head that has connotations with several of the like-minded themes that were in the running – in particular criminals, thieves and finally escape. I really wanted to hit something within personal, intimate domains, but despite a lifetime of stories and experiences that would be phenomenal to present through an interactive medium, I simply couldn’t conjure mechanics that would convey it properly. Instead I’m gunning for what runs within the story of criminals and thieves, but with the purpose of escape – I hope it’ll run sufficiently within the theme for people’s liking
Anyway, I’ve been fighting with collision detection and vector transformations in FlashPunk (which I haven’t done before) – in retrospect a needless problem if I’d worked within those domains prior to the compo. This time around I’m focusing more on mechanics and much less on visuals. I’ll try and get by with a mix of minimal-frame 16-bit style character images in key places and let all actual interactive gameplay happen with bright colours and primitive shapes to make it easier to follow.
Although the design doc has about 7 distinct levels of gameplay types, I’m hoping to finish at least 3 (and an intro) within the weekend.
Here’s an alpha pick from the first gameplay section, tentatively titled “Hiding the Evidence”. A few debug sprites in there (if you can spot them). Ignore ‘em.
And I’ll send a video Sos’ way once my sinusitis clears.
I’ve grown fond of Flashpunk over Flixel through the past few months, so that’s the targetted platform this time, together with whatever scrap code is lying in my public Github repos.
Music will be a nice change. I’ll try and apply my newly-acquired Yamaha keyboard to a more audibly pleasant experience. If I can bend OpenMPT or another tracker to my will (any clues on how to record note length, intervals between notes and chords in a tracker without it just mashing it together in a single pattern?) then that’s the plan. If not I’ll use the excellent Musagi.
I won’t make it before the compo, but I would like to make a very small boilerplate lib with various Flashpunk-based classes for rudimentary visual stuff like title and game over screens, tooltips and dialogue boxes. So wasteful to redo those horribly redundant things every time.
I have serious doubts as to whether I’ll reach my goal during this miniLD. While my initial ideas were interesting the fun factor would be very circumstantial.
I’ve reached a point where I know what needs doing and most of it is cleaning up code in aggregate classes, art assets and sound. Sound is my enemy, and unfortunately such a central part of the game, still. Luckily, I “only” need to make a single music track with four or five instruments (reason pending) for a single level of gameplay, maybe 3 minutes or so.
I have just under 23 hours to finish this thing. Let’s get crunchin’
As the screenshot hopefully implies, it’s still a chaotic mess. Maybe I should add five pixels worth of depth?
So the tentative title is WarBeats and is hitting the borderline between games like Rez (where the music reacts to the player’s actions) and Guitar Hero (where timing is key to high scores).
I’ve narrowed down the actual design and working on putting the pieces together. Three to four weapons are used to destroy the same amount of enemy types. Firing and destroying generates musical queues, while the marching army generates a constant beat to the music. They fire automatically, my intention being that the rifle shots are the central melody of the composition. So, beat (marching), tune (rifles), incidental rhythm (player actions). It either becomes sweet music or bitter cacophony. I’m too far now to turn it any other way
I’m piecing together standard parts right now, trying to ignore the really tough features. I’ve figured out a model for the music sequencer that should (hopefully) minimize delay between synchronized musical samples to a very small millisecond count, but coupling this with movement of spawned enemies to the rhythm is quite a different beast.
I doubt I was the only one to break out in a small private karaoke concert when the MiniLD theme was announced. War followed by Cannon Fodder (in all fairness in this version by Press Play On tape). Closely behind followed Fortunate Son. Had this been a true LD these songs would be playing in non-stop repeat. Seeing as how I’ve got more than just the 48 hours, I fear for my sanity should I keep the music running.
Regardless, the music gripped me instantly and tossed me back to what I consider the epitome of W*A*R – Vietnam. The satire of Cannon Fodder and the udder foolishness expressed by both Edwin Starr and Credence Clearwater Revival (henseforth CCR) easily sets the stage for war gone wrong. Beyond this, I’ve had a notion of fiddling with games that work heavily with music. Trying to merge the two has given me three options:
- Guitar Hero Vietnam (meh)
- ReZ vietnam (still meh)
- Compose-a-war (yeh!)
I’m going with the final one. In principle, I’m aiming for an RTS-puzzle hybrid that relies heavily on the rhythm of the music as queues to the player on how to react to enemy movements. This requires some intriguing features not innately accessible in the engine of choice, most notably a run-time dynamic music tracker. Fun fun!
Anyway, to summarize my tools du jour:
Engine: Flashpunk (custom version integrating RichardMarks’ sound mixer and a few custom fixes)
Music: Pure code (rhythms tested in Musagi and MODPlug Tracker, samples created with sfxr or my vocal cords)
Others: tellusLibsAS, a modest helper library publicly available on Github.
Break a leg, everyone!
So this was my first Ludum Dare – ever. The only thing I had expected was to have “something that doesn’t crash – and it has a gameover screen” and a funfun time doing it. Largely, this was a succes.
First of, a few things of note about the compo itself. One thing is some of the submissions that are simply astounding for a mere 48 hour project. Several of them are basically “Newgrounds-ready” and with a production value that compares to games with several months of dev time. Being able to launch that much content (and of such a high quality) in so little time is both intimidating and inspiring.
The other thing of particular note to me is the very liberal interpretation of the theme. Being a hardcore rule jockey I intended to infuse my game with every ounce of the theme I could muster, the phrase itself being not only a corner stone but the very pivotal point of the interactive experience. This stands as a stark contrast to by far most of the entries I’ve rated so far (about 70 as of the time of writing). Mostly it was a question of slapping out the phrase within the first 15 seconds or two game screens and just have it done with – then send the player onwards to something else. It strikes me as unfortunate, as I perceived the theme not only to be a loose constriction (and at this point, more a labelling requirement than a constraint at that) but a creative demand on the developers. However, several games managed to use the theme in subtle and unspoken ways. All manner of partnering mechanisms have been displayed in ways I wouldn’t have dared to imagine, and it’s been a thrill to experience an actual interpretation of the theme as a gameplay mechanic more than simply a phrase or a meme. Thank you to those devs for the experience
Now, back to my poor excuse for contemporary satire. As I woke up four hours into the compo and saw the theme I had an instant vision of the game and its purpose. I wanted to expose and criticize the theme as it has manifested itself in modern-day zombie horror games, basically from the transposition “it’s dangerous to go out alone. but I’m not going to go out with you and instead offer you something that may or most likely may not be of any assistance to you in your coming challenges”. Intended as a light-hearted jab at the large body of zombie games I wanted to depict the eternal and largely futile journey of post-apocalyptic survivors in the wasteland. The actual gameplay challenge would lie in very simple mechanics from one round to another against a horde of enemies with no particularly discernable features.
What became my downfall, I think, boils down to experience – pure and simple. I have never constructed a “finished” product before this weekend, and I spent a lot of time getting to know library mechanics of flixel I had never worked with before. I spent time getting to know musagi and sfxr and lost almost an hour of work trying to make musagi export wav files (an issue most likely caused by sound card and driver). Being an incarnated code monkey I live by the addage “content comes later”, constructing frameworks, boilerplate, mechanics and anything that is made with a text editor until I absolutely have to put something into image or sound.
To be fair, though, the final version differed primarily only in content, but I would have liked to do these things:
- More items. Either 12 distinct items with different mechanics or 3-4 base mechanics and a slew of aesthetic variations on them. I ended up with 3 release, 1 coded item. The final item started out as a sparkler (don’t ask), turned into a flamethrower (simpler implementation), finally a stick (even simpler). The stick was basically a burning spear and so I removed it.
- An actual way to die from the challenge, not from boredom.I had planned more zombie types and I would have liked distinct options for defeating each, to make sure the player actually had to think while playing.
- Prettier graphics. All over. 6 hours before deadline I was suddenly struck with a graphical style I could’ve pulled off if I had the time. I had to rely on a mouse and Paint.NET to draw the barebone necessities.
- A more solid soundtrack. I wanted to make a single ambient musical soundscape underlying the complete game, while subtracks would play within each game state to underline their purpose. I simply didn’t have the time or skill to compose something that could have done it properly.
In the end, however, I’m satisfied with myself, and I’ll prepare better next time. Buy a drawing tablet, have all the necessary software installed beforehand and spend weekends up to the compo running drills to prep myself.
Now then, I’d better get back to enjoying the other entries. I’ve been laughing steadily the past two hours over one entry or the other and there seems to be no end in sight
Two hours left and I have the choice of either more generic items, more generic phrases, better difficulty increase or better music.
… difficulty, then phrases.
Man, you really get to remove planned features viciously as time runs.
There’s really nothing new to show on the screenshots. The devil’s in the details.
Uploaded the demo (so far) here: http://www.j-space.dk/ld20/index.html
It’s a mess compared to many of the other things I’ve seen displayed on the site, but I’m proud of the amount of stuff I’ve produced on my own throughout the weekend. I’ve decided to purchase a drawing tablet for the next compo and practice drawing – I also plan to secure the services (well, availability) of a friend’s recording studio so I can make cleaner sounds.
Criticism is welcome, but will be promptly ignored