Jason Napisano Grudzień 7, 2010 Zgłoś Share Napisano Grudzień 7, 2010 Witam. Opisy są na stronach projektów, więc nie będę się powtarzał Bricks Knock Off - http://jasonuniverse.appspot.com/str/pokaz...3N0cm9uYRihlgMM Screen: Too Many Troopers 2 - http://jasonuniverse.appspot.com/str/pokaz...3N0cm9uYRjRhgMM Screen: Link do komentarza Udostępnij na innych stronach More sharing options...
TSr Napisano Grudzień 7, 2010 Zgłoś Share Napisano Grudzień 7, 2010 Widzę ogromny postęp w stosunku do Too Many Troopers 1. Jest to całkiem grywalne. Ciekawe jest przejście z C++ na Python B); cóż cię skłoniło do tak radykalnej zmiany? Ubuntu.pl user #10593 Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 7, 2010 Autor Zgłoś Share Napisano Grudzień 7, 2010 Zaczęło się od poszukiwań silnika graficznego darmowego i prostego w obsłudze, padło na Pandę 3D, bo najszybciej udało mi się python'owe hello world odpalić Ogre jakoś odrzucało mnie - robiłem zgodnie z tutorialami pierwszy program i musiałem się nieźle naszukać nagłówka klasy SimpleApplication, czy jakoś tak, żeby do projektu go include'ować. W Python'ie też łatwiej mi pisać wieloplatformowe aplikacje, bo odpada proces kompilacji i linkowania tych wszystkich libów itp. A wydajność aż tak nie kuleje, jak się korzysta z funkcji wbudowanych i z bibliotek napisanych w C/C++ - silnik fizyczny większość obliczeń wykonuje, ja mu tylko podaję wymiary obiektu i siły wpływające na obiekt, czyli i tak większa część aplikacji jest napisana w C/C++, a gra nie jest jakąś mega zasobożerną produkcją, skoro nawet powstają we flash'u takie gry jak Bricks Knock Off (flashowa nazywa się Blosics - o czym wspomniałem na stronie mojego projektu) Oprócz gier jeszcze w ramach projektu z nowoczesnych technologii programistycznych nauczyłem się korzystać z Google App Engine w języku Python i na nim działa moja strona - taki projekt zaproponowałem prowadzącemu i wszystko z diagramami MVC jest zrobione. Czyli ogólnie, co mnie zachęciło do Python'a: - prostota (łatwiej się programuje, bardziej zrozumiały kod, łatwa obsługa struktur dynamicznych itp.) - pełna obiektowość języka - uniwersalność i przenośność kodu - wrappery do wielu bibliotek Nie żebym jakoś potępiał C/C++, bo bez tych języków Python i szybkie biblioteki do niego by nie istniały Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Grudzień 8, 2010 Zgłoś Share Napisano Grudzień 8, 2010 Potrzeba doinstalowanie dodatkow do pythona zniecheca. Powinienes sprobowac zrobic jakas paczke z gra gdzie wszystko juz bedzie. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 8, 2010 Autor Zgłoś Share Napisano Grudzień 8, 2010 Blind - skorzystam z cennej rady Bo w niektórych dystrybucjach Linuksa może nie być pewnych (nie wiem jak może być z pygame, ale pyopengl i pysqlite pewnie wszystkie mają ). Dla Winshita jest Python Portable.... ale cóż, spróbuję z obecnie zainstalowanych pakietów w Linuksie stworzyć właśnie takiego Python'a Portable z pakietami pod moją grę Albo zobaczę jakie istnieją rozwiązania w tym zakresie, zobaczę najpierw to http://pypi.python.org/pypi/plipy/0.0.1 edit: Albo zorientuję się jak tam się sprawuje cx_freeze Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Grudzień 8, 2010 Zgłoś Share Napisano Grudzień 8, 2010 pod Ubuntu 10.04 LTS nie startuje CYTATja@ja-desktop:~/gry/Bricks_Knock_Off$ ./main.py Traceback (most recent call last): File "./main.py", line 29, in from Box2DLinux import * File "/home/ja/gry/Bricks_Knock_Off/Box2DLinux/__init__.py", line 21, in from .Box2D import * File "/home/ja/gry/Bricks_Knock_Off/Box2DLinux/Box2D.py", line 28, in _Box2D = swig_import_helper() File "/home/ja/gry/Bricks_Knock_Off/Box2DLinux/Box2D.py", line 24, in swig_import_helper _mod = imp.load_module('_Box2D', fp, pathname, description) ImportError: /home/ja/gry/Bricks_Knock_Off/Box2DLinux/_Box2D.so: wrong ELF class: ELFCLASS32 ja@ja-desktop:~/gry/Too_Many_Troopers2$ ./main.py Traceback (most recent call last): File "./main.py", line 8, in import ode ImportError: No module named ode edit: oczywiście mam pygame, pyopengl i pysqlite chmody nadane Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 8, 2010 Autor Zgłoś Share Napisano Grudzień 8, 2010 Dzięki za info. Ja tą bibliotekę (box2d) do BricksKnockOff kompilowałem z SVN pod Ubuntu 10.10, widocznie to nie wystarczy (jak czytałem opis wspomnianego plipy do tworzenia przenośnego środowiska python'a to tam pisało, że on wywala ze skompilowanych bibliotek różne rzeczy, które mogą powodować błędy importu), jak zrobię wersję portable z cx_freeze, albo czymś innym to przetestujesz mam nadzieję I tak na razie nic nie straciłeś, bo gra ma 3 poziomy (na razie gotowa jest główna część gry, teraz czas na levele i dodatkowe features'y dotyczące fizyki - dodatkowe obiekty itp.). Jeśli chodzi o Too Many Troopers 2 to używałem tam pyode z repozytorium. W obydwu projektach natomiast używałem pygame i pyopengl, w BKO używałem dodatkowo sqlite3, a Box2D dołączyłem w dwóch wersjach - dla Win i dla Lin. Wiem, że to odstrasza jak się chce tylko włączyć grę... więc zrobienie wersji przenośnej również dla Linuksa to bardzo dobry pomysł Dla Win wersja z Python'em Portable była testowana na XP 32bit i na Win7 64 bit, wszystko śmiga. Heh... okazało się, że wsparcie aplikacji przez Win jest bardziej dopracowane Jaki wstyd edit: A masz pyode? Too Many Troopers 2 powinno Ci ruszyć. A w BKO jak już wspomniałem, Box2D dołączony skompilowany pod Linuksa coś Ci się rzuca, ale to naprawię, mam nadzieję Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Grudzień 8, 2010 Zgłoś Share Napisano Grudzień 8, 2010 oj pyode nie miałem teraz Too Many Troopers 2 chodzi i to całkiem ładnie tym bardziej że mam tylko otwarte sterowniki do mojego archaicznego radeona Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 8, 2010 Autor Zgłoś Share Napisano Grudzień 8, 2010 oj pyode nie miałem teraz Too Many Troopers 2 chodzi i to całkiem ładnie tym bardziej że mam tylko otwarte sterowniki do mojego archaicznego radeona Dodam, że pyode jest mniej problematycznym silnikiem fizycznym, Box2D ma bardzo zmienną implementację. Przykładowo raz mamy klasę b2World, a w niej metodę CreateBody, która zwraca obiekt ciała i możemy na tak utworzonym obiekcie zastosować metodę setStatic, a w innej implementacji mamy metodę CreateBody, które domyślnie tworzy ciało statyczne i mamy też CreateDynamicBody dla ciał na które oddziałuje fizyka, jest też zmiana nazw klas, zamiast PolygonDef, PolygonShape itp. Jak robiłem paczkę pod Win to z tym miałem problem, bo nie mogłem znaleźć paczki Box2D odpowiadającej paczce z repozytorium Ubuntu, więc pod Linuksem z svn skompilowałem wersję, którą znalazłem skompilowaną pod Win. Jak mi się uda poprawić ten błąd z Box 2D o którym napisałeś to może przepiszę fizykę Too Many Troopers na Box2D (bo może w nim uda mi się zrobić dokładniejszą kolizję (w ODE miałem trochę problemów z implementacją ograniczenia poruszania myszą w obrębie okręgu, więc myszą nie ustawiam pędu miecza, tylko jego pozycję, co wpływa negatywnie na wykrywanie kolizji, Box2D ma różne joint'y, które mogą mi to zadanie ułatwić, nawet widzę w przykładach odpowiednie użycie jointów - rope joint test edit: szukałem, szukałem i chyba znalazłem coś co jest najlepsze - http://www.pyinstaller.org/ Za chwilę przetestuję. edit2: wiesz Sazian... z ciekawości sobie na virtualbox'ie zainstalowałem Ubuntu 10.04 i wymagane biblioteki i odpaliłem grę (bez żadnych zmian ustawień praw dostępu, rozpakowaną na Pulpit prosto z zipa) bez takiego błędu jak u Ciebie. Screen ( http://img84.imageshack.us/img84/6425/zrzutekranuq0.png ) Ale i tak skorzystam z tego pyinstaller i mam nadzieję, że przetestujesz, bo informacja o tym, że gra uruchomiła się na tym samym systemie, na którym wcześniej nie działało to cenna informacja edit3: Sazian: wysyłam Ci na PM linka do testowego skryptu sprawdzającego Box2D Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 9, 2010 Autor Zgłoś Share Napisano Grudzień 9, 2010 Sorry, że post pod postem, ale to celowe, żeby powiadomienie poszło do wszystkich wypowiadających się. http://download.jason.o12.pl/BricksKnockOffLinux.zip - zrobiłem paczkę Bricks Knock Off dla Linuksa i prosiłbym o przetestowanie edit: Dla testu chciałem uruchomić na Ubuntu 8.04, teraz jest tylko problem z wersją glibc, ale to dlatego, że na zbyt nowej dystrybucji robiłem. Czytałem, że jak zrobię na jak starszej to na nowszych będzie działać Mam nadzieję teraz, że znajdę wszystkie potrzebne paczki i będzie działać na wszystkich dystrybucjach (nie tylko Ubuntu) nowszych niż Ubuntu 8.04 Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Grudzień 9, 2010 Zgłoś Share Napisano Grudzień 9, 2010 To jeszcze wersja na maca i bedzie komplet www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 9, 2010 Autor Zgłoś Share Napisano Grudzień 9, 2010 Czyli działa Ci pod Linuksem ? Czy nie testowałeś? BTW. TMT2 zajmę się po BKO, jak przerobię fizykę TMT2 na Box2D Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Grudzień 9, 2010 Zgłoś Share Napisano Grudzień 9, 2010 nowa wersja działa popraw poziom 0 bo sam się rozpada Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 9, 2010 Autor Zgłoś Share Napisano Grudzień 9, 2010 spoko BTW. prawdopodobnie będę musiał zrobić paczki dla najpopularniejszych dystrybucji Linuksa, po moich poszukiwaniach informacji o tym, to jedyna właściwa droga, przynajmniej się podszkolę w tworzeniu pakietów Ale to będę robił dopiero jak będzie warto - czyli jak dorobię aplikację - levele, features'y. Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Grudzień 18, 2010 Autor Zgłoś Share Napisano Grudzień 18, 2010 http://download.jason.o12.pl/pybko_0.1_all.deb - jak ktoś chce testować, to utworzyłem pakiet deb dla gry Bricks Knock Off. Po instalacji gra powinna się znajdywać w menu Gry/pybko. W samej grze żadnych zmian, jedynie pakiet został utworzony, z czego jestem dumny Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.