Porgramowanie na Linuxie czy Windowsie oraz instalacja biblioteki SFML pod Ubuntu

0

Witam,
melduje się z kolejnym zapytaniem. Mianowicie, czy jako początkujący programista, mam czego szukać na systemie linux?
Ze znajomym próbowaliśmy pobawić się w tworzenie gier. Rozpoczynam instalowanie biblioteki Ogre3d. Po dwóch tygodniach mam zamiar nauczyć laptopa latać z wysokości balkonu. Nie mam pojęcia do takich rzeczy jak cmake, kompilowanie i instalowanie bibliotek ze źródeł itp.. Ludzie na przeróżnych forach mi pomagaję, lecz po niezrozumiałym klepaniu ich instrukcji występują kolejne kwiatki, i kolejne.
Podobnie sprawa się miała z instalacją biblioteki SFML. Nie mogę skompilować, bo Code::Blocks krzyczy że nie znaleziono -lsfml-audio i innych. Rozwiązania znalezione za pomocą google albo są wręcz niezrozumiałe albo nie pomagają.
Stąd pytanie do doświadczonych programistów, który system operacyjny wybrać. Osobiście preferuję linuxy, ze względu na ich szybkość, stabilność i hmm... przejrzystość. Jednak, jako że od 3 tygodni nie dane mi było nic napisać, ponieważ cały mój czas zjadają próby instalacji silników, może Windows okazałby się lepszy? Chyba dzieje się tam to łatwiej i jest więcej poradników na yt i innych stronach. Co waszym zdaniem jest lepszym wyborem?

1

Jako początkujący programista, powinieneś w pierwszej kolejności solidnie wbić sobie do głowy podstawy języka, zanim zabierzesz się za jakikolwiek większy projekt; Niestety, ale bez znajomości podstaw nie masz szans napisać jakiejkolwiek gry, już nie pisząc o czymś grywalnym, dobrze wyglądającym i działającym prawidłowo;

Jeśli o system chodzi, to pozostań na tym, na którym normalnie pracujesz na co dzień; Wystarczająco dobrze już go znasz, żeby móc się uczyć programować; Nie wiem czy Windows byłby lepszy, bo nie wiem który z tych systemów znasz lepiej; Windows jest IMHO prostszy w obsłudze, więc możesz się zastanowić.

1

@furious programming: Ale cmake itd. dużo łatwiej zaprzęgnąć do pracy w Linuksie ;) Instalujesz pakiet i działasz. Tak samo z bibliotekami, instalujesz pakiety *-dev i nie bawisz się w dodatkową konfigurację środowiska.

@Criffi: IMO Ogre nie należy do przyjaznych w konfiguracji. Kiedy robiłem przegląd silników pod moją pracę inżynierską, wybór padł na Pandę 3D z Pythonem. Zero konfiguracji, instalujesz, siadasz i klepiesz skrypty ;) Pod Linuksem od razu w Geany, pod Windowsem też w Geany IDE, tylko trzeba podać ścieżkę do interpretera Pythona dołączonego do SDK Pandy 3D. -> http://www.panda3d.org/download.php?sdk

Rozwój Pandy znacznie zwolnił, ale teraz w sumie możesz śmiało się rzucać na Unity 3D, co wiele rzeczy upraszcza, właściwie wszystko masz dostępne po instalacji. -> http://unity3d.com/unity/download

0

Emmm... Python? Dziękuje, postoję, jeszcze c++ nie jest dla mnie w 100% zrozumiały. Jeżeli mamy mówić o pełnych silnikach, to sądzę że CryEngine byłby lepszy od Unity (chyba). Może blender? Pisałeś o tym prace inżynierską, może znasz jeszcze jakiś darmowy silnik, w którym mógłbym wałkować swoją wiedzę z cpp?
A co do konfiguracji środowiska, to właśnie nie do końca to rozumiem. Zauważyłem że dużo ludzi pod linuksem kompiluje przez cmake ., make. Jest możliwe robienie tego w taki higieniczny sposób np. tutoriale w C:B za pomocą guziczka f9 :D ?

0

@crffi Dużo zależy od języka. W jednym lepiej sie pisze na Windows w innym na systemach Unixowych.
Np takie Rails na Windows lubi rzucać kłody pod nogi i rozciągać kolczaste dywany oblane kwasem.

Emmm... Python? Dziękuje, postoję, jeszcze c++ nie jest dla mnie w 100% zrozumiały.

Skoro python jest dla Ciebie mniej zrozumiały niż C++ to ja chyba wychodze. Ten jezyk jest 100x łatwiejszy i o wiele wiele łatwiej jest napisac w nim grę niż w c++.

1
Criffi napisał(a):

Emmm... Python? Dziękuje, postoję, jeszcze c++ nie jest dla mnie w 100% zrozumiały. Jeżeli mamy mówić o pełnych silnikach, to sądzę że CryEngine byłby lepszy od Unity (chyba). Może blender? Pisałeś o tym prace inżynierską, może znasz jeszcze jakiś darmowy silnik, w którym mógłbym wałkować swoją wiedzę z cpp?

Uważam, że na początek powinieneś poznać jak to się wszystko odbywa w 2D. Jest do tego dużo prostych bibliotek. Niektórzy chwalą SFML (bo jest nieźle zaprojektowany pod obiektówkę, choć mi osobiście brakuje w nim ważnej w moich grach funkcjonalności - za mała kontrola nad myszą). Możesz też obczaić SDL2.

Pracę pisałem tylko w Pandzie (ostatecznie na nią padł wybór po rozejrzeniu się za darmowymi silnikami), w innych testowanych silnikach pisałem tylko hello world'y. A, że nie chciałem zbytnio się wysilać, to wybrałem najmniej problematyczny w konfiguracji i używaniu silnik. Ma całkiem dobry eksporter dla Blendera (wtedy nazywał się Chicken) to też plus tego silnika. Tutaj można pooglądać screeny z pracy ;)

http://www.jason.gd/str/pokaz/Bachelor_thesis

Żeby na scenie odpalić blooma (takie jakby rozświetlenie jasnych powierzchni), to w kodzie 2-3 linijki. Na szczęście miałem grafika do współpracy, biegłego w animacjach i modelowaniu w Blenderze. W Pythonie pierwsze kroki postawiłem właśnie dzięki/przez Pandę. Uważam, że w C++, w którym wcześniej przez lata się szkoliłem, praca przebiegałaby i tak wolniej.

W samym blenderze gier nie robiłem. Chociaż hello world'a jakiegoś w nim kiedyś robiłem. Na pewno trochę ułatwia stworzenie aplikacji, jak komuś chce się tego uczyć tego podejścia -> mniej programowania, sporo klikania. Jednak zdaje mi się, że pomimo tego, że dostępne są takie bogate narzędzia, to wciąż pisanie gier po staremu daje więcej dowolności.

Criffi napisał(a):

A co do konfiguracji środowiska, to właśnie nie do końca to rozumiem. Zauważyłem że dużo ludzi pod linuksem kompiluje przez cmake ., make. Jest możliwe robienie tego w taki higieniczny sposób np. tutoriale w C:B za pomocą guziczka f9 :D ?

Wydaje mi się, że te całe Makefile itp. pisze się dlatego, żeby potem pod różnymi dystrybucjami automatycznie sobie kompilować całą aplikację. Żeby nawet nie trzeba było odpalać tego Code::Blocks i wciskać F9 :) No, taki sposób jest dość uniwersalny między dystrybucjami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1