@kalectwo: Przy dzisiejszych standardach to zaryzykowałbym stwierdzenie że jest to pisanie gry praktycznie od zera (chociaż wiadomo że tak naprawdę to nje).
  • Odpowiedz
Bawię się w robienie setnego klona FlappyBird jako kolejny etap nauki C++ z SFML. Grafika robiona kompletnie na szybko, jednak ptak ma nawet animację z 3 klatek :D Cały kod tutaj: https://github.com/Leinnan/DuckyJump
Po tym na ostrzał planuję wziąść zrobienie trochę nietypowych(bo bez samochodów czy innych pojazdów) wyścigów w udawanym 3D jak w starych grach na PegaZUSa: https://i.ytimg.com/vi/-FEmbhtfJiI/hqdefault.jpg
#sfml #cpp #programowanie A nawet trochę #gamedev
Leinnan - Bawię się w robienie setnego klona FlappyBird jako kolejny etap nauki C++ z...

źródło: comment_jffQ4JHV4zycX32IerJC313RUgd7wlAv.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@frogi16: Nie wiem jak w linuxie, ale w windowsie po raz pierwszy miałem styczność z takim czymś jak cmake, w ogóle drugi raz konfiguruję jakiś projekt do pracy z bibliotekami i dlatego to zajęło nieco dłużej. W dodatku do Box2D nie ma tak jasno opisanego tutoriala jak w przypadku SFML i zajęło mi to nieco dłużej niż instalacja SFML dla Visual Studio. Dlatego to wrzucam. W razie jakby ktoś miał
  • Odpowiedz
do Visual Studio masz chyba nawet gotowe, zbudowane biblioteki, więc tym bardziej jest prosto.


@frogi16: Tak, są w paczce, ale, że początkowo nawet nie wiedziałem co mam robić, to leciałem razem ze znalezionym tutorialem i trochę zeszło nim doszedłem co do czego.
  • Odpowiedz
Mirki tworzące gry trochę bardziej niskopoziomowo niż Unity czy inne UDK- w czym trzymacie pliki konfiguracyjne gier? XML, własny format czy coś innego? #cpp #sfml #programowanie
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Leinnan: Zrób sobie kolego interfejs odpowiedni do tego i dwie implementacje. Do debugu JSON/Yaml, a do prawdziwego używania jakaś binarna serializacja (jeśli planujesz dużo rzeczy tam trzymać, jak kilkaset wartości i tylko na starcie odczytywanych to przeżyjesz na debugowej wersji).

W ten sposób:
a) masz dobrą wydajność i mało pamięci zużyjesz w "release" (tak naprawdę możesz jednej używać cały czas, a w odpowiednim momencie przy wydaniu gry przepiąć się na drugą)
b) masz
  • Odpowiedz
Czy bylibyście zainteresowani blogiem, w którym pokazuję jak napisać jakieś prostsze gierki, typu arkanoid, diep.io, jakies czołgi, snake, tictactoe itp?
Posty w postaci problemów, które napotkałem, rozwiązań i oczywiście fragmentów kodu z opisem. Czasami jakiś mój projekt - ciekawostki o nim.

Technologie:

C++ lub C# i odpowiednio SFML lub SFML.net

Czytałbyś bloga o problemach początkującego game-developera?

  • Tak 58.0% (353)
  • Nie 31.9% (194)
  • Sprawdzam 6.4% (39)
  • Ale to już było... 3.8% (23)

Oddanych głosów: 609

  • 35
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MiszkaCFC: To będzie, tylko nie wiem czy w formie powerupa czy na stałe. Raczej najpierw zrobię na stałe, a potem jeśli zrobię system power upów to przerobię na power up.
  • Odpowiedz
Mirki zacząłem programować w SFMLu pewną grę na projekt na #studbaza i mam pewien dość upierdliwy problem z którym nie mogę sobie poradzić, przekopuję internet i nie mogę póki co znaleźć rozwiązania a może ktoś się z tym spotkał.
Mianowicie chcę triggerować pewną opcję klikając jakiś klawisz np W. I zawsze po jednokrotnym naciśnięciu, wykonuje się podwójnie. Czy przytrzymam czy nacisnę krótko czy lekko przytrzymam, zawsze wciska się parzystą liczbę
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@BloodDeath94: Bo to nie o to chodzi. Problem jest innego typu.
sf::Keyboard::isKeyPressed() służy do sprawdzania czy klawisz jest wciśnięty. Ta funkcja działa najlepiej w głównej pętli programu, gdzie możesz dostać z dokładnością co do klatki (frame) programu czy klawisz jest aktualnie wciśnięty.

Tobie chodzi o to, czy klawisz jest właśnie wciskany. A to inna sprawa.
W tym wypadku właśnie przyda się event - wciśnięcie klawisza to event, zdarzenie, więc kod powinien wyglądać tak:
  • Odpowiedz
Kilka "drobnych zmian" (czyli przepisanie 3/4 kodu, "bo to ma działać lepiej!")

Changelog:
- kilka usuniętych bugów
- kilka dodanych bugów
- działające statystyki gracza (szybkość ataku, obrażenia itp., nie wszystko jest obecnie widoczne, ale już okodowane)
Noct - Kilka "drobnych zmian" (czyli przepisanie 3/4 kodu, "bo to ma działać lepiej!"...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki robię grę multi przez sieć (UDP) dla 4 osób i sprawa wygląda tak, że serwer mieli na bieżąco jak głupi dane i rozsyła do każdego gracza. Gracze z kolei, wysyłają tylko do serwera pakiety jak zajdzie jakaś akcja (ruch), i po tym odbierają pakiet od serwera.
Mam świadomość, że serwer n------a pakietami jak CJ z miniguna podczas szturmu ballasów na Groove Street i cześć z nich idzie w powietrze.
Raz na
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema, ostatnio wrzuciłem na GitHuba skończony, lecz zapomniany projekt mojej giercy ze stycznia tego roku. Jest to generalnie Tetris w C++ i SFMLu, skupiony na renderowaniu grafiki na miarę "naszych czasów", że tak powiem (HD, wysoka jakość assetów, jakiś tam design i felling pomiędzy nimi i takie tam).
Implementacyjnie nie ma jakichś fajerwerków, jak tak patrzę na niektóre kawałki kodu teraz, to aż mi wstyd (;D), ale pomyślałem, że się podzielę linkiem
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć, niedawno stworzyłem swoją pierwszą "grę" (biblioteka #sfml) i w związku z tym mam dwa pytania:
1. Jaki jest najlepszy sposób na stworzeniu menu, które pojawiałoby się przed startem rozgrywki? Myślałem nad stworzeniem jakiejś specjalnej klasy, ale zastanawiam się jakby to wyglądało, musiałbym robić drugą główną pętle odpowiadająca za wykrywanie tych wszystkich eventów?
2. Mógłby ktoś doradzić co zrobiłem źle/bardzo źle a mógłbym zrobić lepiej? Chodzi mi tutaj bardziej
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach