Jest to blog poświęcony nowoczelnym technologiom ułatwiającym tworzenie aplikacji internetowych. Znajdziesz tutaj porady na temat CSS3, JavaScript, designu, web-usability, standardów W3C.
Cześć! Nazywam się Michał Środek. Z zawodu programista php, z zamiłowania gitarzysta oraz fanatyk GNU/Linuksa(openSUSE® w laptopie). W branży aplikacji internetowych od 9 lat. Prywatnie bez dzieci i kota.
Pracuję wciąż nad własnym elastycznym i wydajnym frameworkiem MVC, kilkoma portalami internetowymi oraz mniejszymi bibliotekami php. Czekam na wasze opinie, zgłoszenia błędów oraz pomysły na dalszy rozwój.
Ta część strony jest w trakcie budowy a moje prace tymczasowo niedostępne.
W przypadku pytań, ofert pracy oraz ciekawych pomysłów proszę się ze mną kontaktować. Możesz mnie znaleźć i wysłać PW na php.pl(SHiP), jamendo.com(michalsrodek), goldenLine.pl, facebook.com lub nk.pl
Dzisiaj, po dwóch latach ciężkiej pracy, wydałem kolejną wersję mojego frameworka. Poprawek nie ma wiele jednak spora ich część znacznie ułatwia pracę. Najważniejszą jednak jest chyba zmiana licencji z LGPL na MIT. W ciągu kilka najbliższych dni postaram się napisać kilka artykułów z serii „Tworzymy portal w oparciu o Mohebo Framework“. Mam nadzieję, że przypadnie on wam do gustu. Wszelkie opinie i komentarze proszę zamieszczać tutaj lub dołączyć się do dyskusji na forum.php.pl
Paczka jest dostępna pod adresem: http://srodek.info/files/MoheboFramework-0.2.tar.gz
Dokumentację można znaleźć na http://mohebo.com
Mimo, że czołg w mojej grze jeździ, porusza się przez ściany. Dzisiaj zwalczę ten problem dodając kilka linijek kodu odpowiedzialnych za wykrywanie kolizji obiektów, tak aby czołg nie mógł znajdować się w tej samej pozycji co mur lub woda.
Jak zapewne zauważyłeś podczas czytania mojego poprzedniego artykułu gra, którą tworzę działa troszkę wolno. Dzieje się tak dlatego, że mapa jest generowana od nowa w każdej klatce działania programu. Spróbujmy to zoptymalizować.
W dzisiejszym artykule pokażę prosty sposób na wychwycenie zdarzenia przytrzymania klawiszy klawiatury oraz rozpoczniemy mierzenie prędkości naszej gry tj. współczynnika FPS. Umieścimy na naszej mapie czołg oraz umożliwimy sterowanie nim za pomocą klawiszy strzałek.
Dzisiaj stworzę pierwszą wersję planszy do mojej gry. Spróbujmy wykreować obszar 16x16, generowany na podstawie tablicy z informacjami o poszczególnych polach. Po wygenerowaniu mapy pozostanie ona całkowicie statyczna więc liczenie fps pozostawię do kolejnego artykułu. Dzisiaj zajmijmy się stworzeniem głównej klasy oraz kilku metod inicjalizujących naszą planszę.
Spróbujmy udoskonalić nasz serwer tak aby posiadał możliwości prostego chatu — wysyłanie wiadomości ogólnych do wszystkich użytkowników oraz prywatnych tylko do jednej osoby. Mój kod urósł prawie do 150 linijek przy czym nie uwzględnia on kilku rzeczy, o których wspomnę podczas pisania protokołu lub tworzenia klientów.(w końcu nie piszę MUD-a i telnet muszę zastąpić czymś innym).
Pisząc grę internetową trzeba zastanowić się nad sposobem komunikacji między graczami oraz bazą danych. W przypadku aplikacji przeglądarkowych dużego wyboru nie ma. Praktycznie wszystkie gry wykorzystują technologię AJAX. Jak to działa w praktyce? Nie za dobrze. Spróbujmy stworzyć coś dużo bardziej wydajniejszego.
Troszkę byłem ostatnio nieobecny lecz w tym czasie wytworzyłem kilka ciekawych pomysłów. Pod wpływem fascynacji Gwiezdnymi Wrotami rozpocząłem pracę nad grą internetową! Całość chcę oprzeć na technologiach dostępnych w HTML5. Użyję dodatkowo troszkę xHTML-a (głównie chodzi mi o SVG). Przygotujcie się na serię artykułów na temat obiektu Canvas, obsługi połączeń w php, pamięci podręcznej, pamięci współdzielonej itp. ponieważ planuję każdy etap produkcji opisać na blogu.
(więcej…)