Construir una economía (parcialmente) impulsada por los jugadores basada en la demanda/oferta [cerrado]

Tengo un concepto aproximado para un juego de comercio en mi cabeza y no puedo descifrar lo que parece ser matemática básica.

Mis ciudades/estaciones espaciales/puestos comerciales tendrán las siguientes reglas:

  1. la oferta y la demanda son limitadas
  2. los precios se ajustan de acuerdo a ello
  3. los jugadores y los comerciantes NPC impulsan los precios

Entonces, la idea es que si X produce menos alimentos de los que consume, con el tiempo el precio de los alimentos aumenta y, cuando está casi vacío, se dispara. Mientras que Y es un productor neto, y el precio cae con el tiempo. Esto crea una oportunidad comercial Y -> X cuya rentabilidad depende de cuántas personas recorren la ruta; si muchas personas intercambian Y -> X, entonces los precios se igualan.

Para asegurarse de que los jugadores no se confabulen simplemente para acumular alimentos en las afueras de X, esperando hasta que los precios suban y luego vendiéndolos, los comerciantes NPC saltarían a las rutas comerciales más rentables para mantener las diferencias de precios y la demanda dentro de parámetros razonables.

He pensado en los tamaños de almacenamiento y cómo pueden variar los precios, pero todas las fórmulas que se me ocurren fallan en algunas pruebas simples. Por ejemplo, si el almacenamiento total de X es de 1000 unidades cuando llega el jugador, puede comprar 500, esperar a que suba el precio y luego venderlo nuevamente: obtener ganancias. Obviamente, eso no debería funcionar.

Intenté varias búsquedas tanto en Google como aquí y en Gamasutra y, aunque encontré algunas ideas, no encontré lo que me parece que debería ser una fórmula simple.

Esto está relacionado con Worldbuilding pero se centra en los jugadores y la mecánica del juego en lugar de, por ejemplo, diseñar la economía en una novela. Puede ser más adecuado para el RPG SE .
No es para un juego de rol, es para un juego de estrategia. Sí, no encaja perfectamente a menos que haya un Game Design SE que me perdí.
@Tom Suena como la economía del jugador en Eve Online. Tal vez ir allí y echar un vistazo.
Jugué EVE Online y hay algunas similitudes, pero en EVE Online, la economía, incluidos los precios, depende completamente del jugador, mientras que quiero comerciar con bienes consumibles (comida, agua, etc.) que compran los NPC, no por personajes jugadores.
@ Tom: Game Development SE parece encajar bien, ¿no?

Respuestas (3)

Entrega

Cobra una tarifa por mover los artículos dentro y fuera del almacenamiento.

Impuestos

Cobra una tarifa de negociación por cada transacción.

Diferentes precios

En realidad, las personas ofrecen diferentes precios por las cosas. Si tiene 50 unidades de A por las que pagó 1000, no quiere vender 10 por 100, pierde dinero. Pero si pagó 100 por 15 unidades, estaría feliz de recibir 100 por 10. De todos modos, si cada vendedor tiene un precio mínimo aceptable diferente, entonces el precio total es diferente. Entonces, si compras 500 unidades, el precio es más alto que si compras 5 unidades. Porque usted paga el precio de 5 unidades por las primeras 5 unidades y luego precios más altos por más unidades.

Puede hacer que esto funcione mediante el uso de un forciclo con su función de fijación de precios en el que fija el precio de cada unidad individualmente, o puede promediar los precios. El ciclo es más flexible y preciso, pero el promedio es más simple.

Price(500 of 1000) = 500 * (Price(at 1000) + Price(at 500)) / 2

o más generalmente

precio ( cantidad deseado , cantidad disponible ) = cantidad deseado precio ( cantidad disponible ) + precio ( cantidad disponible cantidad deseado ) 2

Esto funcionará mejor si su función de precio es lineal. Si es algo más, es posible que necesite matemáticas más avanzadas que un simple promedio aritmético.

Arbitraje

Usted está comprando y vendiendo a propietarios de almacenes. No quieren venderte a los mismos precios a los que compran. Entonces compran a un precio y venden a otro. La diferencia es su margen o beneficio. Así que cree un factor de margen, por ejemplo, 1.1. Divida el precio de venta por el factor de margen para obtener el precio de compra o multiplique el precio de compra por el factor de margen para obtener el precio de venta.

