Introducing: Jario

Jario logoYou saw Hario, and you revelled in its technical prowess. Now, the summer (winter) blockbuster of 2011 has arrived.

Jario is a port of Hario, and is similarly a very basic Mario clone, the quintessential platformer. From Hario’s C++ and HGE, Jario is running with Java and the Slick game library, as well as the brilliant Artemis entity-component framework, and it is an exploration of how to apply such a framework to a platformer-style game.

It’s currently in its very early stages after about a week of development from scratch, but it runs, and it already has more features than Hario. And although you may not believe it when you see it, it has superior graphics as well. There is no art more noble than that of a programmer.

It’s important to note that Jario is not a game so much as a proof of technology for the foundation of a game. As features are implemented it will become more game-like, and if I ever ‘finish’ it then it will perhaps be a game, but in my eyes it is just a body of code. The good news is that I can now refer to this code as I discuss Artemis and entity-component frameworks in general, which I certainly will get around to now. Jario is just the first step on the path to bigger and better things.

As usual, you can download the Web Start or run it in your browser. In addition, since it’s basically a piece of tech, I figured I should release the source code on Bitbucket to get some feedback from those with a little more Artemis experience. Finally, for this release there’s also a bonus feature: a pretty button for launching the Web Start! Behold:

Launch Java Web Start button

NOTE: Google Chrome users (such as myself) may find this button just downloading a JNLP file rather than launching anything tangible. To resolve this, click the little down arrow next to the downloaded file on the downloads shelf (the toolbar across the bottom) and select “Always open files of this type”. This will tell Chrome to launch JNLPs automatically (as well as downloading) rather than making the user do it, just like the other browsers.

Announcing: RailRunner!

Apparently I felt that I didn’t have enough projects underway yet, so here’s another one: RailRunner! As usual, that’s the working title. You can read (a little) more about it on that page, but in essence it’s Railroad Tycoon 3 made more accessible and actiony/competitive. I’ve got a few ideas that feel like they’re pretty original and they’d work well together, but we’ll wait and see.

In other news, Hario is coming along nicely, and you can pretty much run around the level, jump on enemies and die. There’s all the classic terrain types, though items don’t really affect anything yet. Most of the movement and interaction is there though, so the foundation is solidly down for us to start building on. Despite being a ‘practice’ project, I’m starting to think that maybe it won’t be the worst game ever! It’s a very encouraging feeling, and I’m getting increasingly obsessed with working on it, so expect some decent releases soon!

MSCVP100D.dll was not found – Problem Solved

Hario is coming along quite nicely, and in my attempt to show it off to a couple of friends, I zipped up the output from Visual Studio 2010 and sent it off. However I was quickly informed by all participants that it didn’t work, throwing the error “This application has failed to start because MSVCP100D.dll was not found. Re-installing the application may fix this problem.“.

Hmm. It didn’t do this for me. From the name it looked like the old Microsoft Visual C++ redistributable file that you need to download if you don’t have Visual Studio installed, so I pointed them to the download page, but it didn’t help. Strange. I Googled the error and got a bunch of results about MSVCR100.dll, and searching the exact error string got me about three results that said to download Visual Studio 2010 and you’d be okay.

It’s obvious in retrospect however – the problem was I’d sent the Debug build, not the Release build. MSVCR100.dll is required for the Release build, and MSVCR100D.dll is required for the Debug build. It’s not a common error, because typically people are smarter than me and send the Release version, resulting in the other error that is solved by downloading the aforementioned redistributable.

The moral of this story is: distribute the Release build, and anyone who can’t run it should only need MSVCP100.dll. Hope that helps someone, someday.

Still Alive

Just in case someone happens to read this while there’s nothing much happening, I’d just like to say that there is A LOT happening, just not on the site. Work is getting increasingly important, and Christmas (among other important dates) is coming up faster than I might like.

I haven’t had much change to work on the projects I’ve had listed all this time, but there is a new project under way, with the working title of Hario. Not surprisingly, Hario is something to do with Mario; it’s a little more than something to do with it though, since it’s basically a clone. I’m working on making a very simple game with The Artist Currently Known As DK, just so we can settle into actually trying to work on something together while simultaneously learning about all the tools we’re using. Hario is being written in C++ using Haaf’s Game Engine, and after a pretty full day of smashing against a wall, we’re set up and ready to code!

I get the feeling that actually working with someone will significantly increase my own productivity, especially once work my internship is over and done with. I’m going to be doing a whole more personal work next year so this blog should get much more of a workout. For now though, rest assured things are turning over behind the scenes. There will be results! Eventually.