2009-11-01 14 views
5

Jestem zainteresowany programowaniem gier. Obecnie tworzę grę na iPhone'a z Shivą, używając Lua jako języka skryptowego. Po tym nie jestem pewien, co powinienem robić i jakich języków powinienem się uczyć. Moim celem jest tworzenie gier, ale chcę też zbudować własną konsolę do gier. Oczywiście nie będzie to przez lata, ale muszę teraz nauczyć się czegoś odpowiedniego do programowania. Wiem, że programowanie gier i aplikacji jest zupełnie inne i dlatego potrzebuję pomocy. Jakie języki lub rzeczy są dla mnie polecane? Chcę też móc tworzyć aplikacje, ale programowanie aplikacji i programowanie gier to zupełnie inna sprawa.Gry programujące i aplikacje/OS

+0

Co Języki wiesz obecnie? – Jonathan

+0

Podstawy C i robię trochę Lua. –

Odpowiedz

2

Pracując w branży od kilku lat, jest to najlepsze podsumowanie mogę znaleźć:

http://gamesfromwithin.com/so-you-want-to-be-a-game-programmer

Moja rada:

Ucz się C++ wewnątrz i na zewnątrz. Programuj w nim każdego dnia. Jeśli jesteś już przygotowany do pracy z iPhonem, naucz się OpenGL. Nauka Direct3D również nie zaszkodzi, jeśli masz dostęp do komputera (obejrzyj także XNA). Jeśli grafika nie jest twoją rzeczą, upewnij się, że wiesz, jak działa wykrywanie ścieżki (algorytm A *) lub wykrywanie kolizji.

Buduj własne projekty i znajdź dobrą społeczność online, która będzie w stanie Ci pomóc, jeśli masz pytania. Pracodawcy chcą widzieć, że jesteś inteligentny, ale co ważniejsze, że jesteś oddany - programowanie gier jest bardzo trudne, nie pozwól nikomu powiedzieć inaczej.

można pobrać darmowe narzędzia programistyczne dla Windows tutaj: http://www.microsoft.com/express/download/

Ten chcesz to Visual C++ 2008 Express Edition.

+0

Dobrze się nauczyć OpenGL, czy musisz znać obiektywne c? Na mympac mam Windows XP, czy to dobrze, aby programować C++? –

+0

Potrzebujesz trochę Celu C, jeśli korzystasz z iPhone'a - możesz robić OpenGL na PC, iPhone lub Mac. Możesz używać C++ na PC, iPhone lub Mac. Na iPhonie i Macu możesz mieszać C++ i Objective C, co sprawia, że ​​rzeczy są mylące dla początkujących. Zaktualizowałem awnswer z linkiem do narzędzi programistycznych systemu Windows. – Justicle

+0

Czy mogę używać narzędzi PC na moim Macu, mam Windows XP na moim Macu. Lub??? –

2

Może sprawdzić niektóre z linków programowania gra tutaj: http://lazyfoo.net/SDL_tutorials/index.php

Te samouczki zakładać C++, który jest stosowany w wielu grach programowania więc może być wart nauki.

Albo można sprawdzić ten samouczek, jeśli zainteresowany Java http://www.cokeandcode.com/node/6

Adam

+0

Zgadzam się z Adamem, C++ jest defacto, jeśli chcesz robić poważne gry. – Jonathan

+0

Chcę również móc tworzyć aplikacje, ale aplikacje do programowania i gry programistyczne to zupełnie inna sprawa. –

1

Powinieneś sprawdzić Unity3D website. Mają teraz darmową wersję (o nazwie Unity) do użytku osobistego i komercyjnego. Możesz używać skryptów z C# (być może dowolnego języka .NET), JavaScript i Boo.

XNA również byłby odpowiedni.

+0

Obecnie używam Shiva –

+0

W porównaniu do ShiVa, Jedność jest Nirvaną. – Stringer

+0

hmmm, cóż, lubię Shivę, ponieważ możesz w niej zaprogramować Lua. Gdybym używał jedności, nie wiedziałbym, jak w nim programować. –

6

Pierwszą grą, jaką kiedykolwiek napisałem, była gra w węża napisana w Turbo Pascal. Bawiłem się i udało mi się uzyskać (za pomocą serii kropek) linię poruszającą się po ekranie. Kiedy to zrobiłem, zmieniłem kierunek linii. Podłączyłem go do klawiszy strzałek i podnieciłem się. Dwie godziny później dostałem inną kolorową kropkę jako "jedzenie" na ekranie i była to gra węża. Każda gra, którą napisałem, pchnęła mnie dalej i zmusiła mnie do nauki nowych rzeczy (pomysły mają tendencję do przechodzenia od siebie).

  • Staraj się trzymać gier zręcznościowych. Breakout, Pong, Snake, itp. Ilość czasu potrzebnego do zbudowania Halo nie wytrzyma obliczeń!
  • Nie przejmuj się tym językiem, którego się uczysz. Wiele się nauczysz przez te wszystkie lata.Teraz jest czas, aby zapytać, który z nich jest najłatwiejszy,, aby rozpocząć pisanie gier. Jeśli masz już podstawy języka C, to jest to odpowiedź od razu.
  • Jeśli nie masz pojęcia, od czego zacząć, zacznij robić animacje zamiast gier. Pomysły pojawią się, gdy przyzwyczaisz się do swoich narzędzi.

