Czy jest możliwe tworzenie prostych gier i programów w GTK4, ale w innym języku niż ten standardowy czyli C i spółka?
https://www.gtk.org/
https://github.com/ToshioCP/Gtk4-tutorial
Bardziej mi chodzi o nowy język z poza tej listy jak D czy inny.
Tworzenie gier i programów w GTK4/5
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1017
franekos napisał(a):
Czy jest możliwe tworzenie prostych gier
GTK jest generalnie do kontrolek UI, gdzie gry zazwyczaj rysuje się na jednej powierzchni reprezentującej widok gry. Oczywiście można przy pomocy takiego GTK napisać coś prostego jak kółko krzyżyk
Bardziej mi chodzi o nowy język z poza tej listy jak D czy inny.
Może Rust? https://gtk-rs.org/gtk4-rs/stable/latest/book/main_event_loop.html
Tak czy owak dla prostych programów nie idź w GTK. To jest duża i stara kobyła, której nie potrzebujesz. Do gamedevu to już w ogóle nie warto się zagłębiać w takie zagadanienia, bo:
- albo używasz gotowych silników jak Godot albo Unity
- albo używasz biblioteki, która zapewnia ci wszystko co potrzebne (okienka, io) takiej jak SDL
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Tuchów
- Postów: 12269
Ludzie robią gry przy użyciu kontrolek i klas, które zwykle używa się do tworzenia UI aplikacji okienkowych. Za przykład weźmy Little Red Riding Hood (tu repo) — oprawa graficzna tworzona przy użyciu kontrolek BGRABitmap, dźwięk obsługiwany za pomocą biblioteki ALSound. LCL może używać różnych backendów, w tym Win32, Qt, GTK, Cocoa itd.
Odradzam tego typu podejście, bo to zbędne zależności i duże ograniczenia. Sam też dla zabawy i nauki robiłem grę w podobny sposób (zwana Deep Platformer, niedokończona), ale to nie jest dobre podejście. Jeśli już klepać kod, to warto użyć sensownej biblioteki przeznaczonej właśnie do tworzenia gier, tak aby mieć obsługę okna, inputu, grafiki (z przyspieszeniem sprzętowym) i miksera dźwięków i wszystkiego innego, co jest potrzebne. Jest raylib (ma trzy różne nagłówki dla języka D), SDL, SFML, allegro i inne, każdy z nagłówkami dla wielu języków programowania — wybór jest relatywnie duży.