I have been toying with this concept for a while and as my collection of game engines seemed pretty much feature complete, I felt it was time. To estimate if I would be able to reasonably quickly write a script and gather the needed assets, I forked the adventure engine, added the needed functions and started to code the proof of concept.

My idea, as stated in the title, is a parody game based on Star Trek DS9. I'm calling it Star Trek Defiant. I chose for a parody for a very simple reason. It is the form best protected from litigious companies such as CBS, who are known for torpedoing fan projects. The game is going to essentially be a critique of the current state of affairs in the Star Trek franchise of which I am less than a fan to put is mildly.

So I'll be blatantly taking graphics and concepts and adapting them for use in my game as you will see in the short demo I coded together and when it becomes playable, I'll share the source and content on this project page, barred any take down notice at which point I'll distribute it in any other form I can!

So let it be PERFECTLY CLEAR. This is a parody and critique of the source material and contemporary forms Star Trek exists in.

Now for the demo footage :

In this demo, you can see various techniques I described in the game engine project. It uses drawing layers, graphics manipulation, frame animations, scale and rotation functions, filter effects and game logic scripting. Basically everything I build into the adventure engine and the spaceship demo engine. Of course I used my LCARS editor to create the GUI panels. These can have various functions, but they also look pretty Trekkie.

Here are the animation frames for Captain Nog. It turns out that this type of framing does not impact performance as long as the number of assets on screen is relatively low.

I have also been working on the script and the game mechanics concepts. It will be a combination adventure/ action game. Mostly action though. I plan to have a steerable Defiant ship on screen and a target system with which to fire phasers and torpedoes at thy foes, who be naughty in thy sight, will snuff it.

The main premise is a DS9 reunion some 20 years after the dominion war. To pick up all the characters, the historic ship The Defiant has been refurbished and is now commanded by Nog. In true Trek style, everything goes awry immediately after leaving space dock. During a test session of all the systems, the Defiant is pulled into a parallel dimension.

On the other side, they find that everything is wrong with the universe. There is no logic, no continuity and much of it is... stupid!

Captain Nog decides to try and locate the people he was supposed to pick up, to see if they are alright and perhaps able to remedy the silly nonsensical universe. While in warp speed, They encounter the first foe. The ship is under attack by "mystery boxes" that seem empty. After defeating the first wave, they encounter a end-boss. In this case it's JJ Abrams head who is trying to shoot you with lens-flares.

After this first level, you arrive at Risa and beam up Jake. Together you set out to find Worf. You now encounter a new foe. Things that look like black holes, but make no sense. Luckily Jake is an accomplished author and he recognizes them as plot-holes and he suggests a way to deal with them... To be continued...

Well, you get the idea! The nerd in me is currently quite strong and perhaps a bit unhinged. But it needs to get out! Can't keep it in forever!

I know some (if not most) things I do here can be done more efficient, for example I use almost no canvas methods for transforming and drawing, but that is not the point. I wanted most of the logic to be scratch build in order to understand the underling concepts and dynamics.

Of course I could have picked a faster language for that as well, but choosing JS meant that not only would I be able to so this sub pixel controlling madness, I could also easily share it IF something worth watching/playing ever came out of it.

At the very least, I'd have some better understanding on how to thing in terms of coding games and I'd have some nice function that could be helpful for paid projects (This, in fact, has already happened).