21
Lensflare
96d

Currently working on a game for developers.
Two players compete on a randomly generated arena by sending instructions via a REST API such as "unit x move in the up direction and shoot to the right". So units can be controlled by manual user interaction but the idea is that the players create a smart program that controls the units automatically. So it’s about who can implement the best "bot".

The game is turn based and the units can move one grid cell per turn and shoot in one of the four directions. Shots require energy which regenerates a certain amount per turn.
Units can also look in a direction to spot enemy units which are not visible by default.
The winner is who manages to destroy all enemy units or the main stationary enemy unit "the gem" (diamond shape in the screenshot).
There are walls which block the movement, the line of sight and the shots (green cells).

Everything is randomized. The size of the arena, the number of units, max hp, max energy, etc. But it can be replayed by providing a seed.

There will be a website which lists all games, so that players can watch them.
Alternatively a player can also implement an own viewer. Everything necessary is provided by the REST API.

I’m curious about what you think 😄

Comments
  • 2
    Will it come with a small frontend where you can use axios or smth? It should come with an example bot
  • 4
    @retoor I want it to be completely programming language agnostic. An example implementation would just be too much, providing value to only those devs who would use this particular framework and language.

    Instead, there is the option to play against bots with predefined behaviors such as "turtle" or "aggressive". Those bots will be controlled by the server directly and not by player via rest api. The purpose of those bots is to test against the own program during development.

    I will provide some example requests so that players have an idea what endpoints to call and what data to send and receive.
    And there will be openAPI/swagger docs of course.
  • 1
    @Slow-Yep thanks. I’ll think about videos once it’s advanced enough. Maybe gifs.
  • 1
    @jestdotty I’ve played screeps for a while. Great game but my game idea is different. It’s not a persistent world, it has short matches between only two players and it uses a rest api instead of actual code in a programming language.
    The game mechanics are also much simpler, but may be extended in the future :)
  • 3
    spacetraders.io

    rubbled.io
  • 2
    Forget too mention: very cool project (especially for a German)
  • 3
    @Lensflare I think I am in favour of offering some options in a little variety of common languages or frameworks; like JS' fetch, cURL... Postman? PowerShell?? Idk.
    Forgot to mention, I love the idea!!
  • 1
    @vane both seem to be persistent worlds but I didn’t know about them, thanks.
  • 2
    This would be fun to make a front end in a game engine. Help to learn the engine.
  • 3
    @Demolishun yeah, good idea 😁
  • 1
    @Lensflare Yeah I'm playing around with apis right now because I'm thinking about something similar in idea but different in nature.

    I think the problem in such games is step learning curve, especially given amount of data you get in return and amount of actions you can make.

    Ex. you launch your game and you have 1000 players - huge start for such genere. They started playing for a day or two and get bored.

    What they do ? They request more things and you end up having 100 keys json responses with 10 deep nested values after a year and 2 players online.

    Why ? Because new guys see huge json and they say:

    Dude I just wanted to shoot the guy on X,Y and you're giving me fucking helmet material, durability and manufacturer I can to go to buy. How the fuck I list manufacturers ? So people end up listing shit you give them and end up on watching menu without eating anything just because they want to see all the options you are giving them.
  • 1
    Great idea 🙏🥳
  • 3
    So it's kinda like RobotWar and all its clones? But sounds good, curious how you envision it being unique :)
    I also remember having played some game for my study where you program "bots" which can also infect others and inject their code into other bits which was awesome
  • 1
    @Bibbit I think the REST API part combined with a non-persistent, non-MMO world with quick matches is pretty unique.
    I might be wrong.
  • 2
    @Lensflare sounds good! Hopefully it works out as you intended!
  • 1
    This is great, feels like chess for developers. I love it, lmk when it's up.
  • 2
    @retoor I thought about it once again I think you are right. I should provide an example bot implementation.

    It should be particularly easy to do it in JS because I can use the json responses directly as code without the need for encoding/decoding and type definitions.

    It should be easy to adapt it to any other language then. Or to continue using JS, if one feels kinky ;)
  • 1
    @Lensflare yeah! Cool 😁😁
Add Comment