Piszę gry od około 10 lat (od QBasic po C # i wszystko pomiędzy). Muszę zacząć rozciągać swoje umiejętności w różnych obszarach. Jakie inne zaskakujące tematy powinienem przeczytać?
Oczekiwane tematy obejmują zwykłych podejrzanych:
- Wybrany język programowania
- Język skryptowy
- Kontrola źródła
- Zarządzanie projektem (lub Agile)
- Interfejs API grafiki
- Może trochę AI (znalezienie ścieżki?)
- Fizyka (fizyka pocisków)
- Testy jednostkowe (testy automatyczne)
Szukam bardziej ezoterycznych tematów; rzeczy, które nie spodziewają się potrzeby znajomości, ale jeśli zrobić je znać, robią różnicę. Może to obejmować takie rzeczy jak:
- Umiejętności plastyczne (rysunek, oświetlenie, kolorowanie, układ itp.)
- Przetwarzanie języka naturalnego
- Fizyka dźwięku (fale dźwiękowe, efekt Dopplera itp.)
Osobiście uważam, że posiadanie technicznych umiejętności artystycznych (np. Może zrobić przyzwoitą pracę plastyczną, jeśli tylko możesz wymyślić pomysły; lub, po samouczkach Photoshop / GIMP), było dla mnie najbardziej korzystne.
To nie jest pytanie otwarte ; Szukam konkretnych umiejętności, które ci pomogły i oczekujesz, że będą nadal przynosić Ci korzyści w perspektywie krótko- i długoterminowej.
Odpowiedzi:
Opowiadanie historii - ludzie i krytycy zawsze mówią, że historia jest ważna w grach. Często jest dodawany jako dodatek do listy rzeczy, które powinna mieć Twoja gra, ale w rzeczywistości implementacja przekonującej narracji w grze jest trudna. Narracje gier często umieszczane są w kontekście literatury lub filmów, ale zasadniczo działają one inaczej i istnieje wiele interesujących dyskusji na temat tego, jak nawet rozmawiać o narracji na własnych warunkach. Staje się to jeszcze bardziej abstrakcyjne w przypadku gier, które nie używają „postaci” lub są w zasadzie zbiorem mechaniki.
Biorąc to wszystko pod uwagę, analiza literacka i filmowa może być przydatna, aby móc wyrazić zamiar.
Marketing - czyli gra została ukończona (haha, jakby). Co teraz? Słyszymy o Minecraft lub Angry Birds, ale biznesowa strona promowania i dystrybucji naszej gry jest dla wielu z nas gigantyczną czarną skrzynką. XNA? Jasne, umieść go na XBLIG, ale co jeszcze można zrobić, aby go promować?
Psychologia - w szczególności, jak się uczymy? Jak możesz uczyć mechaniki gry poprzez grę, aby ludzie nie byli całkowicie zagubieni przez ezoteryczne dzieło manipulacji czasem?
Projekt graficzny - Na pewno wszyscy wiemy, że używanie Papyrusa lub Comic Sans jest złe, ale tworzenie dobrze zaprojektowanego systemu menu lub interfejsu użytkownika wymaga umiejętności. Jest to tylko część podzbioru umiejętności artystycznych, niekoniecznie pełny podzbiór - niektórzy ludzie mogą być dobrymi projektantami, nie będąc w stanie dobrze narysować.
źródło
relatedness
,autonomy
andcompetence
Having a firm grasp of world mythology and religious iconography is always good for game design. HCI and other bits of human factors psych are important just about everywhere. Being able to think like an engineer and deconstruct complex systems into smaller units is useful not just as a programmer, but also when trying to see how other games are built. Game developers tend to be a very diverse bunch, so almost any field of expertise can be used to make better games.
źródło
I am surprised that no one mentioned maths yet. I cannot for the life of me understand how you can be a good game developer without being good at maths.
I have seen game developers stuck with algorithm or optimisation problems, or simply writing very bad or underperforming code, because they used convolutions without knowing what an integral was, or did not know that a convolution was separable if the rank of its matrix was one, or that a composition of linear maps was linear, that the slope of a curve was related to the derivative of its function, that interpolating using
3*t^3-2*t^2
instead oft
ensured slope continuity. I have seen them sum 50 values ofsin(x)
to approximate an area instead of using an integral. Ifx
was supposed to grow toA*x
in 10 seconds, they would set it atA/10*x
after 1 second instead ofexp(log(A)/10))*x
. This is only what I can think of right now, but I could probably come up with dozens more of such examples.Seriously, learn maths.
źródło
History - So many successful games are based off of either true history, or adapations of it. Some of the Call of Duty series, and the Assassin's Creed series come to mind.
Common sense - Yes, having something completely which implements perfectly realistic sound waves travelling through the air is nice and all that, but the user is going to struggle to see the difference. Oh, and run the game on a PC with less than a dozen GHz worth of processor power.
źródło
Immersion Is actually a term still being defined and discovered. What makes us immersed? Why do some people get easily immersed while others won't even flinch when playing Dead Space 2 in a dark room with loud sounds?
This subject alone has helped me a lot as it involves many psychological aspects that are great to have in mind when designing and developing games.
What in your game will actually move your player emotionally? Make use of narrative immersion!
How can you make your player stay in his or her immersion "bubble"? Make use of tactile immersion!
Check out these links for more interesting insights in to the subject:
Wikipedia article
Oldie but goldie
źródło
Economics
Principles learned in economics are very useful in many parts of game development. I'm not only talking about money either; economic principles apply to decisions players make about about everything from whether or not to pick up the health pack to choosing which path to take, and thus knowing economic principles can help make your game designs much stronger.
źródło
Usability. Designing a good and intuitive UI is actually quite hard, ensuring that all the info the player needs is nicely laid-out on-screen, that it doesn't obstruct the action or eat into available screen real-estate, that it's obvious when it needs to be but doesn't detract from the main scene, that the correct options are exposed in the menus, etc - that's not easy at all and takes lots of time, testing, and iterations to get right. Basic usability lessons can be picked up from almost any program, and it's well worth investing time to get right.
Input. This one is vitally important, and kinda ties in with usability. The graphics are the sexy stuff that people like looking at, sound gives important cues and clues, but input is the player's primary interface with the game so you'd better have really good input code. Getting a bunch of ultra-competitive multiplayer fans to road-test your engine can be quite illuminating here, not to mention humbling. You very quickly find out where your input glitches, quirks and lack of responsiveness lies.
źródło