ludum dare – the megastructure development blog http://blog.megastructure.org tracking construction of megaprojects Sun, 23 Dec 2018 15:54:33 +0000 en-US hourly 1 https://wordpress.org/?v=5.0.2 Ghost Town post-mortem http://blog.megastructure.org/2011/12/ghost-town-post-mortem/ Sat, 24 Dec 2011 17:28:49 +0000 http://blog.megastructure.org/?p=564

snake snake snake snake snake snake snake

Less than a week ago, I was busy developing a game called “Ghost Town” (see relevant post). This has been, by far, my most productive and successful Ludum Dare for quite a while, perhaps since April 2010. That’s not to say I haven’t gained anything from these other Ludum Dare competitions, but I’ve usually gone into them half-heartedly or with too grandiose a concept. The main reason is probably because I was trying to juggle my Physics degree and work at the same time.

However, I would like to save the motivational analysis for a future post (I have much to say in this regard!), and let’s get down to the technical/artistic breakdown of what happened.

The theme

I’m going to let you in on a secret: I didn’t do any voting for the theme! Not a single round. I think SoS Sosowski and the other Ludum Dare organizers did a fantastic job of weeding out the “weak” themes before the voting even began. Each round, I found myself looking at the list with indifference, because any one of the themes could work as an inspiration for games. I’m happy to say I didn’t build any expectations, nor did I feel any disappointment when I woke up on Saturday morning to find the theme announced as “Alone”. That said, I didn’t feel much in the way of identification with the theme either. (Though I will say that it was a crushing blow to see “Kittens” pushed to the end of the list. That was undeserved cruelty.)

When I awoke that morning, I didn’t get up immediately. I kind of went back to sleep. During this quasi-sleep, or maybe when I woke the second time, the idea of having a snake jump out and bite the player in a surprise cut-scene came to me. I put it aside in my gigantic brain, in the hopes that I’d come up with something better.

As per tradition, I left the house almost immediately, carrying my trusty camera. Instead of standing around waiting for an idea or forcing one into existence, I try to clear my head and frame photos around the theme. You can see these photos here, on my G+ photo album. I think they captured the feeling of “Alone” pretty well.

When I got back, I stared at the whiteboard for a while, trying to build some free associations. This didn’t lead me too far, and I just kind of ended up starting to code and draw things without really having a clear idea of where it was going.

I don’t believe that this thoughtlessness did much harm to my project. I knew something had to happen with ghosts, and something had to have a dangerous, filthy atmosphere to it. I knew there was a snake in it, and the snake was meant to surprise the player. This would be introduced by a cut scene, in which the player has a near-death experience by a hit-and-run snake.

With these things in mind, I set to work.

Coding

I used my boilerplate Flixel code to put together this platformer. On the one hand, I’m quite pleased with Flixel and I’m very comfortable with it as middleware for my Ludum Dare games. It is extremely fast and easy for me to get up and running, because if I forget how to do something, I have tons of in-house reference code I can look at. On the other hand, it means my games usually look and feel the same, and not just because Flixel lends its own look-and-feel. It has to do with how I build them, always in the same kind of general way. If I ever want to branch out and try something new, it will probably be difficult if I use the same Flixel basecode I am used to. But like I said, the learning curve was absolutely flat, and my game was up and running in no time at all.

But this smooth flow of coding was not to last. Following up on my “surprise snake” cutscene, I decided I needed a generic[ish] scripting method…. Things started to slow down here. I implemented a generic scene that would receive an embedded XML with a list of triggers and actions. The triggers would be read from each scene’s maps built in Tiled. It was daring and risky, because once you start building such a system, there really is no end to it. You can keep adding features and trigger options until coding each script takes longer than it would to simply add a huge “switch” statement with special cases.

It ended well, because it did work. But I think things would have been smoother if I had either already built such a thing (elegantly, unlike how it came out during the competition), or if I had just added special cases (ugly, but much faster to get working, and justified because of the small scope of the project). So this goes on the list of things to practice or wrap in an Eli Basecode library for the next time.

The artwork

Artwork for this game splits itself into two neat categories: spriting and backgrounds. Spriting was a huge challenge for me, because I really suck at animating. I think I did better than usually, because the walk cycle for the main character has more than two frames in it.

 

