I nearly did so many things today

I went to town today because I had to do three things. 1) Eat lunch with a mate of mine, 2) go to 24MX and buy a new front brake disc for my motocross bike and get a missing mount for the hand guards for my enduro bike, and 3) get a new toilet seat from Bauhaus. I had enough time for 1) and then I had to go back to pick up my son from daycare…

See it’s not that sharp

I’m switching to C Sharp (C#) from Javascript (JS) in Unity3D and it’s slowing me down at the moment. I’m switching because I kept being told that C# is so much better – but so far my experience is that you just have to write more code and find workarounds for stuff =) Still, I gather I’ll find use of C# knowledge so I’ll persevere. It’ll also help me from snarfing code because most code is Javascript and if I manually convert it to C# I can understand it better… and improve it?

The bottom line is that I haven’t managed to get very far today on my Space fighter project today. I’ve got my ship flying around with mouse and keyboard control, I can fire an animated blaster canon, and I found out the Dynamic collision detection in Unity can’t really be trusted. Oddly enough the bullets collides with obstacles all the time, perfectly, in the editor – but not in the compiled version? I decided not to troubleshoot it any further because I use fast moving bullets and from what I gather I should be using raycasting instead so that’s something I’ll look deeper into tomorrow.

I nearly bought Harmor

Harmor VST - doesn't like 64 bit hosts

No, not armor. Harmor is an awesome sounding additive / subtractive synthersizer VST instrument. I mate of mine told me about it today and I downloaded the demo just to find out it’s a 32bit VST instrument and I run Cubase 5.5.3 x64 (64 bit). Harmon crashes Cubase for me after only a few minutes of use, gah.

Well, before buying Harmon – I thought I’d contact Image-Line (developer of Harmon) and ask them about their plugin crashing in Cubase. Image-Line support have no contact details on their web page and they direct all technical inquiries to their technical support forum…. Well, their technical support forum only appears to be supporting “FL Studio” because after registering in their forum I found out I have no authorization to post any questions in their support forum (which is also titled “FL Technical Support”.)

I then found out that VST Bridge (the component that keeps crashing in Cubase when i use 32 bit plugins) is not to be trusted if I go by what forum users at Steinberg say. Instead there is a suggestion to either downgrade to 32bit Cubase (which I don’t want to do because I have 24 GB Ram for my orchestral libraries and 32 bit Cubase would allow me to use about 3 GB of that memory at best), or use JBridge (or Bitbridge that I never found anywhere.)

jBridge

I downloaded the demo version of JBridge and it took me a few launches of the installer to figure out what to do, but I found a simple step by step instruction and using that the installation worked great.

Harmor seems more stable using JBridge, but it’s not hassle free their either. Quite a few times during half an hour of use Cubase froze, the Harmor GUI turned white with nothing in it, but I found some features I could enable in JBridge that seems to have combated most of the issues. Just as I write this I get “IL Harmor.dll – Forcing auxhost termination due to an error. Dispatcher: 19; Audiomaster: 15″ – and IL Harmor turned bright white again. Now I got “Dispatcher opcode 19 failed (IL Harmor (demo)/1229483375).” -but wait – I saw something in the help for that…  I have to enabled “I am getting a dispatcher opcode 19 error message” – great, I love it when I know what’s happening.

Well, I’m not convinced JBrige will solve any stability issues – I just seem to get other types of stability issues.

Summary

Today

  • I nearly bought the front brake disk and hand guard mount (but time ran out)
  • I nearly bought the toilet seat (but time ran out)
  • I nearly made some progress in Unity (but C# & buggy collision detection stopped  me)
  • I nearly bought the Harmor  VST (but it’s 32bit and buggy)
  • I nearly contacted Image-Line support (but you can’t)
  • I nearly bought JBridge (but it just changes the bugs around)
  • I nearly went to bed in time, but now it’s 3:12AM

Posted in Imphenzia Games, Imphenzia Music, Personal | Leave a comment

All the children get their own (voodoo) doll

I was told off today and rightly so! My son has been in daycare for two weeks now and “I STILL hadn’t sewn his doll” one of the staff reminded me in a friendly but firm manner.

All the kids have dolls that their parents make for them in case they need comforting. They can also be used when resolving conflicts between children where they act / replay an event using their little dolls.

Me? I’m convinced it’s a voodoo doll!! Since I’m the one who sewed it I’m sure my son will be able to inflict great pain even when he’s at daycare.

Anyway, I had to give the doll full priority tonight and sewing isn’t one of my strong skills. I just finished it now and I hope he forgives as he will probably have the plainest looking doll of all children. I overheard the mothers discussing the dolls last week. It was all about fashion, choice of fabric, what accessories to make them, and so forth. To make up for the lack of detail I gave the doll a superhero cape (and some awesome superhero powers.)

Superhero doll

 

 

Posted in Personal | 1 Comment

Full cone NAT UDP holepunching or just a hole in the head?

So far I’ve wasted about 8 hours of my time trying to get the masterserver communication to work in Unity3D. I’m currently troubleshooting Network Address Translation (NAT) issues that prevent my test game from acting as a server.

So far, I’ve tried to get it to work through my existing firewall/router which is a virtual machine running pfSense. Despite configuring uPnP and outbound NAT according to this pfSense forum post to emulate what’s referred to as Full Cone NAT it’s been a no-go. Unity’s networking test function still claims it is Port Restricted NAT which then means I can’t really host any games.

Ok – what about my Cisco LinkSys WRT320N router – I’ve got that one set up as well with it’s own public IP address. I changed my default gateway to this device instead, and behold, it didn’t work. That device also has a poor implementation of uPnP and NAT traversal so that does not work either. I found this list of devices that describes which NAT-type each device supports and whether or not it supports UDP-Hole Punching. It turns out that the vast majority of routers don’t support this very well which explains why the world of multiplayer gaming seems to spend more time speculating and trying to get a game to work than actually playing it.

Hole in the head – and in the firewall

To be fair, uPnP is an idiotic invention anyway. The idea is that any application can tell the firewall to open itself up. But wait a minute… what if I have a trojan (like Skype =) can that just politely say “Open Sesame” and let all the baddies in? Yep. That’s right.
So then, we have uPnP (which stands for Universal Plug and Play) a desperate attempt to solve communication in the world of NAT… and we have most devices implementing uPnP poorly to make it even worse.

Hole in the head.

Is there any light at the end of the funnel?

NAT is used for a number of reasons, one being that there are not enough IPv4 addresses available (only 4.3 billion) to allow all the computers in the world to have a unique address. This means that internal networks usually have addresses in the private ranges such as 10.0.0.0/16, 172.16.0.0/12, and 192.168.0.0/16 which are then translated between the private network and the Internet. There are also security benefits with NAT, for example, by default (more or less) an internal host must initiate traffic to an external host before the external host can communicate back to the client host.

My hope is that IPv6 will solve the NAT-mess in the future. IPv6 has such a large address space (340 undecillion) that in theory NAT wouldn’t be needed. How many IPv6 addresses are there I hear you wonder? Well, someone with enough time on their hands calculated that every square millimeter on earth’s surface could each be allocated 170,000,000,000,000,000  IPv6 addresses.

But wait… IPv6 is currently being implemented and we can’t just switch from IPv4 to IPv6 as nothing would work. How to we solve the transition then? Let’s go with our buddy NAT again… now with the selection of more implementations – how about 4in6, 6in4, 6over4, DS-Lite, 6rd, 6to4, ISATAP, IVI, NAT64 / DNS64, Teredo, TSP, TRT, SIIT, Drafts, 4rd, AYIYA, dIVI, NAT-PT, NAPT-PT…. Have fun troubleshooting why network multiplayer gaming isn’t working during this transition period =)

Do I sound negative? I wish we could just format the world and start over with stuff that just works instead.

Posted in Imphenzia Games | Tagged , , | Leave a comment

Networking with Unity3D

For years and years I’ve been wanting to create a network multiplayer game. Ok, I already created one about 10 years ago called Netris but that is a type of game that does not rely on any sort of speed or major synchronization of game data.

I tried to implement network multiplayer capability to Performa Cars (previously named “Computer Touring Car Championship”) – but I had to throw in the towel in the end. Too many design issues with the game itself (how the physics was implemented) and lack of proper networking libraries for Blitz3D proved to be too big of an obstacle.

New hope

Today I bought an asset package called “Ultimate Networking Project” for Unity 3D. It’s a combination of a tutorial and a bundle of useful scripts and functions to simplify multiplayer networking in Unity. I’ve read through the 25 page tutorial and looked at the included examples and I’m very hopeful to be able to create a multiplayer game in Unity.

What appears to be promising in Unity is built in functions for interpolation/extrapolation of object positioning along with client-side prediction and server authority. If these terms are alien to you, let me assure you that they were to me as well when I started to make Performa Cars. It’s a world of hurt if you have to learn and develop all these functions by yourself – but as I mentioned, Unity appears to have this under control.

My first project is to create a simple top-down space shooter (using the low polygon 3D spaceship I recently designed.) The purpose of this project is to learn enough about Unity and networking to have another go at the top-down racing game I’ve always dreamed of creating.

Posted in Imphenzia Games | Tagged , , | Leave a comment

How I arranged the trance track Spirit Within You

Following some very positive feedback on the tutorial video on how I create trance music I also decided to dedicate today to make another tutorial of how I arranged the entire track Spirit Within You.

This video takes a detailed look at all the sections that form the track – such as the intro, the build up, the breakdown, the culmination, and the outro. It also explains how various instruments are introduced and modified during various stages of the track.

I am, by no means, saying that this is how you must make trance music – it’s just at peek into how I arrange most of my tracks. When I started out making music in the 90s I found no tutorials like this and I’m hoping that this video can help some of you that are interested in making music.

Right then, here is the tutorial of how to arrange a trance song / track:

As usual, I use Cubase 5 and my trusted VST instruments Nexus2, VanGuard, and Sylenth1 – but this arrangement technique can be applied regardless of what software you use.

If this tutorial helps you out – I’d be happy to hear about it in the comments field =)

