2009-12-08 11 views
10

Znajomy powiedział mi, że można nawet tworzyć gry z PHP.Tworzenie gier i sztuczna inteligencja z PHP

Czy to naprawdę możliwe?

Czy możemy wdrożyć sztuczną inteligencję za pomocą PHP?

Szukasz pomysłów.

Dzięki

+12

oczywiście możesz to zrobić ... w pewnym momencie ... ale sugerowałbym wybór bardziej odpowiedniego języka na ten temat :-) – jldupont

+3

lepsza odpowiedź .... tak, tak. – KevinDTimm

+3

Dlaczego nie głosują? – Kamarey

Odpowiedz

23

Tak, PHP jest Turinga kompletne, więc teoretycznie można tworzyć wszelkiego rodzaju aplikacji pragnienie. To nie znaczy, że powinieneś, a tam jest o wiele więcej odpowiednich narzędzi.

+8

+1, aby uzyskać notatkę o zakończeniu Turinga. – Mizipzor

8

Chociaż jest to możliwe do wdrożenia sztucznej inteligencji i gier w PHP, to nie jest to możliwe, aby uzyskać optymalną. PHP jest przeznaczony do efektywnego programowania po stronie serwera i jako taki nie jest najbardziej optymalną platformą do rozwoju sztucznej inteligencji i gier.

To powiedziawszy, zależy to również od tego, jak definiujesz sztuczną inteligencję, jeśli masz na myśli gry, które ponownie mają sztuczną inteligencję, jest to możliwe, ale nie optymalne.

Języki programowania są sposobem wyrażania koncepcji, różne języki lepiej wyrażają różne typy pojęć. Dla PHP jest bardzo dobry w wyrażaniu koncepcji po stronie serwera po stronie skryptów, jednak jest mniej odpowiedni do wyrażania pojęć takich jak gry wideo w porównaniu do bardziej ogólnych języków, takich jak C, C++, Java, C#, etc ... (jest o wiele więcej, to to tylko krótka lista)

Jeśli naprawdę chcesz gry online, powinieneś rozważyć Javę, która ma doskonałą integrację z internetem, jednocześnie zapewniając lepsze medium do tworzenia gier.

4

Uważam, że php jest dobre do tworzenia gier przeglądarkowych, ponieważ php ma działać na serwerze i generować strony wyjściowe (xml, html, itp.).
Jeśli chcesz stworzyć coś innego niż grę, w której działa logika na serwerze internetowym byłoby mądrzej i łatwiej wybrać język, który został zaprojektowany do takich rzeczy.

+1

Zaskoczony, nikt inny nie pomyślał o tym: a co z niezliczoną liczbą gier internetowych? www.urbandead.com –

+0

To dobra uwaga, oryginalne pytanie musi zawierać informacje o typach gier. –

+0

Myślę, że moja odpowiedź jest tak samo konkretna, jak pytanie ... :-) – TheHippo

6

Wiem, że istniało wyraźne rozwiązanie, ale tutaj jest kilka linków, które będą bardzo przydatne.

http://ann.thwien.de/index.php/Main_Page

http://neuralmesh.com

http://www.tremani.nl/open-source/neural-network

Tam faktycznie było więcej pracy z AI za pomocą PHP, niż większość ludzi zdaje sobie sprawę i jest całkiem możliwe. Neuralmesh.com mówił o grze Connect 4 i o tym, jak komputer stał się mądrzejszy, im więcej gier grał (choć nie oferują one żadnego rodzaju demonstracji na żywo z tej gry, mają demo ich systemu, który wygląda bardzo dobrze i ładnie).

Nie zamierzam mówić, że PHP jest najbardziej wydajnym językiem do zrobienia tego w ... Podejrzewam, że C++ lub Java są znacznie lepszymi alternatywami, jeśli nie jesteś na pokładzie skacząc do PROLOG lub LISP, ale jest też FANN, który jest biblioteką dla sieci neuronowych i ma powiązania dla różnych języków (w tym PHP, ale nie działa z PHP 5.3 i wydaje się nie być dłużej utrzymywany, ale jestem pewien, że wciąż jest świetny dla innych języków).

