The Ultimate wall of text

Posted by Astryl on April 6, 2012, 3 a.m.

Site admin writes a wall of text?

Mega can do that too!

OK, quite honestly, I was amused by FSX's blog; both by it's length and it's content, and I made the decision right then and there… to write an 8000+ word blog.

8000 words is a piece of cake, honest. I can spew forth Pretentious Waffle at a rate of about 120 WPM.

Regrettably, I will begin this with the story of my life. Why the heck not?

It's nowhere near as long/interesting as FirestormX's life, so fewer paragraphs :P

I am of course neater than our beloved #2, therefore I am making liberal use of headers and hide tags.

Organization is key, you know.

My life

I was thinking of glossing over this with a blank space, or a blank image, but… I'll write something truthful for once about myself.

For those of you who didn't know, I'm a South African. No I'm not black, no I'm not racist, and no… I'm not rich either.

I live on the West coast of South Africa, which mimics closely the West Coast of America, so any of you living there know

what it's like.

Some confusion has been caused before regarding my residence. I've mentioned before that my PC is 40 or so meters away from the

ADSL router, which leads people to believe that I must be living in a mansion or something, but the answer is a lot simple:

I live on a sub-divided property, with my parents and siblings taking up residence in the one (small) building, and myself taking

up residence in the other (slightly larger) building with my grandparents.

This accommodation is not completely satisfactory, but hey, at least I get my own room which should be a damned right for any

human being over the age of 16 (And I'm almost twenty. So yeah).

The only disadvantage is that my poor PC cannot access the router. Actually, in retrospect it's a good thing. You see, I have a major

aversion to Firewalls, Antivirus programs and any related bloatware in general. So my PC is completely unprotected…

OK that's a lie. I'm protecting it with my eagle eye, unearthly knowledge of obscure command line commands and a lack of fear when

killing threads (With fire, of course).

Anyway. PC out of range of network == Good thing. I download stuff on the family PC, let it's overpowered frame do the virus checks on

the stuff I download, and then transfer that over to my PC via USB drive. The only real disadvantage is that I have to experience the horrors

of an Internet Cafe at home (Get booted off after 1 hour, circumvented thanks to unlimited access 'school' desktop. *awesomeface.jpg*

Still have to fight with siblings over time though, and being the eldest does not help…)

I came to this little town in 2003; my family liked doing the ol' moving ping-pong thing. We moved from one side of the country to

the other about four times total before settling on the Western side. And by other-side-of-the-country I mean just that.

This town I'm in now (Velddrif), is right on the coast; Durban (My birthplace and many-time home) is on the Eastern coast.

Great fun. Enjoyed all the train-trips (Two days).

I've mentioned all that stuff about how I started programming before, so let me spare you and shorten it:

I acquired my programming knowledge by studying source code, reading books and finally by getting my hands on a decent internet connection.

Yay.

You know, I started off going to school around here; stayed in there for a year and a half then left to homeschool instead (School fees were too much).

And you know what else? I'm so damned grateful that I got out of the local school system while I could; I wouldn't have been able

to learn nearly as much about programming, game development and most importantly math if I'd stayed in school (I started Algebra two years before

I was supposed to, actually. Knew the basics after I figured Pascal out (Mathematical statements with variable substitution)).

So since then I was happily homeschooled with nary a care in the world.

And life wen- *INTERRUPTION*

So a well-meaning family member (Not immediately related) decided that it was about time for me to do two things:

> Write the Mensa entrance test (At the age of 14, if I recall)

> Get back into a 'mainstream' school.

FUCK.

This is an interesting, emotional and sad bit of my history. A wasted two months of my life, and a scar that would last for a bloody long time.

Mensa, Moving and School… again

My relative told me that I'd be writing the test in April (Ironic). Cool, that's fine. Go write the test (And scholarship applications for a few schools),

come back home and resume my life for a while.

I was content; I had just gotten my first PC, and was making great headway with OpenGL already. I was happy.

Then, exactly one day before I was to leave for what I thought was merely a few days away for this testing shit, my grandmother asks through the

window (Don't ask about my home layout. I'll post a photo sometime) if I'd packed everything. I said "Sure. I packed a weeks worth of clothing".

Turns out that I was actually moving. ON MY OWN. RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

-One hour Later-

AAAAAAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGGEEEEEEEEEEEEEEE!!!!!

The main reasons for my anger were quite simple:

> I thought I'd be actually moving the following year.

> I wasn't allowed to take the PC with me (I can't remember why)

> What was one supposed to pack when moving away on ones own at the age of 14?

> I was in the middle of doing something awesome with OpenGL and frame-buffer manipulation at that point.

> I had less than 10 hours to pack.

Yeah. Fun. So next day I felt like a veritable thundercloud ready to lash out at anybody. That was nearly the most

silent car-trip I've ever taken.

Get to the city (Cape Town, actually), and I'm scheduled to write the Mensa test in a few days time.

I did that. Fine. Results in a couple of weeks.

Then I wrote a scholarship exam at a fancypants school called Reddam, which happens to be sitting right

next to the American Embassy in South Africa. I passed the test, but was passed over for a scholarship.

Probably something to do with the death-gaze I was dealing to everybody around me for a while. Oh, and

my psychological report. Also, I was bad with group work, which turns out to be sooo important at

South African schools.

I can collaborate on a game-dev project, but do not ask me to collaborate on something like an

essay or other school-induced 'project'.

Meh. Regardless, I spent two fruitless and computerless months in Cape Town. Eventually, my relative pitched up

at the school I was going (Which ended up being a Microschool, which is basically managed homeschool, so WTF was I doing there anyway?)

with all my stuff packed in the car and told me that I'm going home. I was actually kinda peeved, because I was just beginning to enjoy

the school (Also, it introduced me to Game Maker), and I recall kicking up quite a fuss.

Also, get home and now I'm in trouble for my poor attitude towards the situation. So it was decreed "Thou, Mega, shalt not owneth thy own PC until we sayeth so".

FFS.

So I lost about a years total of time thanks to the family imposed 1-hour limit on PC activity, lack of internet, and my actual bad attitude towards my

studies. Heh.

I'm not a social rolemodel, I can tell you that much.

SWAG!

Well, about that Mensa test? I passed it quite well. Yay me. Turned out to be very useful, because I was deemed a poor and disadvantaged boy with

lots of potential as a programmer. What does this mean?

Well, one day my dad received a phonecall from the head of the Mensa department in Cape town, who said that they wanted to give me my own

computer. A modern computer. Of course, I wasn't told, because it was supposed to be a surprise.

Anyway, I was bundled off to Century City (A large Casino/Hotel/Mall area in Cape Town's Montague Gardens district, with a theme park attached).

And there I was met by the current Chairman of Mensa South Africa, and somebody else, and they had this large shopping trolley that was

packed with stuff. Like… loads of stuff; A computer, speakers, wireless keyboard and mouse, and a TON of games and programs.

Seriously, I got about 10 games with that, a disc with Ubuntu 6.2 on it (My first encounter with Linux), Microsoft Office Home and Student edition 2003

(Which is too costly for us to buy, and my dad uses it still), and a few other things which I forget.

Photos were taken, I was grinning from ear to ear (I was 15 at the time), and already thinking about what I was going to do.

I had to wait for a while before my dad actually let me have the computer (Discipline can be harsh, but I cause my poor parents

enough trouble growing up that I damned well deserved it).

But when I did receive my first 'proper' computer, I was… overwhelmed. I hadn't exactly played any modern games up until that moment,

and very little programming was done during that time (I spent a lot of time with Serious Sam, Quake 4, Battle for Middle Earth 2, World Racing 2…)

Eventually the initial "Lol,games!" complex wore off, and I was able to settle down to some serious work. At that time I was making frequent

trips with my grandparents to the slightly-larger town "Vredenburg" (Each month, we'd go once, sometimes twice), to this really cool

internet cafe that had lots of computers, and best of all: Reduced prices for students. And since I was technically a student, I was

able to use the net using the money I managed to scrape together (Pocket money, I guess).

I usually managed to use the net for about 2 hours a month, and that was like gold to me. Please, never feel ungrateful for

your 'shitty' internet conditions if you ever think you have them, because I'm sure there are tons of people like me who have

to go through that.

Anyway, during this time (2008), I discovered YoYoGames, downloaded Game Maker, DevC++, GCC 3.X, all

the Megaman roms I could, and a ton of the tutorials from Jeff Molofe's (NeHe) site on GameDev.net.

(http://nehe.gamedev.net if you're interested. OpenGL tutorials galore).

And all was well

NOPE!

There was another interruption, by the same benefactors: Mensa. This time they wanted to help me get

into a good school. *sigh*

They had a list of schools, and the first one sounded great; it was called the "Cape Academy of Mathematics, Science and Technology". It

sounded awesome. They had excellent pass-rates, subjects that were non-existent in most schools, and they had a cool computer department.

And I thought "I'm going there".

There was one problem though: I'd have to be a boarder.

Now, I was, and still am to a degree, both a xenophobe and a katagelephobe (It's a word. Look it up, wiseass).

OK, the latter isn't true anymore. Do you honestly think I'd be on this site if that was the case?

Also, a youth group I joined in 2010 helped (by force) with the former phobia. I still hate social gatherings though,

preferring a mug of coffee and a book to company (Hence I was decreed a Twilight Sparkle by some of the annoying local bronies I met).

Buck them :3

Anyway, at the time I sucked it up and decided to go, because it sounded so awesome. I was allowed to take my PC this time.

*sigh*

But as always with anything that sounds 'perfect', it never is. My first day there, I realised something: I was the only white student,

amongst a thousand. I'm not a racist at all, but a lot of the other students were. That was a very difficult 2 nights and 3 days I spent there…

Anyway, that's not what ended it; I had decided to stick it out, but first I had a genuine complaint to lay with the headmaster: My room

had a leak in the ceiling right above the foot of my bed. (OK, it was a room I had to share with three others, but it was MINE >:3)

Also, I wanted to mention the problems I had with the public shower system. Not pleasant at all: There were no doors on the

bathroom, the shower was basically a wall with drains underneath and anybody who happened to be wandering through the corridors

could watch.

I see some of you thinking that the Girls dorm might have been very interesting in that case, right? Wrong. They had doors.

Also, they had carpets. I hated them for that.

The boys were situated in the oldest part of the school, which had previously been a dormitory for a Reformatory School for boys,

and before that had been… a JAIL. Guess what? The doors looked like wood, but were actually metal panelled wood with a bit

of paint, and the 3 inch thick steel bars were still on the windows. Oh, and the corridor gates. We were practically locked in at night.

The girls got a nice new building, brickwork instead of those hollow-concrete bricks, they had heating, proper plumbing and carpets.

Also, they had their own kettle in the common room, whereas the boys common room was so small that the kettle had to be removed

to make space for the mandatory 'study time'.

Anyway, when I layed my complaints to the headmaster, he sent me out and told me to wait on the steps of the school; he'd call

my aunt who lived nearby (The same aunt I was staying with in 2010, when I joined this site) to fetch me and I could resume my

studies as a day scholar instead (Which suited me perfectly. The school was en-route to my uncle's workplace).

So I waited… and waited… and then… The school gates opened (Sliding gates), and to my horror, a red car that was all

too familiar to me was rounding the bend, and the driver was looking pretty pissed off with me…

My dad. The lying headmaster had called my dad and told him some sob story that I was an unsuitable student. I was

expelled. Shortest expulsion ever, methinks. (2.5 days, since I got there on the evening of the first day).

And that was absolutely the most silent car-trip I've ever suffered through, though my dad did buy me a Coke and some

Chips later on. (It's a 2 hour drive).

Conspiracy

The headmaster had handed my dad all the papers that I had brought to the school (Prior reports, etc), but he also handed

over a folder he wasn't supposed to; one that I still have. It's my lifelong school record, and it's supposed to be 'confidential'

and not for my eyes. That's what it says on the top of the paper.

I know why as well; some of my teachers and headmasters were really being bastards when it came to commenting on my

life and family. My mother was labelled as a useless teacher (From one of my earlier headmasters, 2004),

I was a 'social nightmare' (Teacher, 2004), an 'impossible case' (Psychologist, 2005), and a 'Problem waiting to happen' (Teacher, 2005).

After I read the whole set of documents, here's my summation of the reports:

Daniel Lawrence is a misguided yet intelligent student. He lacks social capabilities of any

kind, probably thanks to his poor upbringing (!). To rectify this it is recommended that he

be put into the kinds of situations that he isn't used to handling, such as group activities, and

should be seated next to the more sociable people in the classroom.

That's the gist of it, though it went on a lot longer. Seriously, the psycho psychologists actually wanted to put me into a catalyst

situation. I had a major problem with losing my temper, especially when somebody was annoying me. And nothing annoyed

me more than the types of people who're flicking piece of paper at you all day, taking your pencil, copying your notes,

and laughing at everything you do.

And my mother was perfectly capable as a teacher, but faced the exact same problems the teacher did. Not with my

social behaviour, but with my anger. Recently I've begun to calm down a lot, but believe me, cross my wires and

people get out of my way very quickly.

Scribbled by the latest headmaster, the one who expelled me (It was signed with his initials) was a note in Afrikaans, which

translated into English read "Problem Student, Take zero-tolerance approach". So he caught my 'complaint' as being

my 'social' problem resurfacing, and decided to stick to his zero-tolerance approach.

I've still got those documents somewhere in my boxes. It's such a pity that the government feels it's more important

to improve a school student's social ability, rather than their academic ability.

It got worse

So I returned home, and thought "Good. Back to my life again."

WRONG. My dad, feeling (Rightly so) that I had erred on the side of family justice again and was dragging the

family name through the proverbial mud decided that my PC was to be confiscated and kept in the garage for an

indefinite amount of time.

To top it off, I was denied my old room (The one I'm now thankfully in), was forced to sleep on a thin mattress on

the floor, and I had to work at my first 'job'.

I was thrown into manual labour at the local plant nursery. Fun [/sarcasm]. Of course, I actually wanted the job, and I was of

legal working age, but it wasn't fun busting my back for nothing. I got a pittance for my work, hurt myself often, got

heatstroke once and basically stalled my life for three months.

I eventually got 'layed off' as was planned (It was disciplinary action, not a real job), which was fine by me, and then I

thought "Yay Computer Tiem!".

I was going to be tentatively allowed to use the PC, but it was to be set up in my parents house and I was only allowed

1 hour a day. Well, that was the plan. Then as usual…

Shit happened

You see, a garage isn't necessarily the best place to store a PC. Turns out that it got damp at some point.

It was dry when I checked up on it before I plugged it in (I'm very careful about that), but two days later, the

motherboard and GPU fried because of a fault in the PSU.

I think that was one of the only times in my life when I felt that I was being hounded by an evil army of

anti-programmers who only wished to bring despair upon my head. That was my most depressed moment, I think.

I remember at the time that I was resentful towards Mensa for trying to put me into a school; I blamed them for

interrupting my life. Actually, I'm thankful to them now. No point trying to change history; they gave me a taste

of a 'real' PC (My older one had been a Pentium 1), and they really tried to help me; they thought they were helping,

and perhaps if I wasn't such a douche I would have been helped. :P

Back to the present

Eventually, my dad gave me a PC to use with my correspondence course, the one I did in 2010 (Though I did manage to patch up a little Celeron before that).

Then I finally got my hands on a persistent internet connection, and The Great Assimilation began… dramatic sounding, isn't it?

I have 3 gigabytes worth of PDF's on my HDD that pertain to programming, design and music.

I also have about 2 gigabytes worth of saved informational websites (Thanks to wget; very useful for getting a bunch of articles of Gamasutra, Programmersheaven and GameDev.net).

That's a damned lot of information, and each and every day I look for more. Crazy, I know, but I do like my studies. <3

Seriously, who else in this decade would be studying the ancient VGA techniques that I never knew?

And why would one seek to learn 6502 assembly? Or how to build a kernel? All in fun, I can assure you.

A brief intermission. Hah. I reached 3600 words… So far. Way more to go; which is a good thing, I have a ton to write about.

Prepare yourself for an artsy section, where I shall rant and rave and generally talk pixel-art, traditional art and not much else.

No, no screenshots because this is a wall of text.

And now

I'm doing well enough, though I have no official job. I'm currently fixing a few people's PC's when they want them fixed; only problem is, I fix all the problems and it takes forever for new problems to surface (Ones that the people in question recognize as problems, anyway).

I spend most of my days confined to my Evil Lab, pacing up and down with a sinister expression on my face while occasionally breaking into cold-hearted laughter; until one of my grandparents asks what the hell I'm doing. At which point I give 'em the death-stare through the walls and resume my pacing.

Exaggeration aside, I spend most of my day in thought, and then comes that moment (usually at night, after all the others are fast asleep) when the sudden noise of a keyboard being worked into the ground sounds out and wakes everybody up (OK, I did that once. I'm way more careful now).

During the day I tend to mess around a lot on my guitar. I've gotten to the point where I can play chords interspersed with a melody of my choice; my only failing is that I still cannot play any recognizable pieces (I'm having way to much fun making my own up ^^')

At the very least, my fingers no longer hurt, and Barre Chords are becoming easier to play.

In case I haven't mentioned it before, I'm the type who burns the midnight oil every single night (And often right into the next morning). Once I get working on my projects, there's no stopping me.

My family and friends think I'm mad; I tell them quite honestly that I'm not mad… I'm insane, and I'm enjoying every moment of it; Also, they think I'm crazy for choosing 'Tackling a tough programming problem' over 'playing games' or 'watching TV' when it comes to relaxation.

Long explanation made short:

I'm a guitar-playing-crazy-game-developer-slash-artist-with-a-bit-of-musician-thrown-in-who-can-cook-a-mean-curry-stay-up-all-night-and-the-next-day-and-still-pretend-to-have-had-a-full-night's-sleep.

Of course, my current nick stuck when that description was still crazy-megaman-fanboy (I used to plague people at school right from Grade 3 about Megaman).

OK, enough of my boring and intensely focused life; I've got a super wall of text to finish.

Mega's take on Art, both Traditional and Pixellated

You'll be needing this later:

Would you believe that I've been an 'artist' for quite a while, before I started pixel art? I can draw any subject given merely two things: Paper and a pen.

And a lot of what I've learnt about form has been taken from my 'real' art and used in my videogame work.

But really, I'm a maverick. I never 'studied' art, the same way I had never studied music. Now, though, I'm starting to read more and more up

on the subject. The current book I'm reading is the book "Drawing with Children", which I know sounds a bit… below my level, right?

Wrong. It's for adults too, and teaches some excellent techniques for studying and drawing pictures; these techniques are also

applicable to game art, it turns out.

The basic premise is that everything can be drawn using several basic shapes: Dots, Lines, Circles and Curves. All objects can

be logically broken up by surface and edge into these 'key' shapes, and since everybody I know can draw these basic shapes,

it means you can draw anything. Though I'll admit that I only picked this book up two weeks ago, so it hasn't been

responsible for my improvements. I'll get to that.

The hardest thing I've ever drawn IRL is my cat. I did it for a birthday card; my dad's birthday, I believe.

I used my awesome photography skills (Apparently I've got stable hands and a good photographic eye; don't take my word for it,

because I haven't got a clue ^^') to take a still picture of the cat, and worked for 8 hours solid with nothing but my pencil set

and a piece of paper. No eraser.

Turned out excellently, actually; I had to approximate some of the features that I didn't capture in the photo; it wasn't a high

resolution photo, and I needed to concentrate on the facial details. Believe me, once you can capture that smug, self-content

look of a cat's face in your art, you're ready to try anything.

Actually, that's a bit presumptious. Capturing the facial emotions of any living creature can be one of the most difficult aspects

of any representational drawing; game art included. It's usually the eyes, though mouths can be a pain in the ass to draw

as well.

Some random ideas about drawing anthromorphic characters for games

There's a reason people opt so quickly for the usual square-with-eyes or robot-thing when it comes to their games (Myself included).

Fear of the anthromorphic shape.

First one of you to think "Furries!" gets killed with dragonfire. Anthromorphic covers anything that resembles the shape of a human

body. Let me go over a list of common mistakes I've made before (And since rectified):

> The head must be round

> The head must be square

> The eyes must have whites

> The eyes must have a pupil

> There must be a mouth

> The face must be shaded

> There must be a recognizable nose.

> There must be ears.

> There must be a neck

> The arms must be proportional (ditto for the legs)

> The main character must wear a cloak. (A particularly heinous mistake).

OK, these aren't all the possible misconceptions and design mistakes, but let me clarify why these are mistakes.

Rez, Mush, Cesque, Cyrus… you have the right to flame me later, but for now READ. READ or BE READ [/sovietRussia]

The shape of the head

Have you ever seen anybody with a geometrically perfect head? Put your hand down down, [furry]. Minecraft doesn't count.

With my mage character, and the spearman I made (Which you haven't seen. I might post a pic of it), and with all the characters I'm

making now, I stick to a simple solution: Squashed ellipse with a shaped jaw. Also, ears.

How does this help? Simple. The upper part of the head has a roughly elliptical shape, but if any of you have seen a picture of a

human/animal jaw, that's where the basic geometry ends (Let's not even get started with eyesockets).

Depending on the 'heavyness' of my character (READ: The macho marine factor), I'll make either a pointed, rounde or squared off

jaw. My mage character has a flat/round jaw, because he ain't a marine, he's a scholar.

What you can't see in my mage sprite is the ear, because I decided to put a book over it >:3

But that's usually just a few pixels of area off to the left.

The eyes

Ever felt like slapping sunglasses on your sprites quickly because the eyes are just too damned hard to draw? Why

do you think my high-res artworks (Like in my banner) always tend to have some form of Awesome[super]tm[/super]

eye protection? I still can't drawn high-res eyes properly. Fortunately, I've been practicing in the pixel-art eye arena.

There are so many types of eye, and each one, even though only a few pixels different, can make your character

look so different it's ridiculous.

The type of eye I use at the moment for my RPG characters is a simple 2x3 pixel eye + eyebrow that also allows

for color to be added to the iris. Difficult to put into words, but here are some tips:

> Don't oversize the whites, unless you want your character to look like he's surprised out of his wits.

> Don't add the whites at all unless you have to, or can (Space constraints).

> Mess around with different eye-types constantly.

> If you have to have an iris color, don't make it stand out too much.

I'm definitely going to post up my next sheet of humanoid spriting practice…

Ears, Face and Neck

First of all, ears are only necessary in the situation where the character has short hair, and only then if there is enough space to work with (I only bother if I'm working at 32x32 or higher resolutions).

Ditto for the nose and neck.

The neck is a bit more of a personal choice though. Depending on the clothes being worn and also the gender of the character, you may want to leave the neck out.

Shading the face is tricky. Don't overdo it, and use non-contrasting colors. Why? Because any too-dark or too-light colors will draw attention to the cluster of pixels

that contain that color and just highlight the fact that there isn't enough detail in the face. My mage character only used three colors for the face, and the dark one

was used to cast a shadow from the helm/band he's wearing.

Body proportions

First, I'm casting *SHIELD* level 5. OK.

Now, I'm going to reference a certain game called Yggdra Union, for the Gameboy Advance. It's got some excellent examples of human characters in it,

and serves as a great reference.

But wait, what is this? During my studies of the screenshots of this game, I noticed something that struck me as peculiar. The human swordsman

sprite looks perfect, and is about 32x48 in size… OK. But the arms are only 2 pixels wide!?!

Well, I discovered through experimentation that because you're not drawing attention to the arms and more so the armor, you can get away with this,

especially at sub-64x64 resolutions. Same for the legs.

The only time you have to draw attention to your character's beefed up arms is if they happen to be using them to punch the enemy's face in, and even then, it's more

the fist (Which should always be proportionate).

Cloaks

Don't do it. It's cliche.

Bounding

Now I remember Cesque telling me off about the way I outline my characters.

And naturally I thought it perfectly natural to outline every discernable shape in my characters with a dark color.

Doing this has an unfortunate side effect: It makes your character look like a robot, and not in a good way (Fine

if you're trying to draw a robot though).

So through my constant observations of famouse pixel-art, I discovered something: Don't 'bound' the parts of a

character/object, bound the object itself, and then only where contrast is needed.

Observe my mage (again), and look at the tops of the shoulder-pads and the arms.

Also, the headband, the top of the book and the bottom of the shoes.

I can't really explain the reasoning behind it, other than that it looks more natural and appealing to the eye (Easier to view, actually).

Anyway, I'm getting too sleep-deprived to write sensibly about art, so let me write nonsensically about a few other things and then

resume writing about something else of interest after my coffee kicks in…

I'm fast approaching FSX's wordcount. Soon I shall break it. And guess what? This is a piece of cake; I love writing <3

What I'm listening to

People may be interested in this. I often change what I listen to, favoring a certain new song I've found over the hoard of others I've collected over the years. Right now according to WinCramp I'm listening to:

Bronyfied - Brony Metal Medley - Buck yeah.

Interstella 5555 (Daft Punk) - Love Daft Punk's music

Da-chip - 8-bit Daft Punk.

Megaman 3's soundtrack - in glorious NSF format

Nightwish - Found them on my HDD again a few weeks ago

Some of Mordi's music

Some of sirXemic's music

Even some of Stevenup's music…

Hey, here's some of mine

Ah, duped MM3 list. *deletes*

Some others, like Machinae Supremacy, Rushjet1, and a boatload of Castlevania music from some of the NDS titles, in Stereo. Yay.

And as usual, the PMV that turned me into a Brony to begin with.

Oh yes, I saw the best comment ever on Youtube, on a page with some Brony-made metal, that went something like this:

Quote:

My Little Pony made me like Metal…

Wait, wut?! O_O

Now before our esteemed Metal/Heavy/Death/Black fans start bombarding me with YT links, let me just point something out: I only like listening to music without loud lyrics; so 99% of the Metal genre is out most of the time. I've been carefully picking a few tracks that I like, on my own for several years (I believe that death introduced me to the genre).

I work in sync with the music playing in the background, strange as it may be to som. The more frantic the music, the faster I type/draw/think. Of course, the only time I don't work with music playing in the background is when I'm composing my own music, for obvious reasons :3

Of course, my mind rebels when it hears a lot of lyrics, attempting to figure out what the hell the singer is trying to say, breaking my intense focus and stalling my work. Now, we don't want that to happen, do we? ;p

6000 words so far. Somebody had better come up with a "Gift of the Gab" badge, or a "Wall Of Text" badge or something.

Gaming

I still play a few games here and there, though admittedly far fewer than I used to a few years ago. I'm currently ploughing my way through:

Final Fantasy Tactics A2

Ys books 1 & 2 (DS)

Shining Soul 2 (With my brother in tow. Co-op)

Megaman ZX Advent (Again). Secret Hunting

As you can see, they're all simple handheld games; I get tired of complicated high-resolution games that take forever to load. I still haven't finished Far Cry 2.

So what do I mean by 'secret hunting' with MMZX Advent? Let me explain.

The Megaman Zero games, by tradition, had awesome secrets that could be unlocked by us zealots players if we played long and hard enough (And near perfectly, in the case of Zero 1 and 2).

Megaman ZX, the first game, also had an awesome secret: You could unlock Model O (Zero's original body, with awesome powers) if you had insane battle skills and could defeat Omega on Normal mode or higher, as well as some cameo battles (8 in total) from Megaman Zero 3 and 4.

Megaman ZX Advent only has a lousy Biometal called 'Model a', note the lowercase, which allows you to play as what looks like a fan-made sprite-edit from Megaman 1, which is weak as hay, and isn't much of a secret. So I'm doing what I do best: Hunting for dem secrets.

I uncovered the secret mode in Zero 1, and was in the process of doing so for Zero 2, a long time ago. Inti Creates like hiding little things like that in their games (The Dark/Junk armors in Zero 3 and 4, for instance, though crap were secrets. There may be more, but I haven't investigated).

As you can tell, some games I love poking with a sharp pointy stick to see what I can get out of it. Specifically the Zero/ZX games. Mega is/was Megaman fan.

Oh yes, Rez, I played Demon's Crest. Felt and played like it was built on the Megaman X engine (Which was a good thing), and had interesting gameplay. I finished it, with the Ultimate Form. Not quite as challenging as I had hoped though :P

But I will agree that the artwork was amazing. And it made a very interesting study, which reminds me…

Time to finish off what I wanted to say now that I have my focus back (I think :S)

More artsy stuff

If any of you have seen examples of my work from early/mid 2010, you'll agree that it's horrible. But yet, in a relatively short space of time, I've improved to the point where people like (most) of my artwork, and at the very least I don't feel ashamed of showing it to the public.

So looking back, I have here a few tips for anybody who wants to "Learn how to draw pixel art". It's very simple:

> Practice. Don't discard something you can't get quite

right/complete on the spot. Keep it and try it again

later.

> Observe. See a character in a game that makes you think

"Wow, I wish I could do that!" much? I know I do.

So what do I do? Screenshots, either taken by yourself

or from the internet.

I examine the colors, curves, contrast, texture and general

form of the art.

> Duplicate. Try to duplicate art styles you like the look of.

> Don't be perfect. If we were all perfect pixel artists

who managed to abide by The Way of The Pixel's Law, what would

be the ultimate difference between my Soldier and somebody

else's soldier?

> It should look correct, but not necessarily be correct.

For instance, saturation. Most seasoned pixel-artists try to

scare the living Color out of you the second you try to learn

how to sprite. But we forget, all things have varying amounts

of color in them, and almost any two surfaces under the same

light source will still reflect varying amounts of light.

Oh yes, another important one: Upload your artwork, and prepare for criticism. And take it seriously (To a point). Ignore any comments along the lines of "It's cool" or "y u no vector?" or "It sucks!".

Those are not criticism, those are merely thumbs up (First case), thumbs down (Third case) and second finger up (Second and Third cases).

A word on Saturation

Saturation, I was told, is the root of all evil.

This is the biggest load of crap I've ever heard, now that I look back at my work.

The best way to think of Saturation is to think about how much 'energy' the object you're drawing has in it.

Full saturation (Neon colors) are great for neon lights (Coursing with light energy). Ruined stoney structures have little, if any, energy in them.

Another way to use saturation is as a way to simulate depth of field (Focus). Objects further away in the background can have fewer colors and less saturation, which gives the effect of them being blurry and indistinct (Not always the effect that you want).

Bottom line: Don't be afraid of the saturation slider being anywhere above the 100 mark.

Color temperatures

Just an interesting tidbit I thought I'd drop in here. Colors can look cold and hot, depending on how you make them (Yes, you 'make' your own color palette if you're serious about doing pixel-art).

Some general palette tweaking can yield some interesting results; here's my reference table for some of the colors.

BIAS: EFFECT:

Red Hot

Yellow/Orange Warm

Gray (Low sat.) Dead

Blue Dark/Cold

Aqua/Cyan Water/Cold

Green Living/Flora/Jungle (Filtered light)

White Burns your eyeballs out

Some basic animation techniques

I'll begin by saying that it's extremely difficult to write something like this. I just know how I do my animations, and it's difficult to… translate the information into an understandable bit of text.

Anyway, I divide my animations up into three categories: Color, Texture and Shape.

Color animations are a way to achieve apparent motion by merely changing the color of a few pixels in the image (AKA: Color cycling).

A lot of old VGA games used this to simulate waterfalls/fire/etc.

Texture animations are cycles that move pieces of a surface on the sprite around to emulate motion. A good example: The conveyor belt. The 'belt' moves, but if there is a border piece, it won't.

Those two animation techniques are relatively trivial. It's the shape-transformations that can be a royal pain.

But I have some guidelines:

> Use GraphicsGale, and become acquainted with the Onion-skin

feature. Only use GM if you have a great memory for

the last known location of the player's foot.

> Keep backups. If you've made something and you want to tweak it

a bit, save a copy before trying. You'll save yourself

a lot of trouble (This applies to V4 too *trollface.jpg*)

> Don't be afraid to make dramatic movements.

I tend to 'key' all the extreme motions of my animations first,

then I draw a couple of 'in-betweens' to smooth them out.

A lot of people tend to think that they have to move everything

one pixel at a time. I know I did…

> Emphasise. When your player is stabbing with a sword, make his

feet slide back, his hair wave a bit and the sword arm thrust

forwards dramatically.

Speaking of guidelines, I tend to draw a mock frame that shows where the head of the character should be, ditto for feet and arms, and any accessories/weapons he holds (Just to keep the height more or less consistent).

I've exhausted my repository of art-related information that I can relay to any of you; I'm terrible at trying to put the stuff I learn into written words without major preperation beforehand, with visual examples.

Meh.

Anyway, let's continue, there's still tons I can write about.

Oh yeah, 7500 words. Not too shabby. But it's not the end yet *evil laugh*

Programming - Game Development Related

All that other crap was merely the cream off the top. I can write (and speak) volumes about this; heck, I can go on for hours about OpenGL on it's own, so… yeah. What say we call this now?

JUST KIDDING! I have to write this stuff out!

Now, instead of spewing forth random information, I'll focus specifically here on Data Structures, falling into the realms of Benign, Useful, Obscure and Arcane.

I'll keep this simple with mere algorithmical representations of the concepts presented; implementations vary, and require the appropriate management and memory

handling, even in C#.

Actually, I'll resort to C++ code. :D

For Python interpretations, mail-bomb PY.

Linked Lists

The foundation of all the other dynamic data structures.

They work on a very simple basis that lends itself remarkably well to Object Orientated programming languages.

Consider this piece of I whipped up for the occasion (If you can't implement a basic data structure from memory, you're a lost cause…)

// MXList

#include <stdio.h>
#include <string>
#include <iostream>

using namespace std;

template <class metaType>
class List
{
    protected:
        metaType* data;

    public:
        List*     next;

        List(metaType& a_data)
        {
            next = NULL;
            this->data = new metaType(a_data); // This will work if you follow OOP copy-initialization guidelines.
        }

        ~List()
        {
            // Deleting lists must be done properly and with care.
            if(next)
            {
                delete next;
                next = NULL;
            }
        }

        List* tailNode()
        {
            // Recursive traversal
            if(this->next == NULL)return this;
            else return next->tailNode();
        }

        const metaType getData(int index)
        {
            static int iter = 0;    // This is only initialized the first time
                                    // you call the function, which is why
                                    // I explicitly reset it to 0 when I'm done.

            if(iter == index)
            {
                iter = 0;
                return *(this->data);
            }

            if(iter < index)
            {
                if(next == NULL)
                {
                    // Only for debugging
                    //cout << "Index out of bounds! (Max " << iter << ")" << endl;
                    iter = 0;
                    return "";
                }
                else
                {
                    iter++;
                    return next->getData(index);
                }
            }
            iter = 0;
            return "";
        }

};

int main(int argc, char** argv)
{
    // Start with a root node
    // Syntax for adding new nodes is a little screwed
    // because I didn't bother adding in all the usual
    // syntactic sugar.
    List<string>* root = new List<string>(*(new string("Root")));
    root->tailNode()->next = new List<string>(*(new string("First Node")));
    root->tailNode()->next = new List<string>(*(new string("Second Node")));
    root->tailNode()->next = new List<string>(*(new string("Last Node")));

    cout << root->getData(0) << endl;
    cout << root->getData(1) << endl;
    cout << root->getData(2) << endl;
    cout << root->getData(3) << endl;

    // Recursive print
    int index = 0;
    while(root->getData(index) != "")
    {
        cout << root->getData(index) << endl;
        index++;
    }

    delete root;
    root = NULL;
    return 0;
}

By the way, I wrote this in this document, but I tested it with GCC to make sure it was stable and safe; looks like I've still got it.

The code will compile, run and produce the expected output.

Anyway, that's your common or garden dynamically expanding data structure, but that is merely scratching the top of the pile.

Dual-Linked Lists

Also known by other names, but this is merely a variation on the previous list that offers another link: prev.

It's not really that useful in a game situation, but it's handy to remember in case you have data you need

to transverse bi-directionally.

Insert-sorted lists

These types of lists automatically sort themselves when you insert new elements. I used this type of list to depth-sort sprites in my Hydra engine, then traversed

the list backwards.

It depends on an extra bit of data, a 32-bit or 64-bit integer, that is used to sort the entries. In my implementation I treated it as 'depth, but hash-values can also

be used.

Here's a template of a simple Insert-Sort List:

// ISList

template <class metaType> // I use templates often when dealing with many types
class ISList
{
	private:
		metaType* data;
		
	public:
		int depth;
		ISList* next;
		
		ISList(metaType& a_data);
		ISList(ISList& a_copy); // Copy constructor
		~ISList();
		
		void Insert(ISList* prevInstance, List* newInstance, int newDepth); // Inserting a list element takes a bit more work than a unidirectional list does.
};

The process basically involves starting at the root, and checking this->next->depth to see if it is greater than newInstance->depth. If it is, it inserts the new data into next somewhat like this:

this->next->prev = newInstance;
newInstance->next = this->next;
newInstance->prev = this;
this->next = newInstance;
newInstance = NULL;	

OK, enough of that for now

I've already surpassed 8000 words. I'll keep going, but it almost feels like I'm cheating with this programming related babble. :P

If anybody wants a more eloquent and detailed blog series about implementing various data structures in multiple languages, I'll write 'em.

As I said, this only scratches the top of the pile: Quad-trees, Octrees, Binary Trees (For BSP), Biased Trees, Trees in general, Circular Lists, etc.

I know how to use almost all of them (I still haven't found a use for Circular Lists…)

Heh. This is fun. Lots of fun.

Time to talk about something else. Skip this one if it scares you. It's not long, only 169 words.

Brony section

Don't get butthurt about this. I'm keeping it hidden so you don't have to read it. Anybody who fears/hates Ponies and reads it is doing so of their own volition.

As Rob said, this is mainstream now.

I'll say one thing: This is the craziest craze I've ever been involved in. Period.

Anyway, regardless of the 'ban' placed on watching the show, I'm still watching the show (Buck the authorities)

This also happens to be the most creative fan-community I've ever seen. If the Megaman community was even half-assed about the games, they'd have been

producing high-quality fan-art, fan-games and fan-music.

Anyway, pity that Season 2 is almost at an end; that means we have to wait a few months again like last time.

Anyway, I'm definitely a Brony now, whether I like it or not. No turning back. Also, I'm a Rainbow Dash fan, even though I'm apparently more the type who'd go

for Twilight Sparkle. Although both were pretty close.

Why am I writing such a pointless and inconclusive piece about this? I dunno. Tired much?

You know, I've reached my goal, but I think I'll carry on writing a bit. I want my blog to be…. OVER 9000 words long.

*trollface.jpg*

Music and busting fingers

I'm doing a lot of my composing (for main melodies) on my guitar now. Woot. My fingers, while more resilient are now less sensitive, which feels weird when typing.

I spend about 30 minutes a day practicing. For what? Well I'm definitely not joining a band, or starting one. I have a phobia of singing in front of people, even though

I used to be in a choir ages ago (When I was 8 >_>)

Recently I've been messing around with FL Studio a bit. Interesting program; I can see why it's popular. I managed to make a few simple tunes in it, but the final result

is always too messy IMHO. I love the clean sounds of the NES for a reason.

Anyway, I find the composition process quite interesting, and I've decided that I can reasonably 'write' my music very much like I would write a story.

For everybody this can be different, but I'm trying this pattern out at the moment for adventurous battle music:

> INTRO: 'Defines a setting' (Dark, Bright, Indoors, Outdoors, Space, etc)

> INTRO: Introduces a 'good' object (Hero, Town, etc)

> MELODY A: Villainous misdeeds, disasters, etc (Sounds sad, dramatically so, with a 'question' at the end of the line)

> MELODY B: The retaliation on the part of the 'good' sounds (A counterattack, more uplifting and a definite answer to the question)

> CHORUS A: A mix of the previous two elements, sounding like a battle.

> MELODY A: …

> MELODY B: …

> CHORUS A: …

> CONCLUSION A: …

> CONCLUSION B: … And end.

It's an interesting way of writing music, but it works. And it helps me to interpret other music I hear better.

Oh yeah, I still haven't found any good online resources that teach music theory. Links, anybody?

In other news, I'm still thinking of extra stuff to add to the current tileset I'm making for the 64RPG, and also I'm thinking of

some themed alternatives to begin work on. If anybody wants a custom character… I guess I could do one for them.

But I'm half convinced to charge for the service ;)

Anyway, this blog is officially over 9000. Do a word-count if you don't believe me :P I wouldn't lie about it. (9046 words exactly).

Comments

JuurianChi 12 years, 7 months ago

I'm still writing mine.

Your words about art where very helpful.

I'm going to spend the rest of the month practicing pixel art before the competition.

Astryl 12 years, 7 months ago

Quote:
Give me a reason why I should read through this 50k character blog.
Because I'm holding a gun to your head and telling you to read it >;3

Quote:

Whoa! No idea. I must say I'm a little jealous, that part of the world has intrigued me for some time. Do you like it there? What's Cape town like?
It's awesome, though a bit windy. I'm not quite living in Cape Town anymore, but I'm still on the coast (120km North of Cape Town. Google Earth hunt, anybody? :P)

Quote:
It looks like whatever you wrote this in is forcing line breaks. :(
I wrote it in Notepad++. And no, I tend to force my own line-breaks; bad habit.

Quote:
That's an interesting life, and you've accomplished a lot. o_o
Not the way I saw it. But I guess I'm further along than I was when I began.

Quote:
But anyway, yeah. Your post was only longer because you seem to have a lot of free time on your hands. >_>

[/jealousy]
Don't be jealous. I'm going mad here with all this free-time. I really want a job, just so I can feel like I'm doing something. >.<

Astryl 12 years, 7 months ago

Good question!

*puts Cyrus into an informal settlement in remotest South Africa, with no weapon*

Have fun!

firestormx 12 years, 7 months ago

Based on your blog, I doubt you would like having a job, haha.

Unless you get a dream job, you will probably not feel like you're actually doing anything useful.

Astryl 12 years, 7 months ago

Quote:

THIS BLOG HAS BEEN TAGGED:

Blogs with very little content, or ones that are for bragging purposes of site features, are not allowed. Your blog will be removed from the front page.

This amuses me, due to the irony of the conditions asserted by the notice.

Quote:
Based on your blog, I doubt you would like having a job, haha.

Unless you get a dream job, you will probably not feel like you're actually doing anything useful.

Good point; though a steady flow of cash would definitely help tons.

LAR Games 12 years, 7 months ago

I.. read the first two paragraphs.

That counts, right?

Cesque 12 years, 7 months ago

Quote:
Have you ever seen anybody with a geometrically perfect head?

What about Mine-…

Quote:
Put your hand down down, Cesque. Minecraft doesn't count.

:(

Anyway, I finally read this blog (might have skipped over some parts). To me, the hardest part of being a self-taught "artist", i.e. never having taken an art course in my life, is that I totally suck at shading. It's not that important for sprites, but crucial for everything else.

F1ak3r 12 years, 7 months ago

I read most of that. And I thought *I* used to write long blogs…

Our schooling system is a mess. The whole Outcomes-Based Education thing was just South Africa taking Europe's mistakes, and don't even get me started on the "look and say" method of teaching reading. Private schools fare a bit better than the public ones, but still.

I never liked group work either. Still don't really like working with people - they're too distracting, and I get my best work done when I can just lock myself in a room and do it without any interference.

What are you using that makes those weird linebreaks? It's a little irritating.

So you program, play guitar and draw? You multitalented folk make me feel bad.

I don't know much about art, but too much saturation hurts my eyes.

You're right about the insane talent of the brony community (my pony folder is >10GB). Have you seen some of the games? Fighting is Magic and The Cutie Mark Crusade look amazing. Not to mention the music is good, the art is pretty, Friendship is Witchcraft (the best redub/abridged series) is hilarious (and even has original songs) and some of the fanfiction is actually readable.

I'm sure FSX did an 11 or 12k word blog or two back in the day. They're interesting reading.

Astryl 12 years, 7 months ago

I was using my right index finger, to the best of my knowledge, to make those horrible line-breaks. Bad habit; I break the line myself instead of letting 64Digits do it for me. :P

Quote:

So you program, play guitar and draw? You multitalented folk make me feel bad.
Boredom is great inspiration to learn how to do things I never would spend the time doing if I had the money to enter University.

Oh, and this blog was 50K, according to Windows :P

Juju 12 years, 7 months ago

I made the decision right then and there to not read this blog.