Sunday, March 15, 2015

Do you remember Memory Lane? (CityStreetsVille retrospective)

It's been months since I last posted anything significant to this blog. Even after stating I should post more, all I have in the last couple posts is a review of a level generator and a rant about something that I really know nothing about (voice acting, really?)...

I do have a remedy, though...

CityStreetsVille

Yes, after a few years of non-action, I finally came back to Source mapping and the contests that inspired creating this dev journal. If you have a chance you should try out the mod if you have Half-life 2 : Episode 2 installed. There's some really good stuff in this contest pack, much unlike my entry in it...

Memory Lane

When I awoke, there was a written note by the door...

I really don't know how to approach talking about this. I admit, even at the end of this contest deadline, minutes before turning in my entry, I felt like I did something wrong. Even after I submitted the entry, I cut and tweaked it several times and requested to resubmit the entry days afterward. And after it was made public, I felt the immediate urge to apologize.

At this point now, however, I don't really feel like it's the major failure that I originally thought it was going to be. However, a lot of the feedback is pretty much dead on, especially the negatives, and for the most part feedback was consistent enough that I almost feel ready to tackle the project once more before it continues to fade into mediocrity.

Good Intentions (Like All Roads to Hell)...
I tend to approach most contests with a personal goal of subverting expectations, often to my own detriment. This contest was no exception. Immediately on mention of using Half-life 2 Episode 1 for reference, I made an internal goal of getting as far away from City 17 as possible.

Inspired by an abnormally foggy day in downtown on the day this contest was launched, this map set out to create a realistic looking setting based on an American city, as opposed to the City 17-like, European city streets throughout the Half-life 2 universe. Knowing early on that one week is not enough time for a city map, I started out trying to scope this as simple as possible, planning a single uphill block, and focusing on wave-based combat as the main driving force, and rewarding the player with elements of story. I admit the result leaves much to be desired.

To be honest, much of the original idea had been scrapped and forgotten pretty quickly over time, in favor of more story elements, leaving much less time for combat testing. The only things that stuck was the heavy emphasis on story over combat, and on rewarding the player with visuals: the text was never supposed to be mandatory and a majority of combat was outright avoidable on subsequent playthroughs when the player knew what they were supposed to do.

Once again, I guess it sounded better in my head than it did in execution.

This...
...To this was too jarring in retrospect.
I don't really want to say too much about the story, not because I don't think it's not worth talking about, but because it's incomplete in this map, and the ending is a cop-out because I wanted to avoid the words "To Be Continued" at the end. I'm pretty sure if I want to try to finish the level proper and talking about the story would actually spoil the better twist in the whole thing. Believe it, it's better than the player redoing the same mistake...

Take-aways from the contest:
In my opinion, Memory Lane wasn't a success or a failure; it was incomplete. Many people had consistent complaints that I can't help but agree with, but a lot of them could have been discovered and attacked with an extra week of testing (or just an extra week in general):