Good luck and happy music making!

Posted in Imphenzia Music, Imphenzia Tutorials | Tagged , , , , , | 1 Comment

How to make trance music tutorial

Today I decided to create a tutorial based on my latest trance track “Spirit Within You“. It’s a detailed look at a section of 15 measures of the track where I go through each and every instrument, what notes and chords are played, which presets are used, what VST instrument was used, etc. This should hopefully give you the foundation of percussion, bassline, melody,  filling effect – but it won’t teach you how to arrange a full length track – that will come in another tutorial.

Have a look at the tutorial

What’s in the video?

The video describes the following elements:

  • Percussion (drums) – kick, closed hihat, open hihat, claps, cymbals
  • First bassline (rapid 1/16 notes)
  • Second bassline  (offbeat 1/8 notes)
  • Cluster of 5 simultaneous leads for extreme atmosphere
  • Two trance gates for an even fuller effect
  • Pads for more euphoria
  • And a classic trance piano with delay end reverb

First the video lets you listen to the end result. Then I solo each instrument and describe what notes were played. You can also see exactly which presets are used in Nexus2, VanGuard, and Sylenth1. All presets, more or less, use the default settings and the default delay / reverb effects. Filter cutoff frequency is altered on a few instruments to create that classic morphing or transforming sound commonly found in trance. No additional, external, or invisible effects are applied.

In this video tutorial I use Cubase 5 as a sequencer – but the technique can be applied to any sequencer and VST instruments.

Since this video focuses on a cropped out section of the track, I plan to make another video showing how the track is arranged in terms of introducing various instruments, the intro, the chorus, the breakdown, the outro, etc.

If you like this video and, of course, if you like my music – please consider supporting Imphenzia by buying one of my albums in the album section (or on iTunes and other digital stores) – you can also gain Full Access to all Imphenzia tracks for high quality 320kbps MP3 and lossless FLAC files.

Virtual Instruments (VSTi) used

  • Groove Agent ONE (Cubase 5 drum machine)
  • ReFX Nexus2
  • ReFX VanGuard
  • LennarDigital Sylenth1

Presets used

All the presets are available in the retail version of each VSTi without the need for any expansions. The exception is the percussion since I just use various percussion samples.

ReFX Nexus2

  • Bass | BA Trancebass 19
  • Bass | Lazy Bass
  • Single Layer Leads | LD Detuned Lead 1
  • Epic Pads | PD Floating Away (with Trance Gate “TG” effect enabled)
  • Epic Pads | PD Tranceiver
  • Piano | PN Trancepiano

ReFX VanGuard

  • LD Corsten 01 MS
  • ARP Smuggler

LennarDigital Sylenth1

  • Bank 1 | LD Follow
  • Bank 2 | LD Rollback
  • Bank 1 | GAT Trancentral

Groove Agent ONE

  • Various drum samples accumulated over the years


Posted in Imphenzia Music, Imphenzia Tutorials | Tagged , , , , | 3 Comments

Music for indie games – Nostalgia Dubstep Level Kit released

As an artist I released my new track “Nostalgia [Dub Chill Edit]” yesterday. Today I found the time to create seamless loops and music hits of the track and released it as a Level Kit under Imphenzia Soundtrack. This means that the music is available for non-exclusive licensing at a ridiculously low prices for indie game developers.