Si compra y luego vende inmediatamente cualquier cosa, siempre perderá dinero de esta manera.

Aceptando esto como la respuesta más práctica y utilizable.

Lo que usted describe es una realidad clave de los negocios. Si está dispuesto a mantener el inventario correcto, obtendrá una ganancia. Lo que describes suena como lo que se llama "arrinconar el mercado". Usted compra todo el mercado, espera a que la demanda se dispare y luego obtiene ganancias. ¡Incluso si no domina completamente el mercado, le están pagando por sus esfuerzos!

La verdadera pregunta es qué hace un pueblo cuando el jugador Moneybags llega e intenta comprar la mitad de la comida. ¿Qué significa eso para cada persona en la ciudad? ¿Están vendiendo la comida que necesitan para el invierno? Si es así, los precios pueden dispararse cuando la nieve comience a caer. ¿O están vendiendo un excedente que de otro modo se habría podrido?

Sí, lo entiendo. La salida fácil es poner las cantidades en la economía fuera del alcance de los jugadores. Si el pueblo almacena 1 mio. comida, un jugador que puede comprar 1000 no puede acaparar el mercado, pero en ese punto, la economía ya no está impulsada por el jugador, los precios no fluctuarán en cantidades significativas, etc. ciudad usaría para evitar que su mercado fuera acorralado.
En su caso, debe buscar costos no obvios. Si pudiera comprar 1000 toneladas de pan, podría (al menos por un corto tiempo) comprar pan en mi ciudad, y el precio probablemente subiría. Pero cuando trato de venderlo, es posible que pueda obtener un buen precio por los primeros panes, pero venderlos hará que los precios bajen, posiblemente por debajo de lo que pagué. Además, ¿dónde estoy guardando mi pan? ¿Se lo comen las ratas o se lo roban los ladrones? ¿Estoy alquilando un almacén para almacenarlo? ¿Cuáles son los costos de transacción (pago de vendedores, costos de transporte)? Otros costos suficientes pueden hacer que ya no sea rentable.
Hay una gran idea allí: hacer que el almacenamiento y la disponibilidad para la compra no sean el mismo número. Puede haber 1000 alimentos disponibles en el lugar, pero no todos estarán a la venta, especialmente si la producción es menor que el consumo. Ya pensé en los costos de transacción, juntos esto podría resolver el problema. Sigo buscando fórmulas matemáticas. No puedo ser la primera persona en hacer un juego de economía. :-)
@Tom, también debe considerar que, si tiene 2000 jugadores, la capacidad de comprar 1000 toneladas de pan impulsa el mercado. Individualmente , es posible que no puedan arrinconarlo o influir mucho en él, pero en general seguirán siendo los jugadores los que impulsarán el mercado.
@Tom Mira a EVE. Hicieron exactamente lo que Mark menciona. Hay toda una casta de jugadores que no hacen nada más que encontrar bienes que tienen un precio asequible en un lugar, comprar tantos como puedan antes de que el precio suba hasta volverse inasequible y luego tratar de venderlo todo en un lugar distante. (Y no puede cambiarlo localmente, porque los precios de compra y venta son diferentes)

"Por ejemplo, si el almacenamiento total de X es de 1000 unidades cuando llega el jugador, puede comprar 500, esperar a que suba el precio y luego venderlo nuevamente: obtener ganancias. Obviamente, eso no debería funcionar".

Esta parte de tu pregunta parece bastante fácil:

1) El precio cuando llega el jugador es el precio de equilibrio, cuando hay 1000 unidades. Si compra 1 unidad, debe calcularse un nuevo precio de equilibrio. Si trata de comprar 500 unidades, repita este procedimiento 500 veces, cada unidad más y más cara. (Uso muy pesado del procesador, lo sé, puede probar cada ex 10 unidades más o menos) [No sé cuáles son sus fórmulas iniciales para calcular el precio de equilibrio, por lo que no puedo hacer ajustes de ninguna manera razonable]

2) Menos procesador pesado: en el mercado en cualquier momento solo se ofrece una parte de los productos, digamos 1/20. Esta es la cantidad máxima que el jugador puede comprar en cualquier turno: siguiente turno, siguiente precio

La parte difícil: no existe una fórmula fácil para un buen algoritmo para acumular cosas para los próximos turnos de una ciudad. Todo está basado en la expectativa y en la anticipación de las acciones de otros agentes.

(¿quieres uno horrible, simple?)