But the sprites did come out ok. Especially the ghosts, which I made using Photoshop, not GraphicsGale.

The backgrounds are a whole different story. For over a month, I’ve been attending “intuitive” drawing classes, and drawing something on my own nearly every day. While the idea was not to make “intuitive” style backdrops, I decided I would use the painterly style. These backgrounds were very easy to make, and I blitzed through ten of them in a really short time on Saturday night (direct link to portion of video with “background blitz”). Doing these backgrounds (and the tiles that went with them) are surely the high points of my Ludum Dare entry. Feeling at home with a tool is the greatest. In this case, it was Photoshop.

Sounds and music

And after that bout of self-congratulation, we arrive at the hardest part of the post-mortem. This part went all wrong! There are no sounds, and only one tiny musical riff played when the player finishes a screen. (I have been told that it does more harm than good, and I should probably have just left it out.)

So what happened here? I’m no stranger to music and sound in games, especially Ludum Dare. In retrospect, I think there was a certain kind of pressure I fabricated for myself, demanding too high a level of quality for the game. I could have made something simple and had a more complete entry, but the “visionary” Eli decided this was not good enough. I had great ideas for atmospheric sounds (windy building interiors, ghostly ambience, etc.), and five minutes with bfxr just weren’t enough to make it happen for me. I gave up on sound.

Music had a similar failure. I wanted some kind of moody music. The original idea even had more than one tune: Quiet ambience from the start of the game, followed by tense action sounds after the snake cut-scene, and finishing up with a wistful melancholy song for the ghosts. Obviously this was too much.

I think there are two ways to deal with this in the future. Either I should practice throwing together simple songs on a theme, or I should lower the demand on myself when it comes to the compo. Perhaps a mixture of the two will do it. Either way, being paralyzed because “it probably won’t come out good enough” is against the spirit of Ludum Dare and my own recent mindset about creation.

Overall

Overall, it was an excellent Ludum Dare weekend. I had a terrific time. Stress levels were high, and I had a very hard time getting to sleep, even after submitting the finished entry. But I did eat properly (mostly thanks to having a caring wifes — highly recommended), and I don’t feel I neglected myself.

Another difference this time was the recording of the timelapse. I found this to be a great productivity tool. I did take breaks, and I did find myself staring at Gmail or Google+, but every time I did so, I remembered the timelapse photos being taken and these breaks sort of ended themselves. Trying to make a good impression for the camera is an excellent motivational tool, (as long as it is voluntary!). Of course, when it’s all said and done, the timelapse looks pretty much the same. A blur of code and pixels flying by, and it inevitably looks like the subject is some kind of magician. So who knows if this productivity “trick” will work next time….

All in all, it was a fantastic weekend, and I look forward to the next one: Ludum Dare’s April 2012 edition will mark its 10th anniversary, and it will surely be a compo to remember.

]]>
Ludum Dare 22: “Ghost Town” http://blog.megastructure.org/2011/12/ludum-dare-22-ghost-town/ http://blog.megastructure.org/2011/12/ludum-dare-22-ghost-town/#comments Tue, 20 Dec 2011 21:52:49 +0000 http://blog.megastructure.org/?p=549

Here is my entry for the 22nd Ludum Dare 48-hour game development competition.

All in all, it was a terrific experience (again). Very stressful, but extremely fun at the same time.

Links:

Bonus: a time-lapse video of the entire development process! Starring Chloe the wonder-cat as spiritual totem of Gamedev.
Coming soon: a postmortem!
]]>
http://blog.megastructure.org/2011/12/ludum-dare-22-ghost-town/feed/ 1
Escape Imprisonment at the Satanic Mental Hospital – Ludum Dare 21 http://blog.megastructure.org/2011/08/escape-imprisonment-at-the-satanic-mental-hospital-ludum-dare-21/ http://blog.megastructure.org/2011/08/escape-imprisonment-at-the-satanic-mental-hospital-ludum-dare-21/#comments Sun, 21 Aug 2011 23:04:28 +0000 http://blog.megastructure.org/?p=488 Ludum Dare 21: “Escape”

