NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s podporou uplatnění od 0 Kč. Více informací.
Avatar
rikenbekr
Člen
Avatar
rikenbekr:12.11.2016 18:11

Zdravím,
Měl jsem rozdělanou tahovou strategii v C+SDL, ale tvořil jsem natolik nepřehledně že by oprava na nějakou lepší formu trvala přibližně stejně jako vytvořit znova. Proto se rozhoduji nad více možnostmi vývoje:

  1. Vývoj kompletně v C za pomoci SDL.
  2. Nebo vytvořit základ v C+SDL(počítání tahů, načítání, ukládání, vykreslování) a herní logiku v lua..

    Má cenu používat Lua v podstatě k volání funkcí z kódu v c? To můžu ty funkce rovnou volat z dalšího .c souboru starajícího se o herní logiku. Jaký je tam rozdíl co se týče vývoje oproti

    čistému C?

c)Případně místo Lua skriptovat v Pythonu.
d)LÖVE
e)Pygame

Která možnost mě naučí nejvíc s ohledem na budoucí využití?
Jaký je rozdíl mezi knihovnou a enginem? Hledal jsem, ale jednoznačnou odpověď jsem nenašel.
PS. Těch tahových her mám v šuplíku víc takže "engine" bych využil.

Odpovědět
12.11.2016 18:11
In world without fences and walls, who needs Gates and Windows?
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na rikenbekr
gcx11:12.11.2016 19:49

Ahoj, jaký máš důvod to psát v C? Myslím, že rychlost na tohle zrovna nepotřebuješ. Uvažoval jsi nad tím, že bys to napsat celé v Pythonu? V něm můžeš také volat C, pokud potřebuješ. Popř. bys to mohl přepsat do vyššího jazyku. Pokud to není nutné, tak bych C na hru nepoužíval. Když máš něco jednoduchého, tak výkonu to moc nepoznáš, ale budeš mít rychlejší vývoj. Můžeš třeba zkusit C# a nějakou knihovnu. PyGame je postavené na SDL, ale celkově mi to přijde už zastaralé.

 
Nahoru Odpovědět
12.11.2016 19:49
Avatar
Jan Bezdíček
Tvůrce
Avatar
Odpovídá na rikenbekr
Jan Bezdíček:12.11.2016 19:54

Taky se priklanim k vyssimu jazyku, pokud nemas na vyvoj takove strategie cely tym a chces ji nekdy dokoncit, tak takovy C# by byla asi optimalni volba. Pokud ti nevyhovuje Unity, protoze pro nekoho je moc "klikaci", je tady furt MonoGame :)

 
Nahoru Odpovědět
12.11.2016 19:54
Avatar
Odpovídá na rikenbekr
Luboš Běhounek Satik:12.11.2016 20:14

Za mě taky C#, momentálně patří mezi nejrozšířenější jazyky (=lehce se googlí odpovědi na případný problémy), rychlostí se blíží k C++, díky LINQ můžeš i celkem složité operace zapsat jednoduše, efektivita vývoje v něm se s C++ nedá srovnávat - nemusíš psát hlavičkový soubory, nestane se ti, že půl dne hledáš zdroj nějakýho acces violation + ten LINQ.

Knihoven/frame­worků/enginů je pro C# spousta (od DirectX wrapperu SharpDX, přes Monogame až po Unity/Unreal Engine) a na zvuky můžeš použít třeba FMOD wrapper, kterej se používá v AAA hrách.
Navíc případný uživatelský skriptování můžeš taky dělat v C#, kterej je možný kompilovat na každým stroji, kde je .NET.

Engine je v podstatě knihovna, která je schopná samostatně běžet, ale ono to ani nějak jednoznačně určit nejde :)

Nahoru Odpovědět
12.11.2016 20:14
https://www.facebook.com/peasantsandcastles/
Avatar
rikenbekr
Člen
Avatar
rikenbekr:12.11.2016 20:15

No v C jsem začal, ale psal jsem to nepřehledně takže je to prakticky nepoužitelné, proto začínám znovu. No nad čistým Pythonem jsem uvažoval.
Důvody, pro C:
Vzhledem k více nápadům na tahové 2D hry bych nějaký základ psaný v C využil vícekrát.
C byl první jazyk který jsem se naučil a strávil jsem s ním asi nejvíce času. C# neumím a je mi nesympatické, což je celkem irelevantní.
Rád bych zkusil vytvořit něco kde spolupracují 2 jazyky a naučit se něco nového. Ale nejsem si úplně jistý co přenechat Céčku a co naskriptovat.
(Zapomněl jsem na odpovědět :/)