Always plan and estimate ahead of time (don't accept death march mentality):
I feel like there were plenty of times where I knew the idea I had planned wouldn't be doable in the time frame. I can say that I barely scraped about 40% of what I wanted out of the two weeks I had. It could have been more, but I was already over-reaching at the end.

Trust your gut when combat isn't fun:
The current street battles aren't fun. Compared to many of the other entries here, the choice of weapons mixed with the sheer number of enemies the player has to face is too hard on most people. Unless you're aggressively pushing your way through and hunting for health, you can die too quickly. Even while playtesting it personally, I found myself more bored than I should have been, and my fingers kind of hurt after trying to use the pistol so many times against metrocops. What should have been a fun mechanic was punishing as a result. A lot of people are saying half of the number of enemies could have been enough. I think it maybe should have been optional altogether.

Text is not fun:
There's an old adage of "Show, Don't Tell" that reigns true in game design, but in this level, there was a bigger issue at play. A few people cited that they didn't enjoy the reading in this, but I think one playthrough said the most when they criticized that I should have used voice acting instead and that the text was in the way. It was at this moment that I suddenly realized there was a bigger issue here that I'd always overlooked. People don't just dislike reading in general, the text on the screen made it impossible to look past it at any visuals. This was a bigger issue and it sort of ruins the moment, and also kills the pacing in the faster action areas.
I think I can fix this one while still hanging onto notes, but the notes need to be one line of dialogue to really work. Even then, I'm not sure how to make it more memorable than fluff.

Text is not (nicely) supported:
A majority of the notes in this level were provided through game_text entities (documented here). While useful for small-time usage, it was clearly never meant for anything more than title text or even simple sentences. Hammer has a very annoying bug regarding new line characters that require you to open the map source file in a text editor in order to correct Hammer automatically mapping '\n' into '/n'. Quotes are also impossible, and any attempt to use the quote character will make Hammer crash on loading your map, once again requiring you to fix this in a text editor.

The concept is 'interesting', but poorly executed:
I got this a lot, and I realize that 'interesting' is vague enough of a concept that it could go either way. It could actually be something inspiring for some, and for others 'interesting' could have just been the most polite thing to say. I feel like the story I told was kind of terrible, made worse with the rushed nature of the contest not allowing me at least half of the story elements I wanted to include. This isn't really the fault of the contest; I could have told the story in a better way overall. Some people really liked this entry though, so I might have done something right, yet mildly polarizing on the whole. I generally don't like being that hit-and-miss guy, though...

Keep it Simple, Stupid!
The winner to this contest was primarily an action-based shooting level with little to no story, but a clear and up-front goal. Many of the assets used were already part of Half-life 2, and were easily available to anyone that wanted to use them. These gave Marnamai a clearly thought-out advantage and they didn't need to re-invent the wheel just to get core mechanics working. I don't know where to sit in this camp, because I can't deny quality over creativity when the idea doesn't work, but without experimenting, it's impossible to find out what works in the first place.

Looking Forward...
Memory Lane is kind of depressing to look back at. I have an extremely tough time watching people play it because it's at a point where, despite knowing internally that it's not a finished product, it's being played and criticized like one. There's a permanence to the whole thing that really shouldn't have happened. Hindsight is 20/20 for the most part, and it often looks the worst when you see your hard work pulled through the ringer.

On the other side of it, though, I feel a little better that it wasn't completely bad. I tend to be unrealistic when looking at my own stuff, and sometimes I need to ground my thoughts by rereading over other people's reviews. I can't get through the recorded play throughs without cringing, but it's clear there are parts that work, kind of, at least.


I don't know what the future of this map will be. I want this map to have a future. I don't really want it to end as a failed attempt at something when it's so close to working out to something stronger. At the same time, the longer I wait to decide, the more negative things I find, and the less desire I have to finish it. I have other things to do, but the fact this one is still hanging undecided makes it harder to choose.

Meet me at the lake... where we already had plenty to drink.

I'll need to think on this. The canned reserve is tastier anyhow...

Thursday, March 12, 2015

Oblige'd! First impressions (v6.20)

So... I just tried out version 6.20 of Oblige, a level generator for various versions of Doom.

Quick pic of the UI.








Screenshots taken with GZDoom 1.8.2 and Brutal Doom v19


And to be honest... color me super impressed. Keep in mind, these levels were all generated, and it took less than a minute to make the whole wad. This wad was generated using close to the default settings (I did use the GZDoom engine setting, which is why some screenshots have bridges), so it goes to show both how far this level generator has evolved, and it shows the potential for procedural generation in 3D (Two-and-a-half D out of Three D isn't bad).

Keep in mind, this generator does have pitfalls: The difficulty curve spikes very quickly when making episodes with it, the actual enemy placement is a bit questionable (even blindly random), and larger levels start to show the big box they were generated inside. It will also sometimes leave inaccessible geometry lying around, the secret areas are hard to find (sometimes failing to even give a hint to the player by placing the hint on the wrong side of a wall), and trap areas can vary from fair to near unplayable with how many secret doors can be hidden in one single room.

Part of this could be because I was playing Brutal Doom instead of vanilla Doom and this level generator doesn't really account for the extra difficulty, but most times Brutal Doom actually complements the generated levels.

Not sure why the generator saw fit to include a cyberdemon in the first mission of Episode 3, but there it is.
Given that Oblige (and formerly Slige) get general hate from the Doom community (and most level generators get similar hatred) for the fact that better level generators make it harder to tell when someone is uploading generated content as their own, I still think it's a fun tool if you want the nostalgia for Doom, but don't want to play the same levels from the original game over and over again.

I recommend.

You can download the generated wad used for screenshots here or you can create it yourself using this config file in Oblige (version 6.20). You can download the latest version of Oblige at it's SourceForge site here: