Thursday, February 26, 2015

45's Devlog: Part Five (in Which I Discuss One of the Narrative Themes and Stealthily Confess about My Way of Life)

[This is the fifth entry in a series of devlogs for «45», a game I'm currently working on, check out the previous posts here]

I decided to back off a bit and work on the writing and design for a while. This entry should be a good excuse to reflect on the concept and the motivations behind it, since I can't discuss the particularities of the story (so not to spoil the game for whoever is following this devlog).

Anyway, I'm not sure if this is as common as I think but there's a good chance you've encountered someone you'd call double-faced at some point in your life: say in secondary school, a guy who would act polite and reserved when in vicinity of the school staff and would be announced as the exemplary student by teachers in class, and you'd chuckle once you hear that because you know he's nothing like whatever the image he's drawn of himself for the teachers, that he stealthily smokes cigarettes, gathers his friends and go watch porn in the nearby cybercafe after school, and pretty much gets involved in fights every day; or say that guy in college you caught someday with another circle of classmates you thought he didn't even like, acting completely different and more forgiving of their "imbecile behavior", holding a bottle of Stella beer in the middle of the street, the same kind you once mentioned to him and he made naive comments about how beer is made of rotten grapes and discouraged you from ever drinking; or that guy you chill out with every once in a while who's pretty much passive and uninvolved socially or politically, and then you spot him in a photo of a socialist demonstration holding a sign while you were casually scrolling down a news website; or that guy you've never got close to or know anyone who has but who is just always around anyway as an outsider. That guy is pretty much me.

The reason I'm mentioning this is because that's one of the main themes of the game: multiple personas, in my case it bordered on dissociative personality disorder but with the subtle difference that I'm well aware of it, hyperaware of it actually, but with complete depersonalization and lack of the ability to settle or identify with any of those personas. I might be delusional when I say I can even control it to some entangled extent, not in a manipulative or hypocritical kind of way (though I'm not really sure). I've perfected the craft of multiple personas to the degree that it happens with people within the same single groups and gathering places, and aside from the casual suspicion they've been self-involved enough not to care I guess, or was just unconsciously deemed unharmful anyway, well I even have only one Facebook account with all these groups in it and I still manage to maintain those separate made-up self-images in real life. My guess is that it can be easily dismissed as just another guy with an "internet alter-ego", that's why I'm not really bothered by writing about it here. 

Earthbound Zero, one of my favorite games ever

And that's exactly how I've outlined the dialogues and encounters in the game, you would be given the chance to present yourself in multiple ways to the NPCs, with the occasional events that I hope would confront you with the cognitive dissonance such behavior might cause. 

Well shit, that post got more personal than intended, will publish it anyway. 

Monday, February 23, 2015

45's Devlog: Part Four (in Which I Procrastinate in Disguise and Then Try to Recover by Sleeping For a Whole Day)

[Spoiler Alert: It didn't work out]

[This is the forth entry in a series of devlogs for «45», a game I'm currently working on, check the previous posts here]

I have to admit the on-a-whim decision of having procedural trees was a stupid one, I wasn't exactly ready to spend days on researching the stuff and it made a good excuse for disguised procrastination, that completely destroyed the momentum I was hoping to build by starting this devlog. So here's a new rule I'll try to follow from now on: The "research" part shouldn't take longer than 2 hours, otherwise take a break and build something related to the topic being researched, just to make sure you're making any progress at all.

Anyway, that's what I ended up experimenting with, it basically takes a plane of any given size or subdivision and retriangulate it into a bumpy terrain, the same effect could have been easily achieved without the need of retringulation or rebuilding the whole mesh (just like the river waves), but I just needed to wrap my head around mesh generation in Unity after spending that much time (the entire night) reading about procedural generation and being in a state of Gestaltzerfall of sorts.

Having made that utterly useless script, I decided to take a break from the whole thing and (guess what?) get some modeling done, here's one of the key places in the first chapter:

After that I fired up Scrivener and did some writing, I've been using Scrivener for a while now and it suits my OCPD tendencies; having everything tidied up and in one place. My only complaint about it though is the lack of any Arabic spell-check dictionaries, that I know of at least. 

Then I slept for a seriously long time that I skipped work that day.

Saturday, February 21, 2015

45's Devlog: Part Three (in Which I Learn Not to Grow Trees at Midnight, the Hard Way)

[Maybe I should stop pretending this is a daily devlog, so not to confuse the poor souls who might be following this. Someday I'll fully accept that a day is 24 hours only, I promise.] 
[Anyway, this is the third entry in a "daily" devlog series for «45», a game I'm currently working on, check the previous posts here and here]

I thought it would be cool if I had an identity animation of sorts, so I made one. The logo (which was sponsored by numerous bottles of cheap brandy) was originally supposed to be a combination of multiple shapes, and that made it easier to animate somehow:

All was going well and easy up till that point, so in the ecstasy of a smooth midnight start, full of washing machine rattles echoing the excellent plumbing work done the day before, I decided to have procedurally generated trees. 

The next dozen of hours were spent reading about the L-system and Space Colonization; decided to go with the former despite the kickass name of the latter; downloaded a 200+ pages book called "The Algorithmic Beauty of Plants" and started skimming through it, and then a slow realization came upon me: well shit the game is heavily stylized, and lo-fi enough that a couple of polygons can pass for a tree anyway. Also the weather was getting serious outside and all my cozy clothes I just washed won't dry anytime soon. I didn't like the idea that I might have wasted half of the weekend and all of my cozy clothes, and so it was MS Paint to the rescue:

Well, I'll probably still give L-system a try if what I have in mind fails to get the desired results, but either way I wasn't in the mood for anything flora-related, so I switched to modeling, since it's the least brain-damaging thing I can do and still be working on the project. Here's an animated bird:

After that I was depleted enough to admit it, so I took a 4-hour break watching some documentary series from my backlog, then dozed off... Hopefully today will be more fruitful.

Wednesday, February 18, 2015

45's Devlog: Part Two (in Which I Make a to-Do List but Then Discard It and Work on Other Stuff Instead)

[This is the second entry in a series of daily devlogs I intend to make for «45», a game I'm currently working on, check the first post here.]

Well I didn't have much of free time yesterday, unforeseen plumbing work for my apartment had to be tended to, so to avoid wasting the little time left on planning, I decided to do whatever is first in my to-do list:

I've been using Google Keep for a while now, in a way that is not exactly conventional but that I feel effective in my case: Three groups with each being a subset of the other (in a moment of absent-mindedness I titled them Bones, Meat and Skin and just went with that ever since): Bones for the overarching goals (i.e. separate projects, study subjects... etcs); Meat for splitting what's in bones into more manageable/unified slices (i.e. art and programming parts made separate); Skin for dividing them into mini tasks that I should be able to finish within hours.

Or that was the plan, but then sometimes I carelessly put stuff like «Model 1st chapter environment & characters» in one single Skin task and spend the whole day failing at it for not having a clear attainable endgoal, and that's exactly what happened.

I spent an hour or so outlining the landscape of the level, I've barely modeled any open-world environments before, and it sure wasn't a-couple-of-hours task, I got bored fast and decided to code the wave animation for the river instead, now that was an easier task, pass the mesh vertices through a sine function, smooth 'em out with some math hack-fu and voilà:

Surprisingly I had some time left before I could call it a day, so I made some changes to the conversation system to conform to a decision I made earlier to drop the silent protagonist gimmick, now the main character (Norah) can talk:

Ok, that's it for now, yesterday was an alright day.

Monday, February 16, 2015

45's Devlog: Part One (in Which I Introduce the Game Idea and Pretend-Complain about Everything Else)

Here's the typical opening line for such things: This is the first in a series of daily devlog posts I intend to write about «45», a game I've been working on, on and off, for the last couple of years. With little to no progress. Let's start with how the project's git log looked like: 

The first thing I couldn't help but noticing was the uncanny repetition compulsion, only working on the project during the fourth quarter of every year, which is somehow relevant to the game's concept and the persistent notion I've been stuck with since 2012. Repetition.


In technical terms: it's yet another one of those interactive-animation/walking-simulators-with-emphasis-on-story kind-of-game. In parataxis: it's an interactive story; a pastiche of characters/conversations/events/sounds/etc that have, intrusively, perpetually, collared my mind since a certain self-inflicted accident back in 2012. Hence the game title, 45; for a while this number was all over the place in my head, all else in the background, and I was a bit confused, and maintaining the appearance of a functional human being was harder than ever, and Google pointed at me laughing; so I decided to shrug it off and make a game out of it.

The quest began in 2013. The plan was to integrate the concept in a game I shelved back in 2011 documenting my last year in teenhood, conveniently titled 19:

It didn't work out, I wasn't exactly prepared to drown in nostaglia, not in the state I was already in, so many broken prototypes and uncomfortably bizarre life events ensued. I had to restart the whole thing.

Fastforward to the end of 2013, the obsession was fully directed towards the project, outlined a couple of segments in arabic, jumped the polygonal art wagon, initial commits, coded some basic Arabic language support for Unity and then. Nothing. No idea what happened, I guess it was college, the graduation project (volume rendering engine for medical applications, eventhough I only worked on that seriously for like a week and ended up with a hacked mess) and well, maybe hazardous life in general, I got out of the year with some random stabbing scars attained in absurd circumstances in an equally absurd country's everything (i.e. Egypt).

I picked up the project again by the end of last year, now in a completely different situation where I have a job in an ad agency in Cairo, which I took just for the lack of a better distraction in the purgatory period that is waiting for conscription. Anyway, I made some progress with a shader I'm writing for the game, I know this won't even dodge the typical-lazy-polygonal-artsy-fartsy-game label, but whatever.

And so until I get drafted I'll try to get rid of this project once and for all. I'm not really sure of the purpose of maintaining a daily devlog, for a project as personal as this, but as far as justified insincerity permits, hopefully this will provide any kind of motivation to finish the damn thing.