Game Development · Uncategorized

JetLag 2017 on GameJolt

ss01

Yes, that’s right. JetLag 2017. Like all the other JetLags, but in 2017.

Play it Here!

Naturally, when I make a new JetLag, it means I’m exploring a new platform for development, and 2017 is no different.

This years platform is Defold, a lua scripted scenegraph manager tool.

It touts itself as the “Ultimate Engine For 2D Games,” which is a lofty ambition.

Pedantically speaking, the world “ultimate” means the same thing as “final”, and non-pedantically, it means that there will never be a better one. Neither of these things are true, of course.

This version of the game sits up there on GameJolt, right next to JetLag 2016, made with a similar tool, Godot.

If you’ve followed my history at all, you will know that I’ve tried just about every tool there is, every platform there is, and most of the languages out there. You might ask the question, what am I looking for?

I’m not actually looking for anything. Certainly, I’m not looking for the “ultimate” anything. I learn things as an end unto itself.

 

Uncategorized

How to just trust @cokeandcode, and thus not be an idiot

I mentioned something like this before:

THE AUTHOR OF SLICK2D ALREADY THOUGHT OF ALMOST EVERYTHING FOR YOU. YOU DON’T HAVE TO WORRY ABOUT STUFF. SO DON’T. WORRY ABOUT STUFF.

After my various struggles with getting CTYR working on linux and mac, I did a brief pre-prototype of JetLag (which means: an application that has an ASCII grid that randomly changes once per frame)

And, just for a lark, went through the following procedure:

  1. export my common library (pdgcommon) into pdgcommon.jar
  2. export my game (jetlag) into jetlag.jar
  3. Fire up jarsplice
  4. add pdgcommon.jar and jetlag.jar
  5. also add slick.jar, lwjgl.jar, and the jogg and jorbis jar
  6. *IMPORTANT* add the natives-(operatingsystem).jar files
  7. DON’T BOTHER ADDING ANY NATIVES, THEY ARE IN THE JAR FILES FROM STEP 6
  8. Set the correct mainclass (in my case, com.pdg.jetlag.Program)
  9. make the fat jar
  10. Put it in my dropbox public folder
  11. download on linux and mac

What I had been doing before was adding the natives I downloaded from lwjgl. *FACEPALM*. I needed NOTHING outside of the slick/lib folder. IT WAS ALL JUST THERE ALL ALONG!

So now, a couple of links:

CTYR that works on windows, mac, and linux.

JetLag pre-prototype that also works on windows, mac, and linux.

And now some screenshots, in the spirit of the internet being the refrigerator upon which we affix all of our proud works with magnets.

Both working on the mac:

And CTYR working on ubuntu

And jetlag working on ubuntu

I have the fps counter working on the JetLag pre-prototype.

On my windows machine (not shown), I am getting 43 FPS.

On the mac machine, I am getting 44 FPS.

On the linux machine, I am getting 10 FPS, which isn’t bad for a Dell Inspiron B120.

In other events leading up to this iteration of JetLag:

I had a version I was doing last year in C#.

For this version, I decided to make a small PNG for each of the characters in each of the colors.

I generated these programmatically.

For the Java version, I decided to import them and make use of them.

4096 16x16px images are about 670K, which isn’t bad, but I don’t actually need them.

Slick2D has a nifty colorizing function that will take the white one and shade it whatever color I want.

It also has a way provided that I can use a single PNG and split it into a tilesest which I haven’t investigated.

For anyone’s perusal, I have the flash version of jetlag stripped down to its bare essentials (I was in a weird minimalist phase, and sucked most of the campy fun right out of jetlag) available.

Uncategorized

Old Flash Version, for Comparison

I also put up my old flash version of CTYR. The high score stuff no longer works, naturally, but you can see the game itself, which is surprisingly almost identical to the new Java version.

Which of course brings up a good question: why in the world am I rewriting CTYR?  Does the world need another version? Are there new features?

As you will have surmised, CTYR is my sandbox game.

As a result of CTYR’s new version, I now have a nice little Java library of stuff I need in various games.

