Nastoletni
Programiści

Logo Nastoletnich Programistów

Qt – Deployment aplikacji na Windowsa [dynamicznie]

Czego unikać?

Bardzo popularnym, często powielanym błędem podczas deploymentu na Windowsa jest czekanie na błędy i wrzucanie bibliotek „na pałę” do folderu z binarką aplikacji, jest to pracochłonne, i działa tylko w niektórych przypadkach:

  • Aplikacja konsolowa Qt
  • Prosta aplikacja Qt Widgets (nie mylić z Qt Quick)

Trochę lepszym sposobem jest używanie dependency walker który, skanuje plik exe w poszukiwaniu zależności, i wyświetla brakujące biblioteki.

Czytaj dalej →

Sztuczna inteligencja w grach #01 – wstęp, zmysł wzroku oraz prosty debug-mode.

Sztuczna inteligencja w grach jest nieodłącznym elementem od dawien dawna. Jest ona mózgiem każdego wroga i NPC-ta. Kiedy programujemy A.I. mamy ogromne pole do popisu. Rozbudowywanie jej nie jest trudne i daje świetne efekty. Jest to element, który łatwo dostrzec i dzięki temu ludzie doceniają Twoją pracę jeszcze bardziej. W różnych grach można spotkać przeróżny poziom jakości zachowań postaci sterowanych komputerem. To jak dobre A.I. będą mieli wrogowie, często ma największy wpływ na końcową ocenę gry.

Czytaj dalej →

Kontenery w C++ – std::array, czyli ładniejsza tablica.

W standardowych i popularnych kursach języka C++ zazwyczaj nikt nie rusza tematów poświęconych szczegółom takim jak kontenery, czy też inne pierdoły z referencji języka – mogą one się wydać rozpraszające lub po prostu trudne dla początkującego, lub komuś po prostu się nie chce. Dlatego postanowiłem napisać serię poradników poświęconych właśnie takim szczegółom, które potrafią bardzo ułatwić życie a o których rzadko kiedy się pisze. Zakładam oczywiście, że czytelnik posiada podstawową wiedzę na temat C++’a, bo bez tego może być mu ciężko ugryźć ten poradnik.

Czytaj dalej →

Jak programować gry? Najważniejsze elementy w grach 2D

1. Wstęp

Tworzenie gier to coś o czym marzyłem od początku mojej przygody z programowaniem. Przez czas nauki wiele razy błądziłem, próbowałem różnych technik programowania gier, często bardzo prymitywnych… byłem wtedy po prostu średniaczkiem a i mój młody wiek też na to wpłynął bo nie do końca rozumiałem co ja w ogóle piszę. Ale próbowałem. Przez moje samozaparcie i dociekliwość przebyłem całkiem spory kawałek programistycznej drogi i wylądowałem tutaj. Dlaczego tu jestem?

Już od jakiegoś czasu planowałem podzielić się swoim doświadczeniem w kwestii gier jednak zawsze coś mnie zatrzymywało i nie mogłem się zabrać do tego. Tym razem dzięki tej grupie czuję, że mi się to uda. Zapraszam na lekturę. Czytaj dalej →

Boost.SIMD, co tak naprawdę potrafi jeden rdzeń?

Wolny program? Hurr durr, zrób wątki.

Brzmi znajomo? Jeśli program działa wolniej niż się chce inni programiści dają z reguły dwie rady: pierwsza, bardzo dobra – poprawić algorytm, druga, zwykle fatalna – użyć wielu wątków / procesów. Prawda jest taka, że czego by nam nie pchali producenci 12–rdzeniowych procesorów w telefonach wiele wątków ma tyle zalet co wad. Sama synchronizacja pochłania tyle mocy obliczeniowej, że o jednym rdzeniu można zapomnieć (drobna przesada nikogo nie zabiła :P), pełno miejsca na świeżutkie wycieki pamięci czy niezdefiniowane wyścigi po dane, jednym słowem – chaos. Czytaj dalej →