Jestem studentką pierwszego roku w Indiach i chcę zrobić małą grę jako projekt semestralny.
Jestem całkiem dobry w C i uczę się tego szybko, ale chciałem zapytać, czy opracować grę całkowicie w C (bez C ++ lub C #) Chciałbym ich używać, ale do projektów studenckich mamy surowe wymagania dotyczące używania tylko C.
To, czego szukam, to prosta gra z widokiem z góry. Nie będzie miał nic wymyślnego, a nawet elementy wizualne będą zasilane przez proste postacie. Na przykład samochód kontrolowany przez użytkownika może być reprezentowany przez ▓, a krawędzie drogi przez serię |. Co myślisz?
Odpowiedzi:
Możliwe jest pisanie gier w C. Na przykład Quake II jest napisany wyłącznie w języku C, więc pisanie innych gier w języku C nie powinno stanowić żadnego problemu. Może być lepszym wyborem, jeśli jesteś biegły i czuje się swobodnie w C niż w C ++.
źródło
std::string
zchar*
.std::string
zawsze czyści swoją pamięć w każdej sytuacji, każdorazowo przydziela odpowiednią ilość.char*
, możesz zapomnieć zwolnić lub podwójnie zwolnić lub nie przydzielić wystarczającej ilości pamięci. Ups Podstawowa logika mówi, że programy w C ++ są lepsze i bezpieczniejsze niż programy w C.Pracuję na bazie kodu AAA MMORPG, która jest czystym C, więc tak.
źródło
Tak, jest to całkowicie możliwe. Wiele interfejsów API na poziomie systemu operacyjnego, takich jak POSIX i Windows, DirectX i OpenGL, ma interfejsy kompatybilne z C.
źródło
Fabien Sanglard napisał artykuł o swoim silniku 3D w C. W reddit ten artykuł wywołał interesującą debatę.
Języki to tylko narzędzia ... Więc używaj ich mądrze. Aby stworzyć dobrą grę, łatwiej jest użyć XNA lub Unity3D. Opanowanie języka C jest dobrym pierwszym krokiem, ale musisz nauczyć się C ++, D, python, lua ... C ++ to bardzo trudny język. Więc używaj go ostrożnie.
źródło
C jest świetny do tworzenia gier.
Pracuję nad platformówką 3D i nigdy nie miałem żadnych problemów z językiem. Jedynymi problemami są wykrywanie kolizji i cieniowanie, po prostu nic o nich nie wiem, nadal występowałyby w każdym innym języku.
W rzeczywistości uważam to za znacznie łatwiejsze niż języki takie jak C # i Java. Zawsze iteruję na jednostkach używających wskaźników ( przykład z mojego kodu ) i
fread
oszczędzam dużo czasu na tworzeniu programu ładującego mapy.Jeśli chcesz orientacji obiektu i modułowości, możesz tworzyć struktury wskaźników funkcji.
źródło
Bez wątpienia. Wiele bibliotek przydatnych w tworzeniu gier (takich jak SDL, PhysFS itp.) Ma C API, co bardzo pomaga.
Możesz chcieć zagłębić się w język skryptowy, taki jak lua, jeśli chcesz wykonać rozszerzalne programowanie na wysokim poziomie. Wiele osób zaczyna odczuwać apel w programowaniu frameworka C, który używa lua do takich rzeczy jak AI, wydarzenia itp.
Powodzenia.
źródło
Prosta odpowiedź na to pytanie brzmi: Możesz zrobić prostą grę tekstową w ten sposób w każdym języku programowania. Nawet asembler pascal, basic lub x86:]
(i nie potrzebuję nic więcej)
źródło
Tak, jest to możliwe, ale może nie być najbardziej pożądanym sposobem działania. Wiele osób zdaje sobie obecnie sprawę, że zarówno C, jak i C ++ nie są idealne do wielu zadań, a logika gry na wysokim poziomie często należy do tej kategorii.
Jeśli nalegasz na C zamiast C ++ (co nie ma dla mnie sensu, ale dla każdego z nich), najlepiej będzie użyć Lua w połączeniu z C.
W przypadku projektów uczelni wymagających C nie będzie to opcja, ale w przypadku projektów w wolnym czasie byłby to dobry sposób na naukę.
źródło
Oczywiście, że możesz. Wiele gier zostało zaprogramowanych w C (przychodzi na myśl DOOM). SDL to biblioteka do programowania gier napisana w C.
Oczywiście może to być nieco trudniejsze niż używanie C ++ do dużych projektów, ale jest to możliwe.
źródło
Myślę, że można stworzyć kompletne gry typu C. Stworzyłem grę (podobną do „wpływu na kosmos” telefonu komórkowego Nokia 1110) w moim drugim semestrze przy użyciu kompilatora Turbo C. Myślę, że możesz spróbować w ten sposób (jako student pierwszego roku) bez znajomości innych osób.
źródło