I even figured out how to put it in a separate project in Eclipse. Yay for me!

Next step, after figuring out how to get CTYR’s java version into an Applet, is another swell game: JetLag!

Uncategorized

Silverlight, Looping MP3, Sadness, and Woe

So, I got to the part in JL2011 where I start to put the music and sound effects in.

I have another game where I did this (Object Ouster), so I just grabbed the classes I used to manage multiple sound effects, and went with it.

The sound effects worked flawlessly.

The music….

Not so much. There is an awkward silence while playback loops.

So, I head to the interwebnets, to find a solution.

Because this is JetLag, and if the stupid JetLag song doesn’t play, its just not JetLag.

Uncategorized

$_SESSION Looks like a winner!

So, I’ve been looking into $_SESSION as the way of perpetuation data across web pages, now that I’ve got the site into PHP.  Very likely there will be session data flying around when moving between pages on PlayDeez.com.

Of course, there will be no content associated with having a session. Its the plumbing for future expansion, and I think a reasonable first target is the Silverlight Jetlag, since it is a smallish code base, and it is relatively easy to get my PHP session data into the object via a <PARAM>.

I’ve also been reading into getting a Silverlight application to call another webpage silently. After reading the documentation on it, I must say that it is a whole lot easier doing this from Flash or even simply JavaScript.

I also need to start investigating getting information from a FlashVars param into Haxe. I’m going with a lower flash version(7) because I want compatibility with the Wii browser and potentially other flash lite devices.

The first Haxe target is CTYR. I’m going to take the art assets from the Yahoo! Widget I made of this game.

Uncategorized

Silverlight JetLag For Real

I added the silverlight section, which basically consists entirely of JetLag.

Still having the minor issue of keyboard focus not going immediately to the game, so it has to be clicked on first, but I’ll get there.  It probably has something to do with how I dynamically create my pages with JavaScript.

I also update HamQuest. We are now at version 1.1.0.1, which hopefully will fix some of the issues that have been reported and/or found by me.

The general idea that I’m getting about HamQuest is that it is now officially too hard, so it is suffering from balance issues. Dunno yet if I’m going to make the enemies weaker or the player stronger to compensate. I need more playtesting.

Uncategorized

Silverlight JetLag

So, Silverlight JetLag has now achieved feature parity with JetLag: Crystal.

Which completes milestone #1 of Silverlight development: be able to do it, upload it, and have it work.

Milestone #2 is to make use of the “isolated storage” in some way, probably just to keep a local high score.

Milestone #3 is to move into Ajaxy goodness, and plug it in to the same system that JavaScript JetLag does.

Milestone #4 is to put the game on the PlayDeez.com site proper, and integrate it into everything else.

So this leads up to the issue of why I have so many (currently 4, Silverlight makes it 5) versions of JetLag. There is, or has been, a Yahoo! Widget version, and XNA version, and an old PocketPC version that I don’t showcase on the site.

JetLag can be written from nothing in a few hours, which makes it a really great straw man for a software delivery platform. Since Silverlight is one of the targets eventually for HamQuest, this is my slide towards the platform.

In other news, I have been gathering statistics on the site in general for about a year now, and it comes time to retire some of the sections of the site… namely Yahoo! Widgets and Scratch. The games are found elsewhere(on the particular sites of both platforms), and are not terribly active pages, and will never, ever see an update. Generally, nobody will miss these… not even me.

I’ll probably wind up doing some sort of “Old Games” archive page, though.

Uncategorized

Assembla Message Board

It looks like the messages feature will work for a public way to submit bugs on HamQuest, so I opened it up:

http://www.assembla.com/flows/flow/cCJdoIJrSr3OLreJe5afGb

Also:

One of the reasons I have been working in C# is to make stuff that works on a PC desktop, as well as on the web via silverlight, and even the XBox360 through XNA.

So, I set up once again for silverlight development, into which I have never really had opportunity to foray very far.

As usual, I go with the scrolly block demo for a jetlag game, which I have HERE.