top | item 46706456

(no title)

Folcon | 1 month ago

Genuine question to you as someone who's been building in this space, what would you want / need to play a game as a programmer?

An API? An SDK? An in-game editor? Tutorials? Or is this more a "I want a factorio-like"?

I've been building economic engines and simulations for the last few years now and over the last 3 months in my off time I've been getting increasingly in the weeds about how to design a game that fits this

I've specifically been exploring using a voxel game as a base (think minecraft-like) however because I'm deeply interested in minion management / design I've been looking at how to create a programming / play experience that actually is fun and makes sense

What I'm trying to understand is what is the fun overlap between these

I have some opinions / ideas of my own and what I've been trying to do, however I'd be really interested in what other people are looking for to see where the overlap is and whether it fits the shape of what I'm building and whether I want to really commit the time to prototyping some things to see if there is interest to support this type of playstyle

Just to be super clear, what I've built so far specifically is targeting multiplayer

discuss

order

squeaky-clean|1 month ago

Not OP but for me the appeal would be in botting a game that's made for humans, and not a game made specifically made for botting. Let me use autohotkey, or modify the client, or do any of the things real botters do, don't worry about providing an API. Just let me register a character as a bot and restrict it to a separate server that can't interact with the main game servers/economy, and disable anti-botting protection. Maybe make it require something like CURLing an endpoint so that regular users can't accidentally create a character on the bot world.

But this would probably never fly because it would become a training ground for people who make malicious bots.

Folcon|1 month ago

This is interesting, I've been thinking a bit about this question of separating some gameplay areas

There's sort of 5 versions of this in my mind and I've been thinking about each of them and trying to work out which one is a good starting point of to explore :)

I'm going to say your zombies as a shorthand for how you automate stuff, hopefully it creates easier to follow examples :)

1) automation of player spaces where players complete by automating and they can't directly influence each other, so something like a zombie workshop a la zachtronics game with some twists

2) automation of a shared space automation space, so more zombies dueling each other like in robot wars

3) automation in the game world that's multiplayer interactive, so it can influence the game and help you, like factorio, however players can interact with it and say damage or improve the mechanisms of automation

So I can tell my zombies what to do and help them directly and our zombies can fight each other and I can fight your zombies

4) automation in the world that's non-interactive, not sure of any examples of this, but you automate things that manipulate the world for the player in a way that other players can't directly influence, so imagine I set down instructions, stuff happens in the world, but we can affect the world and each other, but not the mechanism by which we automate

So I can tell my zombies what to do and I can't help them directly and our zombies cannot fight each other and I cannot fight your zombies

5) automation in the world that's player controlled, and indirectly interactive, this is basically 2 but it effects the game world, however players can't affect each others mechanisms of automation like in robot wars, but their mechanisms of interaction can affect each other

So I can tell my zombies what to do and I can't help them directly and I can't fight your zombies, however our zombies can fight each other

Zarathruster|1 month ago

As a programmer I'd be happy with an API, so I can keep working in the environment I'm accustomed to. Programmers can get very picky when it comes to their ergonomics, so it would be wise to let them handle this part.

This, however, would be a significant obstacle to non-programmers. You might consider offering an in-game editor similar to Scratch or BYOB for people who want to dip into programming. It'd be a fun way for them to learn

anonymous908213|1 month ago

There is some prior art of this nature, such as screeps, that you might find useful as reference material (if you aren't already aware of it).

Folcon|1 month ago

I am thank you, however the reason I'm engaging here is that what's being asked for from what I can see is a very different experience to screeps, for example screeps is top down much more programmer designed and has specific affordances and design to create the automated experience via being a developer

The reason I'm comparing it to factorio is because that game though still top down is designed specifically with a player in mind automating their labor and then slowly taking on a complex logistics game as they go and doing so fully in the game, the play is in laying out structures within the game

Satisfactory for example has different choices that lead to different gameplay as it's first person 3d, the play is in setting up and managing logistical structures and hitting production targets

That is interesting, however for my tastes both of these are a little too static an experience for what I want to build

I'm still working out the details of what I'm putting together, but I have a decent high level idea of what my goals are =)

What I want to know is, if people play this kind of game, what are they looking for / wanting?

What's a good "MVP" or minimal gameloop that would feel satisfying?

I want to quickly work out if I can serve either the gameplay desire or the gameplay fantasy or if it is just too hard to provide a fun experience for this kind of play in which case I should table this and focus on what I'm currently doing

However I'm still engaging with this because I would like to create a fun playspace here I just don't know what other programmers would want especially in the context of what the GP was asking, which is a mix of manual intervention and programming / automation

whs|1 month ago

Other people have described Factorio-style game, or idle RPGs. I think for a Factorio-style game, Desynced might be a better programming game. I haven't play it for quite some time, but last I remember it has a visual editor and automation bots in early tech tree. In Factorio, if you craft a green circuit board it automatically craft all the precursors from iron/copper plates in your inventory. In Desynced you have to do all that manually, which force you to use the automation system right up front. However, it's not fun repeating code blocks to build different simple things, and it's not fun that you have to solve both gaming problems (eg. I need to build my base, what should I build next) and programming problems (eg. write flood fill bot to explore for resources) at the same time.

The problem with these kinds of game is at some point you'll run into tech debts - your factory layout is not optimal, and the game optimize your starting zone so migrating out means you may lose simple access to starting resources. I tried optimizing for large factory up front, but it's like a startup with a monolith running on a Kubernetes.

Satisfactory solved this by having a fixed map and 3D, but it comes with its own challenges. Good Company partially solved this by replacing belts with humans who can walk anywhere you want, and introduce belt at a late game stage (which I quit around that stage - the game already gets repetitive by that point).

Anyway, what I was describing was not those kind of automation games. RuneScape is an RPG game with over 20+ skills. What make it interesting is that RuneScape bot engines (which exists, but is illegal) do provide all the high level primitives for you in Java. You could provide a world coordinate and a walking script will do all the walk for you even if it is the other side of the world map. It should felt like making games in Scratch instead of reinventing serialization in Screeps.

Other games with scripting also often don't allow human-in-the-loop. If a bot in an automation game get stuck because you forgot to program how to restock teleports, you have to stop it and reprogram. RuneScape bots don't block inputs - if you forgot to make the bot handle stamina exhaustion just click the run button yourself without stopping the script.

RuneScape also comes with strategizing for the human, while the solution space is quite fixed and well discussed by the community if you don't want to find out yourselves. If your Slayer task is green dragons, do you go to a spot that is far from a bank and lose efficiency or give up the loot, or do you go to PvP zone and use cannon (multi target auto turret)? If I write a bot, I probably will write a Wildy Green Dragon script instead of a generic fight-anything script so that it will know to bring cannon and place it at the optimal spot to target all spawns at once. Same goes for many other skills - if I train crafting or construction do I sink millions and go for the highest XP rate or do I go very slowly and get a slight profit out of it.

I'd also add that having a community marketplace would also helps. RuneScape have underground marketplace for bots, with free scripts that probably get you banned, and paid "private" scripts that supposedly undetected. I also have played Mars First Logistics where you build a vehicle Lego-style, then deliver weird cargo like a block of ice or a crate of oranges without a lid. The game have Steam Workshop support where you can just skip building your own vehicle and try to drive someone else's vehicle to destination. I got an ice block pusher, which I need to figure out how to put the ice in (just surround the block, close gate so the block cannot escape), then the map has hills that make your ice fall over the bottom anyway.