Rundown: Music Composition

I’ll outline the steps taken to compose something like the SJ theme and get it into the computer. You will need a basic music education (high school level) and ideally you’ll dabble in playing an instrument.

  1. Come up with a simple melody. This is the hardest part, and it helps having a musical instrument around the house although this is not required. It doesn’t need to be a very long melody.
  2. Mull it over for a couple days. If you can still remember it, it’s probably good. Tap your foot along with it to figure out what the tempo is and if it’s a 4/4th rhythm or whatever (do the counting if necessary.) Basic musical knowledge required.
  3. While you’re mulling it over, perhaps come up with a variation or a continuation. This gives you a little more to work with so you can extend your musical piece over a longer time span.
  4. Get a MIDI sequencer, also called a digital audio workstation (DAW) program, on your computer. Reaper is nice, but there are many alternatives (Cubase for example.)
  5. Download sample packs (these are snippets of sound recordings that can be played back on a computer or MIDI keyboard / synthesizer.) The Sonatina Symphonic Orchestra sample pack is free and very good for this type of thing.
  6. Install a virtual instrument plugin into your DAW that can play these samples (such as the SFZ player), if necessary. The standard for these virtual instruments is called VSTi, this is something your software needs to support.
  7. In your DAW, try inserting your virtual instrument on a new track. Load a sample file into it if necessary (groups such as “first violins” are just one file in Sonatina.)Skærmbillede fra 2015-11-23 01:56:12
  8.  If necessary, select something like eight beats of time and create a new MIDI item or whatever your program calls it (the black bar in the image.) Then open that MIDI track in something that’s called a piano roll editor (or MIDI editor.) This editor is usually available in any DAW. Skærmbillede fra 2015-11-23 01:53:42
  9. MIDI is a way to store music electronically, like electronic notes that can be played back by any MIDI instrument. The VSTi plugin is a MIDI capable instrument.
  10. You should now be able to play that instrument (here the solo violin via the sfz player plugin) just by clicking the piano keys of that virtual keyboard. If you get sound, awesome, it works.
  11. Click and drag in the piano roll editor creates notes (DEL key deletes selected notes.) These notes are just long and short bars for long and short sounds. The vertical direction makes them higher or lower on the musical scale (different instruments have different ranges, so be sure to check further up and down the keyboard if you seem to get no sound – you might be out of your instrument’s range.) The horizontal direction is backwards and forwards in time. It’s almost like painting a melody (you can drag notes around the screen horizontally and vertically too.) Switch on the metronome (among the icons in the upper left) and press the Play button, and you will get a click track for timekeeping. If that’s too fast or too slow, find where it says “BPM” (beats per minute) and change that number. Try something between 80 and 100. Watch how a cursor moves down the piano roll as the music plays.
  12. Click and drag notes in the piano roll to create a melody of, say, four or eight bars (they are numbered at the top.) Feel free to edit them as much as you need to until it sounds good. You don’t need to pay too much attention to music theory here, I recommend just going by ear. If it sounds right, it is right!
  13. Close the piano roll editor.

Now you have a basic melody that can be played back, edited and saved.

At this point, you might want to do any number of things:

  • Add another 4 or 8 bars of melody, perhaps a variation. Create a new MIDI item/track if you need to. You can arrange all your tracks and MIDI items in the big main window just by dragging.
  • Change the instrument (load a different sample) you were using – the same set of MIDI notes can be played back by a trumpet instead of a violin, if that’s what you like. You might need to select all your notes and drag them into the new instrument’s range vertically.
  • Add another instrument on a second track. Perhaps you want the first violins or the cellos or the horns to add to your music. Perhaps you want drums or timpanis to make a rhythm instead. It’s the same process.
  • Save the project and think up a completely different part to your music – perhaps you want to bring in some flutes doing something, or a harp melody. Whatever you like.

Now for some general points.

It is possible to connect a physical keyboard (something called a MIDI keyboard) to your PC and use that to record your notes in a more direct way, instead of using the virtual keyboard / piano roll editor.

Try to come up with musical ideas while away from the PC. Doodle around on a guitar or something like that, ideally.

Learn what a symphonic orchestra is, what instruments or groups of instruments make up the whole, and try to mimic it with your electronic sample sets. Listen to a lot of orchestral music (soundtracks..) and see where the different instruments are often used, and how. Learn which instruments usually do melodies and use them in your work. Understand what instruments seem to work well together, which combinations are often used by the composers. This video explains the instruments:

