Proxy - Devlog
Hey everyone!
I wanted to give you all an update on my little passion project I’ve been working on for the past few months. I'm going to pretty much control c + control v this update from my gamejolt page (http://gamejolt.com/games/proxy/182583/devlog/proxy-dev-log-1-5fmv5nym) as that's where I plan to do most of my devlog updates but I wanted to swing this past you guys to get a bit more local support.
I guess I’ll start with the general concept. You essentially play as a programmer in a robot apocalypse. Humanity is dying and robots are coming to get you. But you have a way of staying safe, your robot. Which is an utterly fantastic idea isn’t it?
You can program the robot and modify it’s parts to gain different stats (we all secretly want our robots to be personalized anyway). Along the way you can hack and meet new people who will each have their own unique story.
You can find a walk through of the game here ().
Sorry in advance about the lag about half way through. My laptop hasn’t been running well lately and recording the game didn’t help much.
Development notes:
The first thing is the game is written in java with lwjgl. A few reasons came into my decision for this. The first of which is I already have some experience with game development in java (http://gamejolt.com/games/masjien/80426) so I was obviously already a little predisposed to it.
Also means it’s super easy to make this game multi platform which is always good. I’m actually developing it on a linux machine (Side note - don’t worry about this, I’m already making plans to start testing on a windows pc soon).
Because this game is a game about programming I also need to ship the game with a compiler. You can see why this could be a major issue, this is where java really helps as well. I’m sure a few of you will bring up multiple reasons why I should go with another language but thanks to the small screen space I have to render in the game you shouldn’t ever experience a performance hit (that is unless you’re recording at the same time on your potato laptop - sorry about the dev log video again).
I decided to take the approach of making the programming split into methods (which I call modules in the game). This is so that the game can encourage players to share their code with one another. I’m considering putting an online market place into the game but don’t quote me on that.
quote me on that.
Sound actually is in the game but I don’t demonstrate it in the video because I don’t have any sound effects I’m comfortable with using yet. If push comes to shove, I’ll just create a bunch of 8 bit sounds. Music will be my lovely brother’s music. You can all give him some love over here (https://soundcloud.com/flatbattery).
As linked above you can see I have actually explored this idea of programming robots before but I didn’t really advertise it much before because I didn’t think I executed the concept well enough.
And that’s about it, if you have any questions feel free to ask.
Some screenies:
I wanted to give you all an update on my little passion project I’ve been working on for the past few months. I'm going to pretty much control c + control v this update from my gamejolt page (http://gamejolt.com/games/proxy/182583/devlog/proxy-dev-log-1-5fmv5nym) as that's where I plan to do most of my devlog updates but I wanted to swing this past you guys to get a bit more local support.
I guess I’ll start with the general concept. You essentially play as a programmer in a robot apocalypse. Humanity is dying and robots are coming to get you. But you have a way of staying safe, your robot. Which is an utterly fantastic idea isn’t it?
You can program the robot and modify it’s parts to gain different stats (we all secretly want our robots to be personalized anyway). Along the way you can hack and meet new people who will each have their own unique story.
You can find a walk through of the game here ().
Sorry in advance about the lag about half way through. My laptop hasn’t been running well lately and recording the game didn’t help much.
Development notes:
The first thing is the game is written in java with lwjgl. A few reasons came into my decision for this. The first of which is I already have some experience with game development in java (http://gamejolt.com/games/masjien/80426) so I was obviously already a little predisposed to it.
Also means it’s super easy to make this game multi platform which is always good. I’m actually developing it on a linux machine (Side note - don’t worry about this, I’m already making plans to start testing on a windows pc soon).
Because this game is a game about programming I also need to ship the game with a compiler. You can see why this could be a major issue, this is where java really helps as well. I’m sure a few of you will bring up multiple reasons why I should go with another language but thanks to the small screen space I have to render in the game you shouldn’t ever experience a performance hit (that is unless you’re recording at the same time on your potato laptop - sorry about the dev log video again).
I decided to take the approach of making the programming split into methods (which I call modules in the game). This is so that the game can encourage players to share their code with one another. I’m considering putting an online market place into the game but don’t quote me on that.
quote me on that.
Sound actually is in the game but I don’t demonstrate it in the video because I don’t have any sound effects I’m comfortable with using yet. If push comes to shove, I’ll just create a bunch of 8 bit sounds. Music will be my lovely brother’s music. You can all give him some love over here (https://soundcloud.com/flatbattery).
As linked above you can see I have actually explored this idea of programming robots before but I didn’t really advertise it much before because I didn’t think I executed the concept well enough.
And that’s about it, if you have any questions feel free to ask.
Some screenies:
Thanked by 1pieter
Comments
It is a very interesting core mechanic though it might be a niche market but with enough polish I am sure most people would be able to pick it up.
Looking forward to seeing some more as I will check the gamejolt page later.
All in all well done with what you have accomplished so far.
The whole programming aspect leans towards things I call modules. These are basically java methods that make your robot do stuff. I will liter the world with them for players who don't want to program but of course people who actually want to program will be able to make their own modules.
I've changed it so that now modules actually use inventory space
My reasoning for this is that I want the player to constantly have to switch code around between different enemies as they'll have different fighting tactics. This should force the player to decide which modules they want to keep onto and which they have to throw away. Do you guys think this feature would be welcomed?
I think my new trees look quite nice.
Edit:
Additionally I haven't really shown you guys anything for a while so here's a look at the block editor I made for it
as it's my final exams (maybe forever but who knows, maybe I'll do another degree if I hate life) I haven't had time to work much on Proxy. So in my small amount of free time I decided to shaders to my engine. Because of how it's designed (to work on really old computers) I have to use old versions of glsl but here's a little screenshot of the cellshading I added. Do you guys think this contributes properly to the game's look?
I've just finished exams and so I have a bit of free time to work. Definitely going to make the most of it. You can see here the new and improved grass shader I've already put into the game
What do you guys think?
My next step is working on the enemies more so that the fights have tons of variety.
I've struggled to "connect" with your game otherwise, and I think it's the framing of being an educational game that loses me. I don't think it's your fault per se. I really want to like games about hacking and programming, but many of the ones online (loads of free scripting games are out there, from writing elevator logic to shooting bad guys from a space ship and everything in between) lose me very early on because of how they just aren't fun...
Which is kind of surprising to me, because I actually find learning super fun. I find discovering new things, improving myself, super fun. But when a game tries explicitly to teach me, I feel patronised and impatient.
I can see your trying to hide the scripting away, but it doesn't feel strong to me yet.
A game that I think hides the scripting away while also having a tighter correlation between your "scripting" and the resulting effects, is the League of Legends board game, Mechs vs Minions. It has the player thinking about what type of command you want to issue, in what order, and how to plan ahead to mitigate risks, and having to go through these step by step is super like a script interpreter, and doesn't make me feel as much like someone's trying to teach me something inside a gamey Trojan Horse. :P The tutorial is still like an educational game, and I'm not fond of it, but it does explain the mechanics:
I think if you didn't have to keep running away from enemies, you could better notice what your robot is doing. I think if it was super obvious what command your robot was following, it would strengthen the connection between what command you issued him and what he's now doing. I think it's important to give me some tools and let me play with them myself to figure things out, especially if it allows me to play "my" way. And I think it's important to think deeply about how you're strengthening the "build a robot" fantasy.
I also get the impression you're fighting a lot of different battles in terms of the project's objectives, making Proxy's success more difficult than it probably has to be.
My marketing may have really just been a bit deceptive from my actual goals because I've been in talks for the past few months with a few NGOs on specifically using this as an educational tool so that's factored into my development process a lot lately. But from a gamers' perspective I want people to play this as an action game that has programming. That is my motivation for including the modules actually. So that I'm not hamfisting programming down people's throats and if they're really not interested they can just equip them like another item :) Hopefully that doesn't feel too patronising (if I get it all right).
The whole showing the current command thing was actually something I explored a little while back but ditched but you've got me thinking about it again. The problem was when I let some people play test it they said they definitely preferred being able to fight as well during a fight as it made them feel more involved but as you said it makes it hard to follow what the robot is doing. Do you think maybe some indicator in the game's hud would work nicely as a compromise?
Definitely appreciate the feedback!
I'm guessing that when players say they find it more fun to be in the action, it's because you're otherwise just standing around waiting to see what happens, which generally is boring. I think you'd ideally be giving the player something to do, or something to think about. For example, in some turn-based games, you're not bored while you wait for your turn to arrive because of there being enough complexity that you can stay occupied trying to think several steps into the future.
The game that happens in the top down view does feel very different to the robot-building part to me though. I feel like I expect the game to be much more centred around the robot and issuing commands, and finding mechanics and commands that make that interaction fun itself. Maybe it's trying to come up with problems to solve that don't involve having to be frantic and running away from things. (In that sense, maybe just having the enemy movement speed be much slower and give the player time to absorb what's happening on-screen.) But it could be something else, like sequences of steps that are required for building a bridge, or erecting a tower, or building a new arm, upgrading him with rocket boosters and roller skates. Maybe it would be trivial to be telling the robot how to do things one step at a time, but where the beauty of the game is in learning commands that allow him to automate things himself and become its own ecosystem of commands. (I'm thinking of how playing Factorium sometimes feels like trying to eke out efficiency, and how your laying out components/buildings on a map there forms its own kind of "programming".)
I'm not a strong game designer, so I'm not nearly as good as fault-checking ideas than a "real" game designer would. I don't think my ideas are necessarily any good; they're just an attempt to spark other ideas, especially ones that involve building/customising your robot.
I think what you're talking about actually hugely depends on audience. The game you've described is for more of an RTS mind I think which would totally be a cool game. But I think you'll find that as it moves more and more to being about building robots that fight it becomes a game that's already been made. I've actually taken a swing at that myself.
With this I'm at the heart trying to make the game I always wanted to play growing up. An rpg in which my character travels across the land with their trusted robot trying to defend them (I used to love the show medabots growing up).
That's really what I mean by an action game that has programming. Programming is there and it adds a whole new element to the game but if the player wants to just shoot stuff they can.
I have no idea if that will even be fun to everyone in the end but hey, we all do this because we're passionate and want to make things we're proud of :)
Basically I just made a single texture of "wind" that is a continuous line from white to black. Then I just made a really simple shader that goes through a range of 0 and 1 (ie: white and black) and only shows colors (or rather those pixels as I still make them white) when it's at them.
Here's the texture:
and here's the fragment shader:
http://pastebin.com/P07NvBq3
The shader is in glsl v1.1 because my game requires it for support on old computers but it's really simple so you can easily code it yourself in whatever you're using.