Editováno 12.11.2016 20:16
Nahoru Odpovědět
12.11.2016 20:15
In world without fences and walls, who needs Gates and Windows?
Avatar
Jan Bezdíček
Tvůrce
Avatar
Odpovídá na rikenbekr
Jan Bezdíček:12.11.2016 20:22

V tom pripade, kdyz uz se chces "zabit" Céčkem, tak uz je jedno, jestli k tomu pridas Python nebo Lua :D stejne dle me dojdes do faze, kdy si reknes, ze je cas prejit na modernejsi jazyk

 
Nahoru Odpovědět
12.11.2016 20:22
Avatar
rikenbekr
Člen
Avatar
Odpovídá na Jan Bezdíček
rikenbekr:12.11.2016 20:26

Tak princip tý hry není tak složitý, v textový podobě ta hra fungovala na 1. Ale neměl jsem to v grafický podobě a
dost věcí chybělo dodělat: ukládání, načítání, víc jednotek, scénáře, hudba, nějaký výzkum jednotek.
No a třeba ty scénáře je zbytečný dělat v C když to jde snáž v nějakém scriptovacím jazyku.

Nahoru Odpovědět
12.11.2016 20:26
In world without fences and walls, who needs Gates and Windows?
Avatar
Jan Bezdíček
Tvůrce
Avatar
Odpovídá na rikenbekr
Jan Bezdíček:12.11.2016 20:33

To mas pravdu, ani te od toho nechci odradit. Jen si proste myslim, ze tim C si zrovna pri vyvoji her jen hazes klacky pod nohy ... kdyz bych se rozmyslel ja, sel bych asi spis do Lua (viz. World of Warcraft, GTA San Andreas Multiplayer apod.)

 
Nahoru Odpovědět
12.11.2016 20:33
Avatar
rikenbekr
Člen
Avatar
Odpovídá na Jan Bezdíček
rikenbekr:12.11.2016 20:47

Jestli máš na mysli módování, tak GTA SA:MP se móduje v Pawn (tím jsem se svého času zabýval a je to značně nezáživné :) ) a Multi Theft Auto v Lua. No tak asi použiju Lua a uvidím :). V tom případě co by měl takový 2D engine umět a co už ne?

Nahoru Odpovědět
12.11.2016 20:47
In world without fences and walls, who needs Gates and Windows?
Avatar
Jan Bezdíček
Tvůrce
Avatar
Odpovídá na rikenbekr
Jan Bezdíček:12.11.2016 20:57

Ah, jo myslel sem MTA ... uz je to par let :D Jinak co je nejhlavnejsi asi zhrnuji zde: http://gamedev.stackexchange.com/a/31039 ... ale to uz asi vis. Kazdopadne, byt tebou kaslu na psani enginu a venuji se primarne vyvoji ciste te hry viz. http://www.geometrian.com/…es/index.php

 
Nahoru Odpovědět
12.11.2016 20:57
Avatar
rikenbekr
Člen
Avatar
Odpovídá na Jan Bezdíček
rikenbekr:12.11.2016 21:36

V tom případě jak si stojí LÖVE? Složitější nebo jednoduší jak C#?

Nahoru Odpovědět
12.11.2016 21:36
In world without fences and walls, who needs Gates and Windows?
Avatar
Jan Bezdíček
Tvůrce
Avatar
Odpovídá na rikenbekr
Jan Bezdíček:12.11.2016 22:13

Porovnavas framework a jazyk ... LÖVE je framework, ktery stoji na LUA. Jinak jsem ho v praxi snad jeste ani nevidel :D

 
Nahoru Odpovědět
12.11.2016 22:13
Avatar
rikenbekr
Člen
Avatar
Odpovídá na Jan Bezdíček
rikenbekr:12.11.2016 22:31

Špatně jsem se vyjádřil. Tak Lua nebo C#, LÖVE .NET Framework?

Nahoru Odpovědět
12.11.2016 22:31
In world without fences and walls, who needs Gates and Windows?
Avatar
Jan Bezdíček
Tvůrce
Avatar
Odpovídá na rikenbekr
Jan Bezdíček:13.11.2016 0:24

Jak jiz nekdo psal vyse .... o C# uz je toho spousta napsano, neni slozity na pochopeni a komunita okolo napr. MonoGame je nemala. Oproti tomu LUA a LÖVE uz na tom tak dobre neni :/

 
Nahoru Odpovědět
13.11.2016 0:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 14 zpráv z 14.