Start small. Make a melody first with a solo violin for instance. Then add on more instruments if the music needs to sound fuller. Try adding 1st violins, cellos, and maybe horns. Have those play little variations of the main melody, or just pads (simple long notes that add a fundament to your melody.)

Use drums and percussions if you like. Don’t overdo it. Less is more.

Listen to more classical music. Known stuff like Mozart etc. Look all this stuff up on Youtube. Learn to identify the instruments / groups of instruments by ear. A matter of practice.

Watch live orchestras play cool music on Youtube. You might pick up some tricks.

Good luck. And remember: none of this is magic (well, except coming up with a melody in the first place.) It is a craft that follows rules. It can be learned and practice does work.


Our heroine has a music, too

 This is likely going to be the main theme, or Scout’s theme in any case. I have more music than this, just haven’t shown it yet.

Our heroine has a face


Had to be done one day. It turned out better than I thought it would; I’ve been dreading to draw these guys – Scout, Esperanza, and the other main chars in the game. I’ve seen them before my inner eye for two years. This isn’t anywhere near good, but one has to start somewhere. Iteration will probably improve these character portraits. I’ll just have to draw them again and again in different poses and from diferent perspectives. And I need to look at reference more.

Drawing a character from your imagination and nailing it is very hard.

She’ll have a helmet that she can wear in the game as well as various body armour that can be looted from the factions. This light armour vest is just her starting gear.

Not all characters in the game will be Northern European, there are Hispanic, Yoruba, Chinese and other chars in the game. Modern, near-future Europe, if you will. A rich cultural diversity.

Scout is not a beefcake space marine by any measure, but she is quick to think and to adapt and reasonably good at exploring unknown worlds. She is not able to carry terribly much weight, but she is competent with what she can carry. Movement speed will be realistic but Scout can sprint of course.

Since she’s no tank, there is the need to handle confrontations in an intelligent manner and be ready for a tactical retreat if things get too much. The opponent will almost always be stronger than Scout except in the late game after her skill tree gets filled out. She is better at shadowing and eavesdropping on people as well as using social skills to get to where she needs to be.

Scout will definitely talk in the game, she’s got an opinion and she’s not afraid to say it, but she won’t be melodramatic (I’m looking at you Tomb Raider, what did you do to Lara.) She’s naturally good at making friends but her biggest strength – which she wouldn’t guess herself – is inspiring others. This will feature in a big way in the game.

Man, I’m still thrilled for this game.



The centerpiece of the third level solidified enough to commit to a layout. I’ve been wanting to do this earlier, but changes in the storyline / in the main questline kept popping up so it was pretty hard to visualize the whole thing.

This used to be the moat area of RMQ e1m3rq. Suffice to say, it changed a lot. There are now two faction camps and a boss fight in there. Various cutscenes are also set in this area.

I’ll probably be able to reuse some of the dungeon areas from the RMQ map, but the centerpiece just wasn’t good enough, similar to the outside area from the second level.

I won’t be able to block this in with BSP brushes, so I guess it’ll be done completely in Blender. I did use BSP for the Temple area when I made that, but brushes have reached the end of their usefulness here.

Moar helis


The first level of Scout’s Journey has had a helicopter fetish all the way back when it was still an RMQ map. This might be due to Supa’s idea to have a KA-50 like helicopter and gnounc making a model of it. What the heck, let’s indulge our helicopter fetish some more with this idea for a dual heli hangar, loosely inspired by the rebel base from The EmpIre Strikes Back. I think this is going to be awesome.

I really try not to allow feature creep in SJ any more, but in this case the idea seems cool and the game already has a heli model and the rest is just going to be standard props that can be reused. The area itself is just a few more concrete walls – the base has a ton of that stuff already, the theme is long established, so it’s like a drop in the ocean. So yeah, I think I’ll do this.

This’ll be a nice place to put some banshees, or potentially a Preacher, and let the player choose to attack or to sneak past. Equally nice option to hide a few items and all that. The first level doesn’t have many confrontations yet, so this is a plus. It’ll also tie the back end of the level together nicely.

I briefly thought to put this area near the end of the game, but I figure it’s best to impress the player early on.

Feels good to do some level design again. It should be fun making this.

Edit; another thing this reminds me of is the Lab X18 from STALKER, which is good.

October Debriefing

Well, this month wasn’t quite as netless as I envisioned, but still interesting.

My random internet use has declined, so that’s a sucess. And productivity did go up.


