This forum is read only and just serves as an archive. If you have any questions, please post them on

1 decade ago by lachsen

/><br />
<br />
Hi there!<br />
<br />
About a year ago I bought the impact.js licence and started working on a game.<br />
Later on, me and a friend founded "Radical Fish Games" and we continued working on this project together with several other people helping out.<br />
<br />
Now one year has passed and what we have is a 5-10 minutes tech demo...<br />
<br />
The game is called CrossCode.<br />
<a href=

The game is about throwing energy balls at everything.
More precisely, it's an Action-RPG with lots of puzzles.
With a planned length of at least 10 hours it's quite an ambitious project for HTML5, we think.

The tech demo won't show much of the RPG aspects, but you can see how puzzles and battles work.
Also, there is no sound so far. That will be added soon, though.

5-10 Minutes doesn't seem much for a whole year, but that is mostly because we did not simply use impact.js. Instead, we modified the engine quite a lot to exactly match the concept of the game.

Just a few things we changed:
- Complete rewrite of the collision engine to support 3D positions and more precise collisions for diagonal movement
- Complete rewrite of the rendering engine to render 2D Sprites with 3D positions
- Asynchronous loading of game data and assets during the game (e.g. whenever the location changes)

So it's not really the original impact anymore and we can't really use any of the more recent updates.
I still hope it will work with Ejecta though.

Anyway, I hope you like it! Looking forward to any feedback.


Lachsen (Radical Fish Games)

1 decade ago by drhayes

Sweet Jesus!

This is absolutely gorgeous. I love the controls, I love the UI elements, I love the art and the gameplay. I would 100% pay money for this game when it comes out, and I would love to be a beta tester.

The auto-jumping took a bit of getting used to; I'm not sure I would trust it to do the right thing in every situation as a player. At first, I was annoyed that the hovering effect threw off my aim... but then it became a fun gameplay element to time correctly.

How have you made your modifications? I've considered saving a separate directory in my project with diffs (e.g. "0001_change_collision.diff") and then, when new versions come out, apply them sequentially and fix'em as new versions break things.

Again: great work! This looks tremendous!

1 decade ago by Bum

Wow oh wow. It's projects like these that give me motivation to continue on with my cheap projects.

Questions if you don't mind.

(1) - Did you put yourself on a schedule to make this project?
(2) - How do you plan out levels? Does it start with paper?
(3) - Did you have mechanics first and then graphics were placed? How did you communicate dimensions with the artist? For instance did you -plan- on the main character to be the size that she is now?
(4) - It feels really smooth and fast. What kinds of optimizations are going on in the background?

I assume the website is built with HTML5. It is very elegant!

I had fun playing this too! My only pet peeve is chat bubbles popping up when you don't do something right the first time. My suggestion (if you'd like it) would be to introduce some sort of mirror to shoot at that hits a cube so you know they are destructible instead.

But just wow!

1 decade ago by coreysnyder

Great work. There are a lot of things I liked about your game. You did a good job on level design too to introduce the user to new elements. The graphics are great. Good work! How many people are on this project?

1 decade ago by lachsen


Thanks everybody for the feedback so far. ^^
The autojump is the same approach as in modern 3D Zeldas, so we hope it will work out that way. The lost aim when dodging is on purpose and as you say, it make you use the dodge more tactically. We do consider options to minimize the aim penalty depending on equipment though.

At one point we simply gave up to stay connected with the original impact source. So there are no diffs. We really modified at lot of stuff in impact, so changes in each update are highly likely to produce conflicts and will be hard to integrate.


