Freedom Code (WiP)

Hello there, dear community!

[FONT=Arial Black]Introduction
Some time ago, me and Dawid ‘vebski’ Niemiec took part in another Epic’s Game Jam in which, we managed to be one of winning teams. The game we made was Freedom Code. Since we quite liked the result we came up with and also other ppl seemed to like it too, we decided to keep the project alive and work on it in our spare time.

[FONT=Arial Black]Description
The way I’d describe this game would be: For casual players, it’s a bit more dynamic portal with bigger accentuation on arcade elements. More advanced players will also find that the perfectionism is a key here, and even a tiny bit matters. Fortunately, pure psychos (luckily for me) should find this game interesting as well, as there’s even more stuff that can be perfected (strafing, bhoping - read more about that below) in order to have even better score than before. Vague and cheesy description - check.

In the game, you play as a computer code trapped inside of retro arcade game machine. Your goal is simple: you have to escape from there. By having direct control over mentioned code (from FPP perspective), you’ll have to face numerous gaps to jump through, doorways and passages that are waiting to be opened by abilities scatered around whole bunch of levels.
In following (a ‘bit’ outdated) vid, you can see what I’m talking about. The vid contains footage from really early version of the game (pretty much the one we showed up on the Jam), but it still can provide you some basic insight about what this game is about. Enjoy!

Sorry for quality of all these vids, but that’s what happens when programmer is given this kind of task. :stuck_out_tongue:

[FONT=Arial Black]Continuation - first bunch of changes
As I said, we quite enjoyed the game we had already, but it still needed lots of work before we could consider trying to release it. So we kept working on it. Initially we were busy with refactoring whole ‘code’ (we moved most of the logic from BP to c++). We also started working on multiplayer and level editor (tho that feature is veeeeery far from being finished) - this kind of game is basically begging for these two. Since the game is about jumping, we also added [FONT=Arial Black]strafe jumping and [FONT=Arial Black]bunny hopping from quake engine (directly ported with small adjustement for making the mouse’s movement a bit more important and affecting the jump itself). Don’t worry tho, mastering these skills won’t be required to finish story mode - these features are mostly for players that will care about their score after finishing the game.

In project, we wanted to give players [FONT=Arial Black]freedom to finish a level without sticking to one, specific path. Instead of that, we’re hoping that players will experiment and find lots of shortcuts that will help them to beat other players. :]
That led to another change: more complex way of evaluating player’s run. The score now, is calculated basing on stuff like completion time, count of deaths, jumps, pickedup and used abilities, accuracy of using these on proper objects and lastly on amount of skipped checkpoints. All that matters how big your score will be. The following video illustrates the possibilities… and freedom:

As you can see, the best score you’ll have by finishing level in the shortest time, using the least abbilities and checkpoints and obviously with 0 deaths. I’m not 100% sure whether we’ll stick to this or not tho. Personally, the run i enjoyed the most was the ‘advanced’ one and couple other players that helped us testing this game shared that opinion too. Mixing strafes, b-hops and abilities can be quite powerful, so who knows?

[FONT=Arial Black]Latest update - 0.4.4
Recently (like couple days ago), we’ve released another demo version of our game with even further modifications. We’ve focused even more on multiplayer (however it’s still not finished yet, sadly :). Basing on my experience from jumping around in Codjumper mod in Call of Duty 4 game, we decided that players shouldn’t be able to annoy each other while playing, thus we came up with the idea of having ‘clonned worlds’ for players. Basically each player has his own set of interactive objects that only he can interact with. Objects that belong to other players won’t be visible for us, and we won’t get blocked by them. So all, players are able to play on the same server, they can chat and spectate each other (another things we added). However, they won’t be able to directly interact the rest of present players. Hopefully it’ll reduce the rage and frustration that blocking can cause. :wink:

Further work on multiplayer led us to adding ability to spectate other players in the game. While doing so, you can see some information of a player you’re spectating. Current stats on that level (deaths, used checkpoints, abilities and so on) and also - the key (hehe :p) feature - keys overlay will show up in spectating mode. Quite handy ‘tool’ for learning how to jump around.

Despite the fact that game was fun to play already, we thought that it’s a bit too slow. Thus we decided to increase the game dynamics. The change was a bullseye! Jumping around is even more entertaining than before since you don’t have to wait that long for landing anymore. This ‘tiny’ change forced us to revisit pretty much every level to match to new movement in game.

Most of these changes can be seen on following vid:

