[WebGL2] [WIP] Ganymede Gate DX

Recommended Posts

Ganymede Gate DX

(DX as in Deluxe, the game i'm developing has an open source, ascii based version)

Ganymede Gate is a Sci-Fi traditional roguelike. It will have a quirky story not like any other sci-fi games you find out there, but i will not reveal much as not to spoil it. You're sent to the jovian moon in search of answers to a human base where some mysterious things have been happening, as it recently went silent.

The deluxe version i'm developing includes tiles support and will, eventually, have steam achievements, etc. ascii version is available here. You can play online (although it is pretty slow) on

The ascii game is playable, although on a very alpha state, and the tiles version is just being developed atm. Here are some screenies of both of them.


(this is a lot of AIs duking it out without lighting)


(Some of the map generators currently implemented)


And here's some of the WebGL2 UI goodness (with some shaders active, Curvature, Scanlines, Gamma and Tinting)





(Yeah, roguelikes have scary keybinding sheets)


(Inspired by SNES9x and ZSNES, i'm making shaders optional, modifiable and user generated, so anyone can put their favorite shader in)


UI work numbs the mind, wish me luck :D

Edited by chiguireitor
[WIP] Tag missing

Share this post

Link to post
Share on other sites

Aww shucks forgot it....

Complete repo is on although the version can be downloaded for free and has the NW.js runtime along with it.

Github repo runs with "node mrl.js"... i haven't published all the new stuff as it is in another source tree, but that one should be published eventually too (nw.js, npm and openshift collide on the package.json requirements and it is cumbersome to handle them without confusion).

Share this post

Link to post
Share on other sites

Been working on the new UI (which is, arguably, the most boring part of game development). I need to polish it a lot because my UI/UX was lacking.

Today began working on some icons for the special abilities, still monochrome, will have them slightly colored later:


Also, the charselect screen is taking shape nicely, the empty space at the right is where the special abilities will be shown:


Share this post

Link to post
Share on other sites

Second one looks slightly lighter and zoomed out, I also can't see a difference in hue (not certain there isn't one, but if there is I think it must be quite subtle...) Both images appear rather busy and colourful but somehow the character sprites seem to blend into the background despite their strong black outline, I think this is just due to the chaos of dfferent but strongly patterned tiles  splattered about and character sprites that seem to use the same palettes.

It's an interesting look, vibrant and somewhat inviting but also a bit hard on the eyes maybe?

Oh ~ the coblestone dirt island on the bottom right of the 2nd image are noticable a different hue, the less reddish dirt colour sems more like dirt I guess but the highlights look wrong (sorta greenish and they stand out more, they catch my eye and then I'm bothered that the angle that seems to be catching the highlights changes for each blob shape which looks wrong, it's apparent in the 1st image but I don't really notice it unless I look for it)

Share this post

Link to post
Share on other sites

Ok.... i'll try to connect all this new graphical frontend to the game engine this week, so this can be properly compared in-game (several people have told me already that the busy random tile placement isn't helping to understand the images, which is true).


Thanks for your feedback everyone!

Share this post

Link to post
Share on other sites

This week i finally began integrating the new frontend to the game engine. It is chugging right along, but real-life is proving it harder to develop everyday.


(Missing here are the enemies, items and several props note rendering, because of implementation not being done yet)

Gamepad Support: One thing that was surprisingly easy to do is implement the input handling from gamepads. As the game is HTML5 based, there's an array and an event that alerts you from gamepads, and then you poll it every frame for changes. Nothing complicated, nothing too involved:

var gamepads = navigator.getGamepads()

Is enough to give a gamepad array with objects that are pretty self explanatory.

Here's me moving the player with a controller.

A nice thing is that playing with a gamepad feels nice, and lot of people like it that way. I will try to test support with as much controllers i can get hold of. Here's hoping i can get a Steam controller eventually.

Another thing i did was that shaders are now in a directory that gets read on bootup, and then a comment on the shader tells the game what to allow the player to configure.


Share this post

Link to post
Share on other sites

Last two weeks i've been slowly but surely making the DX frontend achieve feature parity with the open source frontend.

Namely, the sprite work is massive, compared to the relative easyness of creating weapons with just a new character on the ascii frontend. Here i started working on some weapons:


After getting them to a "good enough" state i copy them to the sprite sheet and complete the outlined on-the-floor sprite:


This process must be done for each sprite, as they need to look "complete" when on the floor but there's some Z-ordering going on in the marine's hands when in use. Then comes the trouble of picking the right colors for the weapons, because there's some hue-fighting going on with the marines' colors, and palette separation will be a must here. To make matters worse, each weapon will have around 8 variations of characteristics and about 6 colors, which are generated on the fly. Nasty.

Also i changed a little the fog representation and everything seems a lot smoother now:


The trick here is changing the magnification filter for the FOG/lighting texture to GL_LINEAR (so it becomes blurry) and then the pixels that are out of vision just slowly fade out from 1.0 (total visibility) to 0.0 (total fog). Also, the colors don't go completely grey, but rather they get a slight sepia treatment, so they feel more murky.

Began working on new enemy sprites (namely the drone and tracer, they are robots and so must seem mechanical):


They currently die and throw blood (even on the ASCII version) and leave a bloody corpse, that will be changed to more mechanical things.

The exploding barrels are in too, i'm changing the lighting of the sprites and tiles to a front left facing light (instead of the back left on the tileset) as it seems more natural from the point of view of the player, and that is causing some weirdness on the overall feeling of the game at the moment:


Animated sprites and particles are in too, with some big explosions showing their faces.


(In that image there's a bug whereas the enemies walk over walls, in reality those walls were destroyed and the tile is free to move).

Also, good part of the two weeks time, was solving a bug that came from implementing a naive mixer for the tiles. Fact was, the dropship tiles where being mixed with the floor tiles with the noisy mixing i implemented, and that wasn't very cool. Now i can switch mixing on a per-tile basis, letting the rendering engine know if it must mix or not.


(Btw, in the first gif of this post you can see the incorrect mixing of the dropship's tiles with the floor).

Last but not least, i'm trying to not kill myself in the process of making this game, so i'm trying to get to bed early, and changing a little bit eating habits... next up is getting me some excersice, which is happening to be hard to begin with :/ As a recent popular article made the rounds, dead men write no code, so edging ourselves to get the game done in the least amount of times usually is counterproductive to the process itself.

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.