Page 1 of 2

skriptošana

Posted: 22 Jun 2011, 00:20
by kristapuciitis
Ja cilvēks māk taisīt pluginus priekš CS 1.6, tad tas kaut kādā veidā var noderēt Gamedevā??

Re: skriptošana

Posted: 22 Jun 2011, 00:33
by CodeWolf
Domāju ka nē, ja nu vienīgi lua skriptu raksstīšana.. tikai īsti neatminos vai lua faili bija saistiti ar cs pluginiem.. :?

Re: skriptošana

Posted: 22 Jun 2011, 00:42
by kristapuciitis
Nē, tur izmantojot AmxModX un jākodē Pawn valodā. Pēc kompilācijas ir .amxx fails.

Re: skriptošana

Posted: 22 Jun 2011, 00:49
by CodeWolf
nu spēli jau no AmxModX neizveidosi...
varbūt kādus "plaginus,moodus.." hl spelem , bet neko vairāk. :|

Re: skriptošana

Posted: 22 Jun 2011, 11:23
by bubu
Geimdevā (ja runā no programmēšanas puses) noder jebkas, kas saistīts ar programmēšanu. Ja māki taisīt pluginus CS'am, un ja tas ietver programmēšanu (algoritmi, datu struktūras, utml), tad tas noderēs. Programmēšanas valoda un sintakse ir nieks, to var iemācīties dažās dienās. Galvenais ir domāšanas veids un saprašana par to, ko nozīmē programmēt.

Re: skriptošana

Posted: 25 Jun 2011, 21:02
by DeRatizator
Tikko atgriezos no Paris Game/Ai konferences. Tur Matthew Jack presentēja tooli ar kuru var "skriptot" pa taisno C++.
Drīz jākļūst pieejamam rīkam priekš Win bez maksas.
Līdzīgi kā modify & resume debugerī tikai daudz ērtāk un jēdzīgāk, jo viņa piedāvātais variants ļauj arī pievienot memberus.
Demo, ko redzēju, darbojās ar MSVC bez problēmām.

To rīku prezentēja mums pirmajiem, cik sapratu, viņi gaida iespēju paspīdēt vēl pāris konferencēs, pirms to publiskot.
Patreiz izskatās, ka Lua ceļš geimdevā ir beidzies :)

Re: skriptošana

Posted: 26 Jun 2011, 12:08
by bubu
Nu skriptojot C++'ā nāksies kodu pārkompilēt, ne? Tad jau tā nav skriptošana. Afaik skriptošanas jēga jau tieši ir, lai nevajadzētu pārbūvēt spēli un lai varētu kodu (skriptus) glabāt un mainīt kā datus (tāpat kā tekstūras utml).

Re: skriptošana

Posted: 26 Jun 2011, 12:40
by DeRatizator
bubu wrote:Nu skriptojot C++'ā nāksies kodu pārkompilēt, ne? Tad jau tā nav skriptošana. Afaik skriptošanas jēga jau tieši ir, lai nevajadzētu pārbūvēt spēli un lai varētu kodu (skriptus) glabāt un mainīt kā datus (tāpat kā tekstūras utml).
Kompilēšana tas kāds bubulis ? Ir jāpārkompilē, jā. Bet ne viss projekts. Tieši tur arī ir tā tūļa jēga :)
Nemāku sīkāk pastāstīt, jo man nav demo, bet prezentācija noritēja aptuveni šādi:

Ir spēļuks, kas jau griežas.
Spēļuku apstādina ar debugeri, pieraksta klāt jaunas metodes, memberus un kodu.
Palaiž tooli un tas pārkompilē tikai vajadzīgos failus, kaut ko pārlinko.
Spēļuks turpina griezties no tās pašas vietas kur apstādināts, tik ar jauno funkcionalitāti.

Re: skriptošana

Posted: 26 Jun 2011, 13:07
by snake5
Ar LTCG un citām optimizācijām daudz neizdosies pārkompilēt - kompilētājs jau ir daudzas funkcijas izgriezis uz otru pusi un sakopējis visur, kur inline vajag*. Bet bez tām viss iegūtais laiks tiks iztērēts manuāli optimizējot programmu, lai to varētu lietot kopā ar šādu rīku.

*Neteiktu, ka būtu neiespējami salabot kodu visās vietās un veidos, bet pavisam noteikti pazudīs C++ ļoti svarīgā precizitāte - iespēja pārbaudīt katru koda līniju (nav dzirdēts, ka kāds spēj veiksmīgi pārnest programmas stāvokli pilnībā no viena koda uz pavisam citu). Bez tās - pārkompilēt gandrīz neiespējami, ja uzbrauc virsū, piemēram, kaut kādam assert'am.

Ja būtu iespēja apturēt optimizētu programmu tikai ārpus labojamā koda, tad izskatītos ticamāk. Bet maza jēga no tā būtu - skriptošana jau to piedāvā.

Re: skriptošana

Posted: 26 Jun 2011, 13:38
by DeRatizator
snake5 wrote:Ar LTCG un citām optimizācijām daudz neizdosies pārkompilēt - kompilētājs jau ir daudzas funkcijas izgriezis uz otru pusi un sakopējis visur, kur inline vajag*. Bet bez tām viss iegūtais laiks tiks iztērēts manuāli optimizējot programmu, lai to varētu lietot kopā ar šādu rīku.

*Neteiktu, ka būtu neiespējami salabot kodu visās vietās un veidos, bet pavisam noteikti pazudīs C++ ļoti svarīgā precizitāte - iespēja pārbaudīt katru koda līniju (nav dzirdēts, ka kāds spēj veiksmīgi pārnest programmas stāvokli pilnībā no viena koda uz pavisam citu). Bez tās - pārkompilēt gandrīz neiespējami, ja uzbrauc virsū, piemēram, kaut kādam assert'am.

Ja būtu iespēja apturēt optimizētu programmu tikai ārpus labojamā koda, tad izskatītos ticamāk. Bet maza jēga no tā būtu - skriptošana jau to piedāvā.
Nezinu vai tas rīks izmanto LTCG MSVC gadījumā, jo rīks tiek veidots visām platformām.
Skripti ir lēni un skriptošana nevienmēr ir atļauta. Pieejas ideja ir ļaut ātri redzēt rezultātu izstrādes procesa laikā lietojot tikai C++.
Neviens neliegs tev beigās visu pārkompilēt (kad būsi veicis savas 1000 mazās gameplay izmaiņas ar to rīku).