After I bought a Nexus 7, I found out that tablet computers aren’t really more “healthy” than PCs. There is a tendency to overuse them as any “smartphone kid” exemplifies. Plus they definitely aren’t any more ergonomic. Holding that device up and typing/touching with the other arm is perhaps even more grossly unnatural than a PC workplace, which at least can be configured to your needs and doesn’t require you to hold your arms up all the time.

However, some good did come from it:

  • I learned how to build and test applications for Android;
  • I helped the GemRB project with fixing about two dozen bugs and getting their engine running on Android again


Afterwards I went back to working on the PC and on a whim, started to program a roguelike game from scratch which is now at 2500 lines of code and playable. I just got the urge to do some programming again.

Going back from years of QuakeC to actual C holds several traps and pitfalls, because some things that became second nature just are a no-go in C. But I got past that and I enjoyed working on that code tremendously. I may even be able to recycle some of the old Scout’s Journey QC code into this new game, namely the randomized loot system and the weighted random selection.


I’ve discussed with others before to create a roguelike based on the pen & paper roleplaying system Das Schwarze Auge (The Dark Eye), a German creation that has been outselling AD&D here since 1984. It’s somewhere between AD&D 3rd ed. (lots of skills and special abilities) and GURPS (combat system, maybe.) It should be cool.

DSAhack can currently load maps as needed (it has a nonrandom overworld consisting of at least 9 map screens but will have semi-randomized dungeons), the player can pass between them and the state is saved, it does collision detection, dynamic level features such as doors and altars, fog of war and shadow casting, although the latter is a hard nut to crack (I’m trying to use my own algorithm) and my code isn’t complete there. The game does not write savefiles yet, although it’s on the list. There aren’t currently any monsters, but they will use the same fundamental creature struct the player uses (Quake’s entities come to mind.)  I’m currently filling that with all the stats from the DSA system, of which there are a lot and it’s somewhat complex. The game is round based of course.

I decided to go with handmade, nonrandom levels because I’m to a large part a level designer guy and I enjoy making those. A random map generator may be included somewhere down the line.

Translation to English is an issue, some of the spell names for instance are really hard to translate and existing DSA video games use translations that are sometimes way off the actual meaning (translating “Armatrutz” as “Fastness of Body” is pretty weird, since trotzen means defy and “arma” means something related to arms or armour, so I went and did my own translation as “Defiance of Arms.”) I also went with a shorter, more to the point translation of many other names because I reckon international players will be thankful not having to read something like “Ice Cold Warrior Heart”, which I render as “Warrior’s Heart” or “Corpofrigo Shock of Cold” which I have as simply “Corpofrigo.” It is important that these names are easy to remember and the spells have descriptions anyway, so why put superfluous information into the title?!

A lot of the pen-and-paper DSA spells are also just crappy or unsuited to a video game. Previous DSA games did a pretty good job of selecting only the working ones, although I reckon I can salvage a bunch more and adapt them into videogame mechanics.

The cool thing about DSA is clearly the special abilities. These are one-off attacks or parries that you may use during combat, comparable to spells but with weapons. They may do extra damage or allow extra parries, knock down opponents, do a roundhouse attack, rain arrows onto the opponent or do a master shot. Special abilities only work with certain weapons, so they can make unusual weapons a lot more attractive to use.

DSAhack is currently a fan project and as of now there is no plan to make money from it. The license holder does encourage noncommercial “fanware” as I’ve read. So this is not going to be a threat to Drakensang Online or whatever else DSA games may exist. I might at some point ask the license holder if they want to collaborate and make this available on Android or whatever. But for now this is just a personal playground.

This is not going to replace Scout’s Journey, it’s just something I started on a whim. I just wanted to see if I could write a game from scratch, and apparently that is the case.

I might do a similar thing again, another month dedicated to art practice or modelling or something, and maybe I’ll eventually manage to go almost netless (I practically only used the net for reading a C manual and Stack Overflow for a week now.)

So yeah, that wasn’t 100% as I imagined it but some cool things came from it.


As an experiment, I’ve decided to go netless for most of October. That is, no internet. If anyone wishes to reach me during that time, you’re welcome to use snail mail.

I tend to find most of the Internet pretty useless and distracting these days. I wish to cut the time I spend on it and use it more profitably instead. We’ll see if I can go four weeks without the ‘net, and what comes of it.

See you in November!



Get every new post delivered to your Inbox.

Join 68 other followers