Copy paste från gamedev.se, men tänkte då en del antaligen inte läser där.
Har inget vettigt namn för upplägget men det brukar alltid rasa in några när man väl namngett det själv.
jag har ett grid med x*y agenter. Dessa agenter ska kunna interagera med varandra på olika sätt och med gridet.
Interaktionen mellan varandra kan vara simpla saker som att se om det finns en Agent på angränsande ruta eller föra över ett värde t ex energi. Interaktion mot gridet i övrigt kan helt enkelt vara att se om den nuvarande rutan saknar en agent, isf så kanske den nuvarande agenten flyttar sig ditåt.
Dom problem som framstår är om man updaterar Från Agent 1 till till Agent 4200 och Agent1 har massa energi och överför det till Agent2. Då när vi updaterar Agent2, så kommer Agent2 ha massa energi den inte tidgare hade och kan föra över det till Agent3 etc tills Energin har flyttats från Agent1 till Agent 4200 på en frame.
Vilket är ett problem. Jag fundera på att lösa det med en dubbel buffer där ens interaktion sparas till en buffer, och läses från en annan, så man ser hur det såg ut innan updaten, så tillämpas det först nästa update.
Det skapar ett annat problem, det kan t ex få alla angränsande agenter att tro att en ruta är ledig medans den i självaverket redan är destination för en av dom, det innebär att alla agenter kommer kliva på samma ruta och dom kommer skriva över varandra.
Det jag funderar på nu är om det är så att jag i vissa fall måste titta både på nuvarande buffer och framtida buffer för att se hur det ser ut. Eller om jag ska utöka och ändra det hela på annat sätt.
Är det någon som har något förslag?