[FONT=Arial Black]Beyond 0.4.4
Here are couple of our plans we have about this game:

  • steam greenlight - but we want to finish some more stuff first
  • fully working multiplayer (not sure about game modes yet, but most likely some kind of race will be there)
  • level editor (for sp and mp maps) connected to steam’s workshop
  • demo recording/playing with the key overlay feature, maybe uploading these demos to steam’s cloud so other players can watch them and learn
  • coming up with even more abilities to use in game
  • lots of levels to play on: 3 story chapters (easy, medium, hard) - 10-15 maps each, one additional chapter - insane - another 10-15 maps, additionally separate multiplayer maps
  • even more :wink:

We are realists and we’re aware that we most likely won’t finish all these features for greenlight version, but we’d like to have most of these done in first official release of the game.

[FONT=Arial Black]What to expect from current version?
Freedom Code in it’s current state, offers quite solid gameplay on about 13 levels (6 easy, 5 normal, 2 hard) and also one additional level for practicing strafing and bhopping.
Each of these levels (except the practice one) has lots of possible ways to finish them.
In the game, you might get launched into quite high into the sky due to some issues with movement component and sorry for that. We’re working on fixing that.
The UI is pretty raw and ugly, but we didn’t focus on that aspect that much yet.
If it comes to abilities, there are 3 for now, all will be explained by hints in game, but just in short: blue laser - opens blue doors by shooting at timelock, green laser - opens green doors by shooting at them, dash - boosts you in your forward direction.

[FONT=Arial Black]Demo download

[FONT=Arial Black]Credits

Feel free to drop your feedback here, in this topic.
Hope you like it, enjoy! :]

Reserving space, just in case.

Reserving even more space, just in case.

that looks very good!
vebski showed it to me once but it was very brief, now it’s good to see it properly :wink:

about the multiplayer I thought it would be something more co-op but I understand the player collision problem. couldn’t you make players go through each other?

keep it up!

Hey, thanks for your reply. :]

We are considering making co-op as another gamemode for multiplayer. But it’s not something that will be made soon, unfortunately.
Collisions between players, is disabled mostly to give everyone chance to enjoy game fully in multiplayer. I’ve spent lots of hours on playing on Codjumper servers in Call of Duty 4, and from what my experience and from what i’ve seen that other players were saying, most of them hate to be blocked in one place just because some player went afk, or simply isn’t good enough at jumping blocks you all the time when you’re trying to make a jump. Obviously there were also ppl, that decided be annoying and ruin your game experience and block everyone on purpose. Because all of that, the collision between players is disabled for now. I’m guessing we could leave an option to enable it while creating a server.

We will, thanks! :smiley:

actually I’m not suggesting that you re-enable player collisions. if you already see it to be frustrating (and not silly fun) there’s no reason to put it in.
I just mean players walking through eachother instead of colliding, but still allow playing and interacting in the same game.

if the game has things like moving platforms that only activate when a player stands, jumppads or doors with cooldowns, etc, you can still have some “I beat you to it” competitive kind of play rather than just spectating other players and having races based on time comparisons.

Hey again. :slight_smile:

Players already can do that. Interactive objects in world (for now basically green and blue doors) change its state upon being interacted with by player. But there’s not only one instance of them on the level. Each player has his own doors that he can see, collide and interact with. That way, players won’t be able to ruin runs of others players by opening doors too early for example (which would cause that doors would close themselves just when you’d need them to be opened). Players can normally see each other on the level so they still can race themselves by just seeing how far in the level they are. I think that’s what you meant?

This solution however, removes the possibility to help each other - kind of co-op style. But we’d prefer to have separate gamemode for that so I think it would compensate that. :stuck_out_tongue:

it’s good to have what you’re describing (basically a “ghost race” mode like good old MarioKart)

but I also meant the other way, where doors and buttons are shared. I realize that ruins other players, and well that’s actually what I mean :slight_smile:
but this can only ever work if the gameplay is not too drastic. i.e. if opening the door too early for a player leads to his death then it’s not okay. but if opening the door makes him just fall to a place where he has to backtrack or just get teleported to a previous platform/place, then it’s all good!

Ah, I see now. :stuck_out_tongue:

Well, since you mostly will be playing in space-like environement, failing any jump in most cases means you’ll fall into a void which will kill you.
But whenever a player dies, he gets teleported to previous checkpoint (and in mp it’s possible to create your own checkpoints wherever you want - but that will be in practice mode only).

I guess we could try with some shared interctives too. Thanks for suggestion! Keep them coming! :smiley: