Gamedev Skills - Encyklopedia umiejętności


#1

W tej sekcji forum znajdziesz opisy różnych umiejętności przydatnych w tworzeniu gier. Są one podzielone na sekcje i powiązane ze sobą.

Możesz modyfikować bazę umiejętności programowania gier! Zapoznaj się z instrukcją na tej stronie: https://github.com/gamedevpl/gamedev-skills

Oryginalnie ta strona była dostępna pod adresem http://www.gamedev.pl/skills/, gdzie każdy użytkownik mógł stworzyć swój własny profil umiejętności.

Zarządzanie projektem

Scrum - Metodyka prowadzenia projektu, zaliczana do agile, zwinnych.

Metodyka prowadzenia projektu, zaliczana do agile, zwinnych.

DotProject - Znajomosc DotProject.

Znajomosc DotProject.

Pozostałe

Język angielski - Podstawy - Podstawowa znajomość języka angielskiego, potrzebna do zrozumienia np. dokumentacji.

Podstawowa znajomość języka angielskiego, potrzebna do zrozumienia np. dokumentacji.

Język angielski - Średniozaawansowany - Znajomość języka pozwalająca na dokładne zrozumienie tekstu.

Znajomość języka pozwalająca na dokładne zrozumienie tekstu.

Wymagane: jezyk-angielski--podstawy

Język angielski - Zaawansowany - Znajomość języka umożliwiająca swobodną komunikację w mowie i piśmie.

Znajomość języka umożliwiająca swobodną komunikację w mowie i piśmie.

Wymagane: jezyk-angielski--sredniozaawansowany

Mercurial - Postługiwanie się rozproszonym systemem wersji Mercurial (Hg).

Postługiwanie się rozproszonym systemem wersji Mercurial (Hg).

Story Designer - Osoba zajmująca się projektowaniem założeń gry, tworzeniem świata, oraz scenariusza

Osoba zajmująca się projektowaniem założeń gry, tworzeniem świata, oraz scenariusza

Subversion - Znajomość podstawowych komend, ogólnie przyjęte praktyki korzystania z SVN

Znajomość podstawowych komend, ogólnie przyjęte praktyki korzystania z SVN

Git - Postługiwanie się rozproszonym systemem wersji Git.

Postługiwanie się rozproszonym systemem wersji Git.

Testowanie Oprogramowania - Wykonywanie testów manualnych, pisanie scenariuszy testowych, przeprowadzanie testów funkcjonalnych.

Wykonywanie testów manualnych, pisanie scenariuszy testowych, przeprowadzanie testów funkcjonalnych.

Web development

Twitter Bootstrap - Javascript/CSS Framework

Javascript/CSS Framework

Wymagane: css

CSS - Kaskadowe Arkusze Stylów

Kaskadowe Arkusze Stylów

node.js - Serwer, na którym uruchamiane są aplikacje napisane w języku JavaScript.

Serwer, na którym uruchamiane są aplikacje napisane w języku JavaScript.

Wymagane: serverside-javascript

jQuery - Biblioteka JavaScript

Biblioteka JavaScript

Wymagane: javascript--podstawy

PHP - Podstawy - skryptowy język programowania

skryptowy język programowania

PHP - Zaawansowany - Zaawansowane programowanie w PHP: Programowanie obiektowe, Znajomość popularnych frameworków(Zend, Symphony), Bezpieczeństwo, Wydajność

Zaawansowane programowanie w PHP:

  • Programowanie obiektowe(OOP)
  • Znajomość popularnych frameworków(Zend, Symphony)
  • Bezpieczeństwo
  • Wydajność
  • ???

Wymagane: php

Server-Side JavaScript - Rozwiązania serwerowe w oparciu o javascript

Rozwiązania serwerowe w oparciu o javascript

Wymagane: javascript--podstawy

Tworzenie dźwięku i muzyki

Level Sound Design - Udźwiękawianie leveli

Udźwiękawianie levelir

Edycja głosów i dialogów - Edycja głosów i dialogów

Edycja głosów i dialogów

Nagrywanie efektów/dialogów - Nagrywanie efektów/dialogów

Nagrywanie efektów/dialogów

Ambient music composer - Tworzenie muzyki środowiskowej

Tworzenie muzyki środowiskowej

Action music composer - Tworzenie muzyki akcji

Tworzenie muzyki akcji

Cut-scenes composer - Tworzenie muzyki do cut-scenes

Tworzenie muzyki do cut-scenes

Main music composer - Tworzenie głównych motywów muzycznych

Tworzenie głównych motywów muzycznych

Tworzenie grafiki

Blender - Tworzenie grafiki 3D w programie Blender

Tworzenie grafiki 3D w programie Blender

Photoshop - Umiejętność obsługi programu

Umiejętność obsługi programu

Paint.NET - Umiejętność sprawnego tworzenia grafiki w programie Paint.NET.

Umiejętność sprawnego tworzenia grafiki w programie Paint.NET.

MilkShape 3D - Tworzenie grafiki 3D w programie MilkShape 3D

Tworzenie grafiki 3D w programie MilkShape 3D

3DS Max - Umiejętność korzystania z narzędzia do modelowania sceny 3DS Max

Umiejętność korzystania z narzędzia do modelowania sceny 3DS Max

Gimp 2.0 - Obsługa darmowego programu do tworzenia i edycji grafiki, alternatywa dla Photoshopa.

Obsługa darmowego programu do tworzenia i edycji grafiki, alternatywa dla Photoshopa.

Projektowanie

Augmented reality - System łączący świat rzeczywisty z obrazem generowanym komputerowo.

System łączący świat rzeczywisty z obrazem generowanym komputerowo.

Sztuczna inteligencja

Odnajdywanie najkrótszej ścieżki - Podstawowe techniki rozwiązywania tego problemu.

Podstawowe techniki rozwiązywania tego problemu np. w grach dwuwymiarowych. Zdolność implementacji podstawowych algorytmów takich jak A*

Fizyka

Dynamika - Ruch ciał pod działaniem sił.

Głównym zadaniem dynamiki jest opis ruchu ciał pod działaniem samych sił. W zależności od tego, jakim modelem mechanicznym dynamika się zajmuje, wyróżniamy dynamikę punktu materialnego, bryły sztywnej, dynamikę płynów.

Matematyka

Równania różniczkowe - Do czego służą, zdolność rozwiązywania.

Znajomość RR jest konieczne do pełnego zrozumienia wielu zaawansowanych zagadnień z zakresu programowania fizyki, grafiki lub efektów dźwiękowych.

Wymagane: analiza-matematyczna

Geometria klasyczna - Znajomość podstawowych twierdzeń, które bywają przydatne np. przy problemie detekcji kolizji.

Znajomość podstawowych twierdzeń, które bywają przydatne np. przy problemie detekcji kolizji.

Analiza matematyczna - Niezbędne do programowania grafiki i wszystkiego co się wiąże z fizyką.

Użytkownik musi wiedzieć co to jest całka, pochodna itd. Niezbędne do programowania grafiki i wszystkiego co się wiąże z fizyką.

Algebra liniowa - undefined

Podstawowe zagadnienia, macierze, przekształcenia, to co się najczęściej spotyka głównie podczas programowania grafiki.

Silnikologia

Język skryptowy - Jakie funkcje może pełnić język skryptowy w silniku gry, jakie są metody wdrażania gotowych silników skryptowych.

Jakie funkcje może pełnić język skryptowy w silniku gry, jakie są metody wdrażania gotowych silników skryptowych.

PlayN Framework - Framework do tworzenia aplikacji, które można opublikować na N >= 5 platformach.

Framework do tworzenia aplikacji, które można opublikować na N >= 5 platformach. Strona domowa: [url]http://code.google.com/p/playn/[/url]

Memory manager(C/C++) - Zarządzanie alokacją i dealokacją pamięci w silniku.

Zarządzanie alokacją i dealokacją pamięci w silniku. Kiedy warto stosować, jakie są sposoby implementacji, gotowe rozwiązania.

Wymagane: c--zaawansowany

Unreal Development Kit - Znajomosć silnika Unreal Development Kit (UDK)

Znajomosć silnika Unreal Development Kit (UDK)

Unity3D - Znajomosć silnika Unity3D

Znajomosć silnika Unity3D

Esenthel Engine - Znajomosć silnika Esenthel Engine

Znajomosć silnika Esenthel Engine

Virtual File System - VFS, czyli sposób organizowania zasobów gry/programu.

VFS, czyli sposób organizowania zasobów gry/programu.

Programowanie grafiki

GLSL - OpenGL Shading Language

OpenGL Shading Language

DirectX Graphics - Podstawy - Podstawowa znajomość DX Graphics(dawniej Direct3D i DirectDraw)

Podstawowa znajomość DX Graphics(dawniej Direct3D i DirectDraw)

HLSL - High Level Shader Language

High Level Shader Language

OpenGL - zaawansowany - Zaawansowane sztuczki i algorytmy wykorzystujące OpenGL.

Zaawansowane sztuczki i algorytmy wykorzystujące OpenGL.

Wymagane: opengl--podstawy

SDL - biblioteka programistyczna umożliwiająca tworzenie gier oraz programów multimedialnych.

biblioteka programistyczna ułatwiająca tworzenie gier oraz programów multimedialnych.

HTML5 - Canvas - Renderowanie grafiki w przeglądarce przy użyciu elementu <canvas> i JavaScriptu.

Renderowanie grafiki w przeglądarce przy użyciu elementu <canvas> i JavaScriptu.

Wymagane: javascript--podstawy, html5

Texture splatting - Do czego służy, kiedy warto stosować tą technikę renderowania, słabe i mocne strony.

Do czego służy, kiedy warto stosować tą technikę renderowania, słabe i mocne strony.

Wymagane: renderowanie-terenu

Shadow mapping - Technika renderowania cieni.

Technika renderowania cieni.

Renderowanie terenu - Techniki renderowania terenu, heightmapa, texture splatting i inne.

Techniki renderowania terenu, heightmapa, texture splatting i inne.

Usuwanie niewidocznych powierzchni - Do czego służy, znajomość zasady działania podstawowych technik(zbuffer, frustrum culling, BSP)

Do czego służy, znajomość zasady działania podstawowych technik(zbuffer, frustrum culling, BSP)

Wymagane: geometria-klasyczna

WebGL - Renderowanie grafiki przy pomocy GPU z poziomu przeglądarki WWW.

Renderowanie grafiki przy pomocy GPU z poziomu przeglądarki WWW.

Wymagane: javascript--zaawansowany, html5--canvas

Bumpmapping - Efekt pozwalający wyświetlać nierówności na powierzchniach.

Efekt pozwalający wyświetlać nierówności na powierzchniach.

Wymagane: algebra-liniowa

OpenGL - Podstawy - Podstawy OpenGL API

Podstawy OpenGL API

SFML - Biblioteką, która dostarcza niskopoziomowy oraz wysokopoziomowy dostęp do karty graficznej, urządzeń wejściowych, dźwięku itp.

Biblioteką, która dostarcza niskopoziomowy oraz wysokopoziomowy dostęp do karty graficznej, urządzeń wejściowych, dźwięku itp.

Programowanie(ogólnie)

.NET - Znajomość środowiska .NET pod kątem tworzenia gier, programów użytkowych(np. edytorów) i aplikacji serwerowych.

Znajomość środowiska .NET pod kątem tworzenia gier, programów użytkowych(np. edytorów) i aplikacji serwerowych.

JavaScript - Zaawansowany - Znajomość problemów związanych z wydajnością skryptów pisanych w JS, bezpieczeństwie i kompatybilności z różnymi silnikami JS(Rhino, V8 i inne).

Znajomość problemów związanych z wydajnością skryptów pisanych w JS, bezpieczeństwie i kompatybilności z różnymi silnikami JS(Rhino, V8 i inne).

Wymagane: javascript--podstawy

Unity - Umiejętność obsługi narzędzia do tworzenia gier - Unity

Umiejętność obsługi narzędzia do tworzenia gier - Unity

Android - System operacyjny

System operacyjny

Wymagane: java--podstawy

MySQL - Podstawy - Podstawy składni

Podstawy składni

Python - Podstawy - python język skryptowy

python język skryptowy

JavaScript - Pytania dla absolutnie początkujących, sprawdzające znajomość składni.

Pytania dla absolutnie początkujących, sprawdzające znajomość składni.

C++ - Podstawy składni, pozwalające na pisanie nieskomplikowanego kodu, korzystanie z gotowego API.

Podstawy składni, pozwalające na pisanie nieskomplikowanego kodu, korzystanie z gotowego API.

Java - Podstawowa znajomość języka programowania, bez względu na docelową platformę(SE, EE, mobile). Tworzenie kodu w oparciu o istniejące biblioteki.

Podstawowa znajomość języka programowania, bez względu na docelową platformę(SE, EE, mobile). Tworzenie kodu w oparciu o istniejące biblioteki.

C++ - Zaawansowany - Umiejętność pisania złożonego kodu w oparciu o rozwiniętą obiektowość, szablony i użycie preprocesora. Zdolność tworzenia kompletnych rozwiązań.

Umiejętność pisania złożonego kodu w oparciu o rozwiniętą obiektowość, szablony i użycie preprocesora. Zdolność tworzenia kompletnych rozwiązań.

Wymagane: c--podstawy

Język C - Podstawy - Znajomość języka na poziomie pozwalającym stworzyć prosty program. Program nauczania na pierwszym roku studiów.

Znajomość języka na poziomie pozwalającym stworzyć prosty program. Program nauczania na pierwszym roku studiów.

HTML5 - Piąta edycje standardu HTML, jakie daje możliwości, kiedy warto używać.

Piąta edycje standardu HTML, jakie daje możliwości, kiedy warto używać.

Inter-process communication - Wymiana danych pomiędzy procesami(IPC), do czego służy, kiedy warto używać, jakie techniki są najbardziej przydatne w kontekście tworzenia gier.

Wymiana danych pomiędzy procesami(IPC), do czego służy, kiedy warto używać, jakie techniki są najbardziej przydatne w kontekście tworzenia gier.

Wymagane: c--zaawansowany, java--zaawansowany

Java - Zaawansowany - Dobra znajomość takich zagadnień jak Garbage Collector w kontekście wydajności, ustawienia JVM.

Dobra znajomość takich zagadnień jak Garbage Collector w kontekście wydajności, ustawienia JVM. Znajomość popularnych bibliotek stosowanych do tworzenia aplikacji mobilnych, internetowych, appletów i programów desktopowych.

XSLT/XPath - Przetwarzanie XML, na czym polega, kiedy się przydaje, popularne implementacje.

Przetwarzanie XML, na czym polega, kiedy się przydaje, popularne implementacje.

Qt (podstawy) - Umiejętność pisania prostych aplikacji okienkowych, wykorzystywanie bibliotek Qt oraz narzędź takich jak QtDesigner oraz Qt Linguist

Umiejętność pisania prostych aplikacji okienkowych, wykorzystywanie bibliotek Qt oraz narzędź takich jak QtDesigner oraz Qt Linguist

CSharp - podstawy - Znajomość języka na poziomie pozwalającym stworzyć prosty program.

Znajomość języka na poziomie pozwalającym stworzyć prosty program.

ActionScript - Podstawy - Obiektowy język programowania, używany w Adobe Flash do sterowania animacjami oraz w Adobe Flex do tworzenia Rich Internet Application.

Obiektowy język programowania, używany w Adobe Flash do sterowania animacjami oraz w Adobe Flex do tworzenia Rich Internet Application.

Język AutoIT - podstawy - Podstawowa znajomość języka AutoIT

Podstawowa znajomość języka AutoIT

Język AutoIT - średnio zaawansowany - Średnio zaawansowana znajomość języka AutoIT

Średnio zaawansowana znajomość języka AutoIT

Wymagane: jezyk-autoit--podstawy

Język AutoIT - zaawansowany - Zaawansowana znajomość języka AutoIT

Zaawansowana znajomość języka AutoIT

Wymagane: jezyk-autoit--srednio-zaawansowany

Język AutoIT - ekspert - Perfekcyjna znajomość języka AutoIT

Perfekcyjna znajomość języka AutoIT

Wymagane: jezyk-autoit--zaawansowany

Go - Podstawy - The Google Programming Language

The Google Programming Language

SQL - Strukturalny język zapytań

Strukturalny język zapytań