Pliki w tej kategorii: 160

Przykład gry sieciowej a'la 39dll - serwer i klient w GM 2023.6+

W tym przykładzie znajdziecie kod gotowy do obsługi serwera i klientów do stworzenia gry online. Przykład korzysta z wbudowanych w GM funkcji sieciowych, dzięki czemu powinien działać na każdej platformie (poza HTML5/Opera GX, które wymagają Websocketów).

Dla ułatwienia, dodano globalny bufor, oraz funkcje nazwane identycznie jak w 39dll, który był słynną na GMCLANie biblioteką do tworzenia gier jakieś 10-15 lat temu. Różnica polega na tym, że ta wersja korzysta z natywnych funkcji GM, więc nie wymaga dołączania żadnych rozszerzeń i zadziała na większości platform.

Dla przypomnienia, artykuły o tworzeniu gier z pomocą tej biblioteki dll:

https://gmclan.org/artykul/46
https://gmclan.org/artykul/66

Rozmiar
102 KB
Autor
gnysek
Ocena
–/10
0 głosów
Komentarze

Przykład gry sieciowej - serwer i klient w GM 2023.6+

W tym przykładzie znajdziecie kod gotowy do obsługi serwera i klientów do stworzenia gry online. Przykład korzysta z wbudowanych w GM funkcji sieciowych, dzięki czemu powinien działać na każdej platformie (poza HTML5/Opera GX, które wymagają Websocketów).

Rozmiar
100 KB
Autor
gnysek
Ocena
–/10
0 głosów
Komentarze

Pianino w GameMakerze

Przykład pokazuje on jak za pomocą parametru pitch, zmienić wysokość dźwięku o wybraną nutę.

Pobierzecie go tutaj: https://github.com/gmclan-org/piano_example
Natomiast spróbować go na żywo w przeglądarce można tutaj: https://gnysek.itch.io/gamemaker-piano

Korzysta on z prostej zasady, gdzie pitch należy ustawić jako [kbd]power(2, nuta/12)[/kbd], gdzie "nuta" oznacza o ile dźwięków się przesuwamy. Ujemne wartości zagrają poniżej, a te powyżej 11 oznaczają kolejną oktawę (bo cała ma 12 nut, a zaczynamy od 0).

Miłej zabawy!

Rozmiar
1 MB
Autor
gnysek
Ocena
–/10
0 głosów
Komentarze

Pauza do gry z użyciem struktur i bez użycia surface

Przykład pauzy w grze, bez użycia surfaces, natomiast z wykorzystaniem struktur, które pojawiły się w GMS 2.3.

Kod dostępny jest także pod adresem https://github.com/gmclan-org/pause_no_surface .

Rozmiar
29 KB
Autor
Ocena
–/10
0 głosów
Komentarze

Okienko wpisywania tekstu

Przykład zrobienia własnych okienek do wpisywania tekstu aby zastąpić funkcję get_string(). Wymaga kontrolera który zapamiętuje aktualnie wskazane pole. Łatwo konfigurowalny poprzez zmienne w create które można też edytować w creation code room edytora.

Oczywiście ostylowanie ich aby pasowały do waszej gry to już wasza robota!

Rozmiar
10 KB
Autor
Threef
Ocena
10/10
1 głos
Komentarze

Geolokalizacja

Z pomocą http://freegeoip.net/ pozwala wyświetlić miasto i kraj użytkownika, a także pokazuje na mapie gdzie się znajduje.

Ponieważ to darmowa baza, może nie być dokładna - niestety te dokładniejsze są płatne i to sporo.

[GameMaker:Studio 1.1]

Rozmiar
626 KB
Autor
gnysek
Ocena
7/10
3 głosy
Komentarze

Sztuczna inteligencja pościgu Top-down

Przykład pokazuje ściganie przeciwnika za graczem tak by obierał najlepszą drogę.

Rozmiar
28 KB
Autor
HuderLord
Ocena
6/10
5 głosów
Komentarze

Strategia Izometryczna

Przykład pokazuje jak w prosty sposób zrobić kolizje w grze izometrycznej. Dodatkowo można zobaczyć jak się robi zaznaczanie grup myszką.

Rozmiar
10 KB
Autor
Threef
Ocena
7/10
1 głos
Komentarze

Cofanie czasu

Bardzo ciekawy przykład użycia stosów

Rozmiar
21 KB
Autor
Threef
Ocena
8/10
4 głosy
Komentarze

Różne sposoby przewijania palcem/myszką

Przykład pokazuje cztery sposoby przewijania np. Menu na ekranach dotykowych

Rozmiar
20 KB
Autor
Threef
Ocena
8/10
1 głos
Komentarze

ID zasobu po jego nazwie - xxx_get_index

W GameMaker:Studio w przeciwieństwie do poprzednich wersji nie ma już wewnętrznego licznika zasobów, automatycznie inkrementowanego i nadającego kolejne ID bez nawet jeśli zasoby znikają - możliwe było posiadanie zasobów o ID 0,1,5,7,9,10. W GM:Studio zasoby zawsze posiadają identyfikatory jako kolejne liczb naturalne od 0 do n, nie wg. kolejności tworzenia, a wg. kolejności w drzewku (zatem ID nie są stałe jak kiedyś). To jednak pozwala wykonać pętlę whilę od 0 do n tak długo, jak zasób o danym ID istnieje, zapisać jego nazwę jako string w tablicy i następnie za pomocą skryptów pobierać ID zasobów po nazwie.
Brzmi skomplikowanie, ale w użyciu jest proste. Wystarczy wywołać skrypt index_init() na początku gry (koniecznie tylko raz!) i potem można używać skryptów sprite_get_index(), object_get_index(), script_get_index() oraz room_get_index() za argument podając nazwę jako string. Jeśli potrzebujesz skrptów także dla pozostałych zasobów jak czcionki, tła, ścieżki itp., to dopisanie nie powinno być problemem, mając gotowy kod dla reszty.

Rozmiar
357 KB
Autor
Ocena
–/10
0 głosów
Komentarze

Skalowanie i obracanie viewa, nie zmieniając położenia GUI

Dość częsty problem, pojawiający się gdy chcemy obracać view, lub zmieniać jego rozmiar aby przybliżać/oddalać akcję, ale rozmiar wyjściowy ekranu zostaje niezmienny - cały interfejs gry również się skaluje i obraca. Ten przykład pokazuje jak sprawić, aby wszelkie informacje typu energia, punkty itp, nie zmieniały swojego położenia.

Zawiera pliki dla wersji GM 8.0, 8.1 oraz HTML5/Studio.

Rozmiar
212 KB
Autor
gnysek
Ocena
6/10
3 głosy
Komentarze

Wykres liniowy

Prosty przykład pokazuje jak po najmniejszej lini oporu narysować wykres liniowy. Przydatny do gier w których pojawiają się dane statystyczne np. wyniki na końcu rozgrywki.

Rozmiar
10 KB
Autor
Uzjel
Ocena
5/10
4 głosy
Komentarze

Combo

Przykład pokazuje jak dodać premię punktową w zależności od czasu w jakim zbiera się pickupy. Jezeli zdobycie kolejnego pickupu nie przekroczy dwóch sekund, dostaje się dodatkowe punkty.

Rozmiar
868 KB
Autor
Uzjel
Ocena
8/10
5 głosów
Komentarze

Chodzenie po ścieżkach

Przykład pokazuje jak w prosty sposób zrobić podstawowe poruszanie się w strategiach (głównie ekonomicznych) jak np Knights and Merchants.

Rozmiar
13 KB
Autor
Uzjel
Ocena
7/10
6 głosów
Komentarze

Szachy

Bardzo dobry silnik szachowy respektujący oficjalne zasady tejże gry (łącznie z biciem w przelocie, roszadą i podobnymi). Świetnie napisany, wszystko w jednym obiekcie. Dla początkujących może być trudny do zrozumienia.

Rozmiar
1 MB
Autor
Jakim
Ocena
9/10
13 głosów
Komentarze

Wysyłanie Maili

Przykład wysyłania wiadomości e-mail poprzez skrypt php, przy użyciu biblioteki Ether.dll.
W paczce znajduje się projekt GM6 ze skryptem SendMail() i przykładem użycia, oraz plik mail.php ze skryptem wysyłającym e-mail.

Rozmiar
105 KB
Autor
Ocena
3/10
14 głosów
Komentarze

Dekodowanie hasła

Dekodowanie hasła podobne do tego z gry Just Cause 2.

Rozmiar
14 KB
Autor
Uzjel
Ocena
8/10
11 głosów
Komentarze

Kolejki i listy

Przykład wyjaśnia na czym polegają kolejki i listy.

Rozmiar
114 KB
Autor
Uzjel
Ocena
7/10
7 głosów
Komentarze

Lista wczytywania

Przykład obrazuje jak można wykonać listę zapisów stanu gry znajdujących się na dysku.

Rozmiar
12 KB
Autor
Uzjel
Ocena
6/10
12 głosy
Komentarze

Najnowsze wersje GameMakera:

Stabilna
2024.2.0.132 • 2024.2.0.163
wydana 15 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 154 dni temu
Beta
2024.400.0.516 • 2024.400.0.537
wydana  5 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
17 użytkowników online na discordzie:
Carl-bot, p..., Wielki Druid, Kowu, RogerDodg3r, YoungKrystian, PhysX ᴺⱽᴵᴰᴵᴬ, antek, Moldis, LeD, Dyno, Morro, LadyLush, bagno, l..., TobiasM (Morgo), xVANiLL
Shoutbox
I am Lord (19:15, 17.03.24)
6h mam na to hmmm
I am Lord (19:06, 17.03.24)
Ale temat fajny
gnysek (01:33, 13.03.24)
Powinno działać, jest w kodzie sortowanie wg. najbliższego startu :)
Uzjel (21:59, 11.03.24)
Nie, ale za pierwszym razem zrobiłem fuckup, że było "Tura testowa" X_X
I am Lord (16:58, 11.03.24)
A co Uzjel już masz nawymyślane 100 tematów? 😅
Uzjel (20:08, 10.03.24)
@gnysek a jak bym dodał kilka lig na raz to walnie?
Uzjel (20:08, 10.03.24)
Liga będzie zawsze od piątku 16:00 do poniedziałku 23:59, zawsze w środku miesiąca.
gnysek (08:48, 10.03.24)
Tak, to też jest do poprawy X_X
Adriann (18:22, 09.03.24)
Tylko myślę czy nie leiej gdyby mówiło że zostało tyle i tyle dni i ileś godzin a nie tylko w godzinach ;d Albo konkretna data obok, byłoby czytelniej
I am Lord (15:08, 08.03.24)
o super z tą ligą :)
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?