Napisz program, który rysuje uśmiechniętą twarz na środku ekranu. Zmiana trybów ekranowych i używanie dużych silników graficznych może być przesadzone. Nie komplikuj. Zabierz tę uśmiechniętą twarz, aby się poruszać, zmieniaj jej kolor, spraw, by była nieszczęśliwą twarzą, itd. Zanim się zorientujesz, uzyskasz dobry moment.

Pytanie, które należy zadać, to jak pisać uśmiechniętą twarz na środku ekranu, zamiast tylko na następnym wierszu konsoli. W mojej pierwszej grze w węża, odpowiedzią było napisanie ładunku przestrzeni '' znaków, dopóki nie dotrę tam, gdzie chcę. Lepszą odpowiedzią, jak widać, są ncurses. Jeśli korzystasz z systemu Windows XP, kompilator MingGW jest darmowy, możesz pobrać (niestandardową) bibliotekę conio.h. Właśnie tego użyłem w mojej drugiej grze w węża i bardzo szybko zaczniesz.

Dobra podróż!

5

Sprawdź, jak modować.

Znalazłem QuakeC (jak modyfikacje Quake1 zostały zrobione), aby było naprawdę łatwe do pobrania, a ty masz już bardzo bogatą bazę zawartości do gry, abyś mógł skupić się na grze i tym podobnych. Zauważyłem, że o wiele łatwiej jest pozostać ciekawym, gdy zaczynasz od fajnej gry i dodawania do niej własnych zwrotów akcji, zamiast zaczynać od tworzenia demo 3D box lub innych zbyt prostych, ale potrzebnych kroków programowania niskiego poziomu.

Quake1 jest dość stary, ale ma wiele zalet związanych z tym, że jest open source i ma możliwość rozszerzenia. Możesz równie łatwo rozpocząć modyfikację dowolnej z nowszych gier.

Wiele dzisiejszych sklepów z dużymi nazwiskami zaczęło tworzyć moduły Quake'a lub Halflife.

0

Kiedy dopiero zaczynasz, C, C# i C++ mogą być na początku nieco skomplikowane. Jeśli poważnie myślisz o tworzeniu gier, prawdopodobnie będziesz musiał nauczyć się języka C++, ale jeśli chcesz szybko zrobić kilka rzeczy, jesteś już na dobrej drodze dzięki lua.

Javascript jest innym językiem bardzo podobnym do lua na wiele sposobów (a bardzo różnym w innych). Jedną z zalet javascript jest to, że wszyscy na świecie mają zainstalowane javascript na swoich komputerach. Kolejną zaletą jest to, że bardzo łatwo się jej nauczyć. Są też wady, ale nie są one tak złe, jak myśli większość "poważnych" programistów. JavaScript dostaje niezasłużony zły rap.

Tutaj jest bardzo dobry poradnik dla javascript nauki: programowanie http://eloquentjavascript.net/

że nie obejmuje gry, unfortunately- Ale robi koncepcje tytułowych, które odnoszą się zarówno do programowania gier i programowania aplikacji.

Oto poradnik dla javcascript że robi programowanie gier Okładka:

http://billmill.org/static/canvastutorial/index.html

trzeba przeglądarkę internetową w celu śledzenia tych kursów. Nie obejmuje to przeglądarki internetowej, więc prawdopodobnie będziesz chciał skorzystać z safari, firefoxu lub opery.

Gdy nie ma problemu z tworzeniem gier w łatwym języku, takim jak javascript lub lua, nie będzie tak trudno nauczyć się gry w trudnym języku, takim jak C lub C++.

Z drugiej strony, możesz być zadowolony z tworzenia gier w łatwym języku, a to jest w porządku, nie ma reguł, które mówią, że musisz uczyć się języka C lub C++, aby tworzyć dobre gry. Dobre gry pochodzą z dobrych pomysłów, a nie z trudnego programowania.

0

Zamówienie priorytetowe dla programisty gier.

Każdy temat wymagający analitycznego myślenia i rozwiązywania problemów logicznych. Konieczna wiedza w następujących domenach.

  • Matematyki
  • Struktury danych
  • Computer Graphics
  • Fizyka
  • Artificial Intelligence
  • sieci komputerowych
  • Web Technologies