The easiest way to check out all the loops and music hits is to visit the Nostalgia Dubstep Level Kit page where you can listen to all the stuff in high quality. You’ll find a full length theme track (4:09 in duration), 7 seamless loops, and 3 music hits. It’s all available individually so you only need to license the ones you want to use – not the entire level kit.

The music is suitable for futuristic games and games with attitude.

Posted in Imphenzia Soundtrack | Tagged , , , | Leave a comment

Release of Nostalgia [Dub Chill Edit]

I’ve recently discovered the Dubstep genre and even though there are a lot of the tracks of that genre that I don’t particularly like, there are quite a few I really DO like as well. As I mentioned in an earlier post it was “Scary Monsters and Nice Sprites” by Skrillex that got me interested and I really liked the structured randomness of stabs and the wobbly bass.

I suggest, while reading this post, that you listen to Nostalgia [Dub Chill Edit] =)

Continue reading

Posted in Imphenzia Music, Imphenzia Sites | Tagged , , | Leave a comment

Influenced by Dub Step

After recently discovering and listening to the Dub Step genre I got influenced by it and modified the Nostalgia chill out edit to incorporate some of the elements. Well, mainly it’s the wobble sound but there are other aspects I like as well like the random stabs and effects. The track that caught my attention was Scary Monsters and Nice Sprites by Skrillex. And I also liked Kill EVERYBODY a lot.

Without attempting to make a “proper” dub step track I decided to boot up Cubase and this is what I got so far:
Nostalgia [Dub Chill Edit] – Work in progress by Imphenzia

I’ll continue this piece tonight and hopefully it’ll result in a 3-4 minute edit of the Nostalgia track to be added to a new edition of the maxi single.

I’d be curious to find out what you think of this so feel free to comment =)

Posted in Imphenzia Music, Work in Progress | Tagged , , , | 1 Comment

3 New Non-Exclusive Music Loops Released

Tonight I added three loops to the non-exclusive music library.

What else did I do today?

Even though I am on paternity leave things are quite hectic at the moment – but in a good way.  I drop my son off at daycare at 08:45 in the mornings and then I have some time to spare for my projects until 13:30 when I pick him up again. He is only spending short periods of time there still as he just started last week but it’s still a bit heartbreaking leaving him in the morning as he bursts into tears as I leave him. My wife is taking care of our new baby girl most of the time so I can spend the 4 hours on my projects most days. Today was an exception though, I had to spend 2 hours searching for my wallet (which I had apparently left behind at the daycare center) and another 2 hours cleaning my car…. so no time for my projects during the day today.

3DS Max and Unity

Render of final space shipI’m also spending some time in 3DS Max learning some low polygon modelling. I am making a little space game so I can learn both 3DS Max and Unity3D properly because I plan to make the sequel to the yet unreleased game “Performa Cars” using Unity’s powerful 3D engine. I will still make the game very much 2D looking because my passion is top-down racing.

Motocross

My KXF 450

Our local motocross track is open on Wednesday evenings (as well as weekends) so today I spend 3 hours there practicing. I rid my Kawasaki KXF 450 (2008 model) and it went fairly well until blisters in my left palm put an end to the session. I’ll have to figure out a way to tape it up for the weekend. My goal is to ride twice a week all year around. In the winter I put on spiked ice tires and I actually prefer to ride in the winter because the grip is amazing… and I don’t overheat as much as I do in the summer =)

Modern Warfare 2

I also managed to squeeze in a two hour session of playing Modern Warfare 2 with a mate of mine tonight.

Plan for the coming weeks

My plan for Imphenzia Projects during the coming weeks include:

  • Re-launch the Imphenzia Games web site with the new design (as Music and Soundtrack)
  • Release Performa Cars (a.k.a. project Computer Touring Car Championship) as freeware
  • Composing more music for release on Imphenzia Soundtrack
  • Continue to learn low poly modelling and Unity3D development for future Imphenzia Games projects
  • Keep this blog updated

Imphenzia aside, I also need to:

  • Spend time with my family
  • Practice motocross
  • Keep fit (run 3 times a week)
  • Buy another car… can’t fit the new double pram in the boot/trunk…
  • Contact contractors for building plans… boring…

Now it’s time for bed at 01:53 – should have no problem sleeping.

 

Posted in Imphenzia Games, Imphenzia Music, Imphenzia Sites, Imphenzia Soundtrack, Personal | Leave a comment