pirx's Recent Forum Activity

  • Define:

    > with 1-3 additional objects attached and some instance variables and calculations.

    Each circle (a container) has a larger circle (as a proximity sensor), a 1x1 px anchor sprite for making sure pinned labels don’t rotate, two labels and an invisible shooter sprite that’s used for some interactions and a dictionary object (for storing genes).

    There’s about 10 instance variables and more or less 20 different simple calculations “every second” on these (e.g food -1). On collisions there’s an additional calculation for pointing the shooter sprite at the colliding object.

    EDIT: ah that’s more than three but initially there was only one label, the larger circle and the anchor sprite. The decline in performance at large number of instances was just as noticeable as currently though.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Thanks!

    Just to be clear:

    If I have a one-screen white layout (1920x1080), and say 1000 small circles moving via Bullet and bouncing of walls and each other, and given that everything is as optimized as it gets, do you think it should be more or less handle-able on a fast computer?

  • Hi,

    So I'm making this evolution simulator for experiment purposes (not a game) and stumbled upon performance issues.

    There is no physics but quite a large number of objects (simple circles) with 1-3 additional objects attached and some instance variables and calculations.

    At 300-400 objects the simulation stutters and at ~500 it practically stops.

    So I was thinking, I know that this is high-level code etc., but still, shouldn't modern computers be able to easily handle a few hundred moving circles?

    Ideally I would like to be able to simulate a few K of objects. Is there a way around this? I don't need to run it on mobile at all.

  • I can think of 2 ways to do this, both are quite mathmatically simple.

    First option is to add a random number to your target value.

    target + (random(1) - 0.5) * (100 - precision)

    For the above it assumes precision is in the range 0 to 100, and gives an output between target ± 100 and target ± 0. If you want 100% precision to not match exactly then you can do

    target + (random(1) - 0.5) * (100 - precision * 0.95)

    target ± 100 to target ± 5

    If you want a larger range

    target + (random(1) - 0.5) * (100 - precision) * 4

    target ± 400 to target ± 0

    Second option is to generate a random number and do a linear interpolation towards your target value.

    lerp(random(100), X, precision * 0.01)

    target ± 100 to target ± 0

    If you want to change the range then just modify the number given to random, if you want 100% to not be exact try

    lerp(random(100), X, precision * 0.0095)

    target ± 100 to target ± 5

    One thing you can do with this one is change the probably curve, by performing a power on the precision value like so

    lerp(random(100), X, (precision * 0.0095) ^ 2)

    Yes, thanks! That's exactly the kind of answer I was looking for.

    It actually gets slightly more complicated because in practice I need to do this for a set of coordinates (no big deal, I'll just do it twice).

    I did think about the #1 solution with subtracting from 100 before, but it was a bit too linear, but the lerp stuff is great to tinker around with.

  • Hi,

    I would really appreciate it if someone gave me an idea on how to achieve the following relation:

    I have a target number, say X.

    Now I get a random number Y.

    And I have a "precision" skill/setting that can be set from 0 onwards.

    Basically if the precision is 0, Y is pretty much just random, but the more I increase it, the closer it is likely to be to X.

    For example, if X=100 and the precision is set to 0, you can get anything like 250, 180, 20, 150 or 432.

    If the precision is at 50, then you get closer random values like 120, 90, 85, 110.

    And if it's at 100, you get almost perfect ones 101, 99 or 98 or 100.

    In other words, the greater precision, the smaller the random range of Y around the target number.

    Also would be good if it was a cubic function so that the improvement in precision gets smaller with higher settings, never reaching perfection.

    Any ideas? :)

  • Totalnie zgadzam sie, ze przetlumaczenie wszystkiego to tylko czesc roboty, trzeba bedzie potem powaznie posiedziec nad poprawianiem/ujednolicaniem itp....

    Juz mozna podgladac tlumaczenie w praktyce w developer mode, ale to jest wersja ok. 10%, wiec wielu zmian jeszcze nie widac, ale jesli cos nie pasuje do kontekstu to od razu rzuca sie w oczy

  • widzialny/niewidzialny - zgadzam sie, lepiej widoczny/niewidoczny. Zmienie to.

    aktualny - zastanawialem sie czy aktualny czy obecny, i akurat padlo na to pierwsze, ale moze rzeczywiscie obecny jest trafniej. j/w

    line of sight - ja do tej pory tlumaczylem: linia wzroku (tak wyskoczylo "w internecie"). Zastanawialem sie nad "linia widzenia". Moze zostawmy to ostatnie, dobrze oddaje sens i jest krótkie. Co do "cone of sight", to do tej pory pisalem "stozek pola widzenia", ale w zasadzie samo "pole widzenia" jest wystarczajaco jednoznaczne, i do tego krótsze.

    bryla brzegowa - klóci mi sie troche to "bryla" z tym ze ten bounding box jest plaski. "Ramka brzegowa" brzmi bardziej 2d, ale nie wiem czy to nie znowu "maslo maslane".

  • Po przespaniu sie z tymi terminami pomyslalem tak:

    solid - bardziej chyba podoba mi sie ta "bryla". Brzmi znacznie zgrabniej. Pozmieniam to w swoich tlumaczeniach, na szczescie w poeditorze latwo wyszukac wszystkie wystapienia terminu.

    destroy - w takim razie "zniszcz".

    live preview - "podglad na biezaco" fajnie, bo krótkie i po polsku. Nie za kolokwialne?

    image point - to trzeba ustalic, bo pojawia sie dosyc czesto. Korci mnie ten punkt aktywny bo po prostu dobrze brzmi, ale moze faktycznie zbyt odlegle... z drugiej strony "punkt obrazu" troche mi pachnie taka toporna kalka.

    true i false - ok, w sumie to bezpieczna i przyjeta nomenklatura.

    Co do "on [something]", nie wpadlem na to "po" - chyba najlepsza opcja jesli w ogóle ma tam byc jakies slowo. Do tej pory tlumaczylem w/g tej konwencji z czasownikami, jesli to jest ok to juz proponuje zostawic. Swoja droga, mamy ponad 10%, wiec w nastepnej aktualizacji jezyk polski powinien byc dostepny w developer mode, bedzie mozna zobaczyc jak to wszystko wyglada w kontekscie. Jak znajdziesz ten poradnik to na pewno warto spojrzec.

    Jeszcze jedno: jakies pomysly na "bounding box"? Kompletnie nie wiem jak to ugryzc. Zaraz jeszcze sprawdze jak to jest przetlumaczone w photoshopie, bo tam chyba wystepuje podobne sformulowanie.

    Jeszcze taka dygresja, ze tez kiedys dlubalem w Klick'n'Play, tylko ze to byla wersja shareware, czy po prostu demo, wiec nic wielkiego tam nie powstalo.

  • Okay, Ashley, I'd seen the subforums for the major languages so I thought there's gona be one for each.

    Anyway, there's only two of us so far so I think we'll manage with this thread.

  • Chyba nie ma konkretnego powodu, zeby mówic po angielsku...

    [quote:31mwa89k]Drift in the car movement could be dryft as in a boat's movement. I went for poslizg as it sounds better for me. So now Drift recovery would be something along the lines of Odzyskanie sterowania/kontroli po poslizgu which is quite lengthy compared to the original string.

    Nie moglem wymyslic nic na ten drift -- ale tak bedzie super. W tym "przydlugim", moze "wychodzenie z poslizgu"?

    Dodatkowe rzeczy, które napotkalem, a nad którymi warto sie zastanowic to (wraz z tym jak przetlumaczylem je do tej pory):

    solid - cialo stale ( "bryla"? co prawda krótsza, ale troche mniej oddaje sens)

    family - rodzina (no... rodzina. aczkolwiek wydaje mi sie ze po polsku mogloby sie nazywac inaczej)

    layout - scena (tu ustalilismy, ze tak bedzie dobrze)

    destroy - zniszcz ( czy to nie brzmi po polsku jakos tak.. brutalnie? ).

    live preview - podglad 'Live'. nie sadze ze da sie to sensownie przetlumaczyc. Podglad "Na zywo" brzmi srednio.

    trigger - oficjalnie tlumaczone w innych miejscach jako "wyzwalacz". dla mnie to brzmi nieco dziwnie, bo nie spotkalem sie wczesniej z taka nazwa po polsku w takim kontekscie, ale zasadniczo pasuje.

    node - wezel?

    image point - ? tu trudno o cos logicznego. "punkt obrazka" "obrazu"? czy moze bardziej kreatywnie "punkt aktywny" albo cos takiego

    true i false - ? zostawiamy "prawda" i "falsz", czy zmieniamy?

    I jeszcze dosc wazna rzecz, a mianowicie czesto pojawiajace sie tlumaczenia warunków "On..." , np. "On Object Destroyed". Trzeba by przyjac jednolity sposób tlumaczenia.

    "Na" czesto nie bardzo pasuje -- "Na Zniszczenie obiektu". W tych kilku przypadkach, które juz przetlumaczylem pominalem to On. W interfejsie C3 jest to dosc oczywiste, ze po lewej stronie znajduja sie wydarzenia a po prawej akcje, wiec jesli w kolumnie wydarzen wyswietli sie "Zniszczenie obiektu", to teoretycznie nie powoduje nieporozumien. Rozgraniczenie w tlumaczeniu akcji od wydarzen polega dodatkowo na tym, ze wydarzenia wystepuja w formie rzeczowników lub rzeczowników odczasownikowych (zniszczenie, zakonczenie zanikania, kolizja), a akcje w formie czasowników w trybie rozkazujacym (zniszcz, utwórz, zmien). Pozostalbym przy tej konwencji. Ale nie jestem pewien, moze sa lepsze pomysly.

    Ogólnie nie wydaje mi sie, ze w tej chwili jest w "ekipie" wiecej niz dwie obecne tu osoby

  • Hey,

    We've started the Polish translation (currently at 4%) but we could use a subforum, since there have already been some (constructive) discussions about proper terminology etc. Any chance to add it?

  • Thank you both. This is just what I was looking for.

pirx's avatar

pirx

Early Adopter

Member since 20 Aug, 2013

Twitter
pirx has 2 followers

Trophy Case

  • 11-Year Club
  • x3
    Coach One of your tutorials has over 1,000 readers
  • Educator One of your tutorials has over 10,000 readers
  • RTFM Read the fabulous manual
  • Email Verified

Progress

15/44
How to earn trophies