There were tons of features I wanted to add, notably the huge sub-plot where the character is actually a mental patient “escaping” their reality by inventing a punching hero. The game was meant to switch back and forth between these two realities.

Visit the Ludum Dare entry page here.

I made everything, but the Wifes donated some voices for the evil nurse.

Thanks for playing, and thanks to all who cheered me on!

Special thanks to Daniel Zoran moral support, and also for really powering through this competition. His entry is most impressive!!!!

]]>
http://blog.megastructure.org/2011/08/escape-imprisonment-at-the-satanic-mental-hospital-ludum-dare-21/feed/ 2
Player Non-Player Characters http://blog.megastructure.org/2011/05/player-non-player-characters/ Sun, 08 May 2011 15:33:23 +0000 http://blog.megastructure.org/?p=444 They stroll the alleyways, sit upon thrones, lurk in dark caves, and ply their wares in every item shop. Non-Player Characters make up a good fraction of the game population. In effect, these representatives are the face of the game world for the player. In contrast to enemies, the main verbs available to these individuals are monologues, dialogs and buying/selling/giving items.

It might be said that NPCs fit into specific typecast roles because that is how they are most useful for the game designer. In a world built out of limited content, there is little room for more than a token representation of “real” individuals, making the generic NPC rather shallow.

 

NPC

NPC - an experiment from January, 2010

Or are they? About a year ago, I made a sketch of a game called “NPC” (you can play it here, if you like – it even has music by Chen and graphics by Daniel!). Taking control of an ordinary peasant child, various adventurers may approach you and ask for a quest in order to gain experience and items. The quest is invariably to find a lost cat.

In this experiment, the twist that I found most intriguing was the multiplicity of “parallel worlds”, such as it were. Multiple adventurers are tasked with finding a lost cat, and each of them supply an identical-looking cat at the end of their quest. At the end of the game, a summary screen proudly displays your feline collection, as provided by adventuring heroes, the “player characters”.

 

It's dangerous to go alone! Legend of Zelda, 1986

Legend of Zelda, 1986

One of the most famous NPCs is the Old Man from Legend of Zelda (1986). In the midst of a grassy field, surround by mountains, a small one-room cave is situated. The Old Man, accompanied by his long white beard, red habit and sword have been waiting patiently for you, the player. Framed by eternally-glowing fires, the ritual begins. The magic words are uttered: “It’s dangerous to go alone! Take this.” The Item is offered (sword). Newly armed, the player can continue the quest.

So very late

Old Man is in quite a bind!

In the most recent Ludum Dare 48-hour game development competition, this “ritual” was the chosen theme: “It’s dangerous to go alone! Take this.” Many of the competition entries dealt with this famous Old Man scene, from all sorts of different angles. My take on the concept was to assume control of the Old Man himself, rushing from cave to cave and dispensing both crucial advice and Item against a ticking clock.

From this viewpoint, each cave corresponds to a different player, perhaps even a different game universe. This is because the Old Man, much like other NPCs, can exist in an plane orthogonal to the player. As we have become accustomed, the player can explore a single slice of the multiverse, whereas the Old Man and his various counterparts exist simultaneously in all these different worlds and zones. Furthermore – some NPCs exist in all parallel universe and at all time. Old Man will wait for you, the player, for hundreds of thousands of years, if you make him wait that long.

In fact, he is waiting for you right now.

Even though we take the part of a Non-Player Character, the player is playing, so should they be known as Player Non-Player Characters (PNPCs)?

One of the comments on my Ludum Dare entry (written by DrPetter) was this:

… Would be a lot of fun to see more of these “behind the scenes” games based on NPCs from famous titles. That could be a compo theme in itself, so many silly possibilities :)

Undoubtedly, peeking behind the curtain would provide much fun and entertainment, especially to those who are familiar with the old classic games. However, there are many issues to explore here. Instead of revealing the vacuum behind the façade-like characters populating games, I propose we embrace the mythology of cross-dimensional entities, and perhaps try and enrich their existence instead of empty it. (Does this help us understand the Many-worlds interpretation of quantum mechanics?)

Or, taken a step in the other direction: a single mind (the player) exploring a world of mindless automatons is reminiscent of solipsism. What can we learn from this game model that we can apply here on Earth?