Answering your questions:
1. We did fix a date for the tech demo, but postponed it at least two times. Not the best start, but we'll try to make the schedule more disciplined in the future
2. For the levels we simply had a rough textual description of the content. Since content creation is fairly easy (putting tiles together), I think doing elaborate sketches is too much of an overhead. We'll probably start using sketches to model the content on a higher level.
3. I was actually the driving force for both graphics and technical development at the beginning. So there was not much communication that way. Now we have people helping out with graphics. I guess I'm pretty much the "director" of the project making sure everything fits together. Actually, now that other people are doing graphics as well, I already notices that it's important to communicate dimensions very clearly. The size of the player was determined by my sprite style. This is now the status-quo for the game, all other sprites have to match that :D
4. The framerate is (ideally) 60fps like with most impact.js games you find. I think an important way to make things looks smooth is to not use linear transitions, but stuff like "ease-in", "ease-out" or "ease-in-out" like you find in CSS animations. We used this everywhere in the game (camera movement, GUI transitions etc.).

That idea with introducing the boxes is nice, we'll note that down!
We already have an idea how to make all those help messages less intrusive.

There are currently 5 people working directly on the game. You will see a detailed list when you complete the tech demo. Yes, there are credits :D

1 decade ago by svenanders

Wow, amazing stuff! Would definitely like to know more about how you've made this stuff.

1 decade ago by lachsen

Quote from svenanders
Wow, amazing stuff! Would definitely like to know more about how you've made this stuff.

Thanks! We're planning to open a DevLog soon. There we will talk about several of the technical tricks we did to put this together.

1 decade ago by Xatruch

Really nice graphics! Awesome game!

1 decade ago by svenanders

Quote from lachsen
Thanks! We're planning to open a DevLog soon. There we will talk about several of the technical tricks we did to put this together.

Fantastic. So much polish... Blows me away :)

1 decade ago by dungeonmaster

Somehow it reminds of Portal (maybe it's the cubes). I bet, with a good plot and an evil AI, this game can be quite successful with all this retro goodness :)

Clicking mouse repeatedly to fire was a lil bit painful for my finger btw

1 decade ago by trawen

fuck :(

on andoid opera mobile this game see as slide show.

1 decade ago by Ransome

Gorgeous! What great concept and game controls! Looking forward to seeing the dev logs.

1 decade ago by lachsen

Hi again!

Just a small update.
We have a blog now!
You find it here:

This will serve as a dev log. We will also post articles about some stuff we did with impact.js and HTML5 in generell to create CrossCode.

Also a few responses:

@dungeonmaster Portal was certainly a bit of an inspiration. Not sure we can promise the evil AI though. :P

@trawen Yeah, Android browsers don't seem to handle HTML5 efficient enough for CrossCode (which is a bit demanding in performance). We will try to get this game to Android via HTML5 application wrappers like appMobi.

1 decade ago by lachsen

Hi there!

In case anybody is interested, we wrote about the movement physics in CrossCode:

1 decade ago by Krisjet

I just wanted to say that this game is incredibly beautiful and polished. Looking forward to the finished version, and will keep checking out your blog for new entries!

1 decade ago by fulvio

@lachsen I'd be interested to know what kind of baking/minification you're using for CrossCode. I'd like to be able to do the same so as not to easily expose my code if someone was to find the scripts. Awesome work on the game! Utterly brilliant.

1 decade ago by vvhale

The way the camera works is brilliant.

1 decade ago by lachsen

Hi there!

@fulvio We use advanced compilation with google closure compiler to obscure the code. It was actually a lot of work to do that, as it won't work by default with impact.js. You'll need to modify several things, even deep down in the engine.
There are probably easier/better solution to do code obfuscation, such as UglifyJS. You'll find plenty posts about this topic in this forum.

Otherwise, thanks for the feedback @all!

If you are further interested on the state of the project, checkout the weekly reports of our blog:

We're currently working on path finding and wrote a bit about that.

1 decade ago by lachsen

Hi there!

If anybody is interested on how we integrated game pad input and what kind of issues we had, we just wrote a blog post about that:

1 decade ago by lachsen

Somebody interested on how we changed the architecture of impact.js for CrossCode?
We decided to start writing about that.

Here the first post of the series:

1 decade ago by Megalodactyl

Lachsen, your're awesome.

1 decade ago by radicalease

Absolutely amazing! Fantastic controls. Fun mechanic. Really responsive and fun to play.
Page 1 of 1
« first « previous next › last »