Jednak ... powiem, że nie jest to głupi pomysł, aby stworzyć sztuczną inteligencję za pomocą PHP lub jakiejś uproszczonej sieci neuronowej. Powodem jest to, że Internet naprawdę stanowi wiele naszego korzystania z komputera w tych dniach. W rzeczywistości większość ludzi prawdopodobnie nie potrzebowałaby komputera, który nie łączyłby się z Internetem. Kiedy zdasz sobie z tego sprawę i zdasz sobie sprawę, że PHP jest jednym z najpopularniejszych i najłatwiejszych do nauczenia się oraz darmowych i wszystkich innych korzyści .... To dość powszechny język "przejdź do".

To zabawne, że ludzie lubią mówić, jak "powolny" PHP jest, ale już zajęliśmy się tym problemem. Dzisiejsze komputery są znacznie szybsze i możemy je połączyć w sieć. Ponadto ludzie wciąż myślą o PHP 4, gdy mówią, że jest wolny. Nie wiedzą nawet o PHP 5.3 ani o nowych funkcjach i prędkościach. Wyobraź sobie rozproszoną bazę danych dla twojej sieci neuronowej w "chmurze". Zastanów się, jaką korzyść ma przechowywanie danych, a nawet ich przetwarzanie (nawet jeśli jest to mniej wydajne, sprzęt jest tani). Teraz zastanów się, jak szybko możesz ustawić to za pomocą PHP w porównaniu do innych języków. Jakiś inny język, w którym możesz się modlić, aby znaleźć wszystkie biblioteki potrzebne do połączenia się z Internetem, nie wspominając już o pobieraniu danych, a następnie wyświetlaniu danych dla użytkownika w tak wygodny sposób, jak przeglądarka internetowa.

Co zrobić, jeśli użytkownik końcowy nie chce pobierać i instalować czegokolwiek?

W każdym razie, wpadłeś na pomysł, nie zamierzam tego kontynuować ... Ale na pewno nie jest absurdem myśleć o czymś takim dla PHP.

To również zależy od tego, co zrobisz z "AI", jeśli chcesz grać w prostą grę Connect 4 ... lub Battleship ... lub w szachy. Potem trenujesz to trochę (część długa na procesorze), a następnie (w większości) robisz. Więc nie ma znaczenia, z jakiego języka korzystasz.

2

Wiele się zmieniło w ciągu 6 lat, od kiedy OP zadał to pytanie.

PHP stał się znacznie bardziej wydajny z HHVM i PHP7 i powoli rozprzestrzenia się z uruchamiania back-end stron internetowych do running applications in general.

W końcu możesz stworzyć grę lub sztuczną inteligencję w dowolnym języku programowania, ale PHP staje się lepszym wyborem - to niekoniecznie oznacza, że ​​powinieneś go używać. Jeśli nie używasz PHP-GTK (a ten projekt nie jest jeszcze gotowy do produkcji), nadal będziesz musiał napisać front-end w czymś jeszcze, tradycyjnie z PHP, który będzie HTML i JavaScript. Z HTML5, WEBGL i canvas jest to coraz bardziej obiecująca możliwość, szczególnie do tworzenia gier dla wielu graczy.

Jeśli tworzysz grę w PHP, na pewno rozpoczynasz przygodę - nie ma tam zbyt wielu gier PHP (z wyjątkiem tekstowych przygód z tekstem w stylu MUD), więc przygotuj się na rozwiązanie wielu problemów siebie.

+0

Niektóre starsze gry przeglądarkowe (gry strategiczne) używają/używają php, o ile pamiętam. Więc to nie tylko przygody tekstowe w stylu MUD. Chociaż php głównie wtedy, co teraz wywołania ajax ...... komunikacji między serwerem a klientem. Poza tym niewielka część tych programów używała php również do samego serwera (a więc do funkcji tła, takich jak wykonywanie zwojów, ...) – Thomas