How do these in-game entities change as we add other player characters (multi user games)? How do they change as artificial intelligence is improved?

What are your thoughts?

]]>
The Legend of Old Man – Ludum Dare #20 http://blog.megastructure.org/2011/05/the-legend-of-old-man-ludum-dare-20/ http://blog.megastructure.org/2011/05/the-legend-of-old-man-ludum-dare-20/#comments Sun, 01 May 2011 21:54:12 +0000 http://blog.megastructure.org/?p=423 This is my entry for the 20th Ludum Dare 48-hour game competition. The theme was “It’s dangerous to go alone! Take this.”
Screenshots:

Play The Legend of Old Man after the jump.

 


Play using the arrow keys (you can also jump with X or the spacebar). Type when prompted, and please excuse the terrible dictionary – it’s the best I could do during the short competition.

Here is the game – you might need to click on it to give it focus.

 

 

See original entry page for voting and more details.

Also available: complete source to this project.

The Legend of Old Man was built in Flixel, using the FlashDevelop IDE. Photoshop and GraphicsGale provided drawing tools, and Tiled was the map editor. I used a short Ruby script (included in source) in order to help compile the word list. FL Studio was used for the “music”, and I used Audacity and Increpare’s lovely bfxr for the sound effects.

 

]]>
http://blog.megastructure.org/2011/05/the-legend-of-old-man-ludum-dare-20/feed/ 1
WorstQuest: The Quest for the Worst Game http://blog.megastructure.org/2011/03/worstquest-the-quest-for-the-worst-game/ http://blog.megastructure.org/2011/03/worstquest-the-quest-for-the-worst-game/#comments Sat, 19 Mar 2011 22:34:29 +0000 http://blog.megastructure.org/?p=384 Nobody sets out to make a game with the goal of creating the worst game they have ever made. Or do they? This past week, some 35 developers attempted to do just that, spurred on by the 25th Mini-Ludum Dare competition, “The Worst Game I Have Ever Made”.

The competition, hosted by the elusive MrDude, broke the classic competition mold and asked participants to strive for the one thing they would never consciously desire to make. But what is “bad”? If one succeeds in creating a bad game on purpose, does the game become good? If a game achieves “worst game” status, doesn’t that make it good automatically? Would the 2nd-place Worst Game be promoted to first place, thus eventually emptying the “Worst  Games” set?

We could run in philosophical circles – but what about practicality? Can we analyze the entries (in, say, a blog post), and use the results to better our game-making skills in the future? Can we help identify what makes a bad game so bad?

Non-games or games that are meta-bad

It’s hard to call these “games” at all, and thus hard to learn from them. Anything I add at this point would probably deteriorate into a “what is a game” discussion, so we’ll just leave it as-is.

Examples:

Glitchy and buggy games

Of the glitchy games, the most pronounced was probably the nearly-unplayable “BOBER<S QUEST”, in which the simple task of moving left or right becomes a tiring chore.

More importantly is “Upside Down”. Besides being (as the title suggests) an upside-down and backwards platformer, the glitches here are so woven into the fabric that some puzzles relied on glitches in order to be beaten. This kind of broken game-world opens new venues of exploration. I tired of this game rather quickly, but the takeaway here is that the rules don’t have to be constrained to higher-level concepts, but can blur into technical limitations as well.

Examples:


Games with viable concepts that were seemingly thrown together

To these developers, “bad” meant “unrealized potential”. The core gameplay was (supposedly) good, but the game was tacked together hastily or unskillfully (on purpose or not, obviously). Are these bad games? Could they be considered prototypes, or proof-of-concept material?

Examples:

Games that insult the player’s intelligence

Some developers interpreted “worst” on a higher level. My favorite was “Hero Test”, which leads the player through a series of unbeatable challenges, served with insults.

Examples:

Boring/repetitive games

The worst kind of worst. Making a boring game is easy. A developer is nearly guaranteed to succeed in making a game repetitive. Any takeaway that I could offer is: don’t do it.

For example:

Games that defy categorization!

Potato, potato: potato. Potato potatoing potato, potato. Potatoes, potatoed potato.

For potato:

