Nie mam doświadczenia w kwestiach związanych z tworzeniem gier, ale jako programista. W języku Scala możesz mieć skalowalne wielozadaniowość z aktorami, bardzo stabilną, jak słyszę. Możesz nawet uruchomić setki tysięcy z nich bez problemu.
Pomyślałem więc, że możesz użyć ich jako klasy podstawowej dla duszków 2D, aby wyrwać się z pętli gry, która wymaga przejścia przez wszystkie duszki i przeniesienia ich. Zasadniczo poruszaliby się sami, sterowani zdarzeniami.
Czy miałoby to sens w przypadku gry? Mając tak wielozadaniowość? W końcu będzie działał na JVM, choć w dzisiejszych czasach nie powinno to stanowić większego problemu.
EDYTOWAĆ:
Po dłuższej pogawędce zauważyłem, że ten pomysł ma tylko jedną prawdziwą zaletę: obsługa wielu rdzeni. Prosta pętla gry będzie działać tylko na jednym rdzeniu i będzie działać przez wszystko sekwencyjnie.
Ponieważ współczesne komputery, nawet w domu, mają obecnie wbudowane dwa lub więcej rdzeni, myślę, że dobrym pomysłem jest umożliwienie programistom gier efektywnego korzystania z innych rdzeni. W końcu myślę, że zwykle gracz będzie miał tylko grę uruchomioną na swoim ośmiordzeniowym komputerze, więc czemu nie.
Inną zaletą, którą widzę, jest to, że w Scali możesz mieć RemoteActors
, który można traktować w ten sam sposób, ale uruchomić na innym komputerze. Może to może uprościć również gry sieciowe.
Zamierzam to jak najszybciej wbudować w mój silnik Scala 2D.