New host

Martin · 9 years

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.

366 64 0

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!

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.

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.

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.

A little late for the 4th of July holiday, but nevertheless, I'd like to present a new GameMaker: Studio example - particle fireworks!

This is a pretty simple example which procedurally generates everything you see, using GameMaker: Studio's built-in functions. Most of the effects, such as the fireworks, smoke, and stars, all use the particle system. The sky is made with colored shapes and the land is a primitive.

Even though I started this from scratch, I consider it the spiritual successor to one of my really old game demos, which was also a fireworks simulation. I created that one to test out the particle effects in GameMaker, back when they were somewhat new. Here's what it looked like, in case you want to see how far things have evolved:

I think it's safe to say that both GameMaker and I have gotten a lot better at particles over the years!

Anyway, I hope someone out there finds this new example useful. You can find it on my GameMaker Examples & Tutorials page.

To continue my string of updated GameMaker projects, last night I uploaded a new version of my old Mandelbrot Fractal Explorer project, finally making it compatible with GameMaker: Studio.

The previous version was built in GameMaker 6, and relied on old functions like screen_refresh(), which have since been removed from the program. Surfaces are much more robust these days, so I've employed them instead of the old tech. I've made a handful of improvements to the functionality of the program as well, including making the zoom center on the view (this had always bothered me before), adding a timer to the render process, and moving the fractal drawing code out of a script (which basically froze the program for input on every update/render) and into the step event where the fractal surface is updated progressively, and the user can easily interrupt it at any time.

Render times remain an issue of course, but this was originally just an attempt to see if I could build something that would render fractals at all, so I still consider it a success.

The full source for this project is now available on my GameMaker Examples & Tutorials page, so if you'd like to tear it apart, make it better, or just see how it works, go right ahead!

I've managed to get my 3D rain example for GameMaker updated for GameMaker: Studio. I'm accomplishing updates at a pace that I can't sustain, woohoo!

This new version is near-fully commented and includes an updated rain effect that uses very simple models instead of textured walls. It also introduces water splash ripples and has a much better skybox than before.

Check out the updated example at my GameMaker Examples & Tutorials page.

I'm continuing to pick through my old GameMaker examples and update them for GameMaker: Studio, and the most recent example I've fixed now is the Faux Mode 7 example, which recreates the look of the original Mario Kart in GameMaker.

The example doesn't emulate true Mode 7 (it uses GameMaker's native 3D functions), but it uses a combination of techniques to create a retro 3D look.

You'll find the updated files for this example on my GameMaker Examples & Tutorials page.