Final thoughts

I am mostly interested in how these games differ from a game that was not meant to be bad, yet came out that way. The most famous was E.T. the Extraterrestrial, but there are many, many others. Further research into previously-made bad games will undoubtedly improve the way we build new ones!

On a related note, this competition taught me that letting go of our ideals can lead to many new concepts and directions. Also, it’s easier to finish something if it is meant to be bad! And finishing things is the way to salvation.

You can check out the other entries in the competition, as well.

]]>
http://blog.megastructure.org/2011/03/worstquest-the-quest-for-the-worst-game/feed/ 2
Mini-LD25 “Worst Game” – Chompre http://blog.megastructure.org/2011/03/mini-ld25-worst-game-chompre/ Mon, 14 Mar 2011 08:26:44 +0000 http://blog.megastructure.org/?p=376 I made a worst game for the 25th Mini-Ludum Dare competition, “The Worst Game I Have Ever Made”.

 

Trying to make something bad seems to relieve one’s self from the stress of making a great game on your first try. The competition is still open (for a few days at least), and I recommend giving it a shot.

Play Chompre here.

edit: BONUS!! Concept artwork!

]]>
Mt. Brawlalot – competition results http://blog.megastructure.org/2010/09/mt-brawlalot-competition-results/ Mon, 13 Sep 2010 20:14:50 +0000 http://blog.megastructure.org/?p=295

Audio: 8th place

Humor: 10th place

Everything else: wayyyyy out there!

This game was definitely not innovative. Innovation was not one of my goals this time around – mostly because of the theme (“Enemies as weapons”). Another excuse I have for not being innovative was my worry that I wouldn’t manage using the Unity platform, so I decided to keep it simple.

Similarly, I did not intend to put much into graphics, and the game looks appropriately. Nothing is animated, the textures are ill-fitting and simpleminded, and basically everything is a barely-modified box or sphere. (The audio, however, came out pretty much as I hoped.)

One of the goals for this competition was to make a fun, humorous game. I went for light-hearted sounds and flavor text, instead of the heavier, mysterious atmosphere from You are me now. The feedback tells me I succeeded in making it lighter and funnier.

However, the big lesson I learned here was that “funny” does not mean “fun”. Most responses to the game were positive when it came to their initial reaction, but the controls were so bad that nobody could actually bear playing it more than one or two rounds.

(See feedback on the entry page.)

And so we arrive at my weakest point of all: control schemes. All three of my attempts at the Ludum Dare competition have resulted in badly-controlled games. This is something I should work on before the next competition.

Thanks to everyone who played my game, I hope to make something better next time.

]]>
Atop Mt. Brawlalot – Ludum Dare #18 http://blog.megastructure.org/2010/08/atop-mt-brawlalot-ludum-dare-18/ Tue, 24 Aug 2010 19:33:25 +0000 http://blog.megastructure.org/?p=278 My entry for the 18th Ludum Dare 48-hour game development competition was called “Atop Mt. Brawlalot”. It is the story of one brave individual, who resolves to fling any opposition from the mountain, rather than give in.

The theme of this competition was “Enemies as Weapons”.

The physics are quite wonky, but it is “broken in a good/funny way” as one commenter says. I like that, and yes, I feel it was broken properly.

Links to download on the official submission page.

Also notable were Yoni’s first ever LD entry, and Daniel’s second.

]]>
You are me now – Ludum Dare #17 http://blog.megastructure.org/2010/04/you-are-me-now-ld48-17-entry/ http://blog.megastructure.org/2010/04/you-are-me-now-ld48-17-entry/#comments Sun, 25 Apr 2010 21:25:49 +0000 http://blog.megastructure.org/?p=252 Here is my entry for the 17th Ludum Dare competition!
The theme of the compo was “Islands”.

It is called “You are me now”. You may need to click on the game to give it focus before playing. Hopefully, all instructions are given in-game.

If you get stuck, you may need to backtrack a bit.

(original LD entry) | (source) | (post-competition auto-analysis)

(intro/extro music) | (island theme music)

Review by ZOMGIndie!

]]>
http://blog.megastructure.org/2010/04/you-are-me-now-ld48-17-entry/feed/ 7