Blog

New host

Last week I switched web hosts for all of my websites, including this one and Reflect Games, which are the two largest. Although I’m sure there are a few broken links here and there, overall things went surprisingly smoothly. This is the first host switch I’ve done since I got serious about having my own website and purchased hosting services way back in 2004, right after finishing college. I’d been renewing the same contract with this company since then, upgrading things when necessary, and generally I’d always been happy with the service.

My old host began as a suite of websites that supported the PHP community, and there were a lot of neat perks for hosting there. The service was reasonably priced and the upgrade path was smart. Over the years things slowed down though, and one by one the supporting websites dropped off until only the hosting service remained, operating under a new name. The service remained good during this time however, and whenever I needed help the support staff was there for me.

Then the hosting company’s website began dropping features. One day you could no longer see the various hosting plans they offered. Another day the help system disappeared. Gradually, the site was reduced to nothing more than a client login page, with a bare bones set of options for billing and support. This bothered me a lot, and I half expected to wake one day and find the company entirely gone, and all of my websites down. Thankfully this never happened, and the support staff still remained useful.

Over the last year (okay, I’ll be honest… probably the last 3-4 years), I would occasionally notice that my websites were mysteriously down. I’d send off a support ticket, and the sites would be fixed within a few hours. It was an annoyance, but not one worth hassling with a host migration, I rationalized. The thing is, I wasn’t always using my sites a lot during this time, so the problem was probably much worse than I thought. It bothers me to think this, because I’d hosted my websites with this company for 11 years.

Last week, I was up late at night working on things, and I noticed that once again my sites were down. I went to bed, thinking that by the time I got up everything would be sorted. The next day, the service was spotty, with my websites remaining up for a few minutes, going down, coming up without the database server, and then repeating the cycle. I reported the problem to the support staff. Hours later, after making it through a few levels of support staff, I was informed that the server was under a load from another client (it being a shared hosting solution) and that they would monitor the problem, but that there was really nothing that could be done. By this time, I had had enough with this – and so I downloaded a full backup of the site, exported all my databases, and literally took my business elsewhere. Incredibly, by the end of the night, all of my websites had been uploaded to the new host, the DNS changes had propagated, and everything was working. I’d even had a pleasant and helpful interaction with the support staff on the new host, when I’d accidentally purchased the wrong plan.

I had stayed with my old host out of a sense of loyalty, but also because I believed switching hosts would be an incredible hassle. If there’s a moral to this story, it’s that you should always be aware when you’re not getting the service you’re paying for, and know what your options are if it comes time to make a change.

Sorry if this comes off as kind of a toothless rant, since I’m not mentioned any company names. My intention here isn’t to shame anyone, but just to vent a little bit.

 

New GameMaker example: 3D Starfield

starfield-big

I’ve updated another of my old GameMaker examples to be compatible with GameMaker: Studio! This time, however, I’ve completely re-imagined the old example, and replaced it with something that demonstrates the same principles, but in a totally different way.

The new example is a 3D Starfield simulation, and it replaces the old 3D Night Sky file.

This new example uses the same technique as the old one, creating a model and using primitives to add points to it which draw as our “stars”, but this new example also adds some linelists to the mix, as well as some infinite motion. I think it’s a much more fun way to see this technique demonstrated, and it wont feel quite as redundant when I get around to updating the day/night cycle example as well.

As usual, you can download this new example over at my GameMaker Examples & Tutorials page. Thanks for checking it out!

3D Animated Water example updated

animated-water-big

I’ve updated my old 3D animated water examples to be compatible with GameMaker: Studio today, combining the two former examples into one superior example.

The previous examples used two methods for creating the water effect. The first used layers of scrolling, textured 3D planes drawn with an additive blend mode to make a detailed, if not always pretty, body of water. The second used a pre-animated texture, created in PhotoShop, to create a similar effect. A skybox was also employed, to make for better background scenery.

This new example combines methods from both of these files to create, in my opinion, a superior effect. With this updated example, the layers of scrolling texture have been relegated to a surface, which gets updated each step. This surface is then drawn over a base color plane for the water, all over a skybox with pre-baked reflections built in.

The effect could probably be more detailed, or could benefit from shader support for true reflections, but for what it is, I think it’s a notable improvement.

You can find the updated file for this example on my GameMaker Examples & Tutorials page.

Update to Blender addon for exporting 3D models to GameMaker

blender-addon-update-1_4_5-blender

I spent some time experimenting with my Blender addon and GameMaker’s 3D the other night, and I realized that the models it was creating were not entirely how they should be. It seemed that if you used the option to flip the object’s Y axis on export, which is often necessary because GameMaker and Blender’s world axes are different, then the model’s normals would be flipped.

This wasn’t immediately obvious to me, since the correct orientation of GameMaker’s built-in models has always been kind of ambiguous, in my opinion. After following the code in the manual to make some of the primitive shapes however, I compared the results to what my Blender addon was creating, and came to the conclusion that the output from my addon was not quite correct.

blender-addon-update-1_4_5-gms

So after a lot of tinkering (Python and Blender API are not my strong suits) I believe I’ve finally got the addon updated to export models that are oriented correctly and which should always have correct normals. Additionally, I added a feature which a friend of mine had built into his own version of the addon, which will let you output the model script in an alternative way, to more easily allow you to add it to an existing model in your game.

You can download the updated version of my Blender addon at the original page, which I’ve changed to include the newly updated addon. That will always be the place to go for the most recent version.