Ïëîõ òîò êîìïüþòåðíûé êðåàòèâùèê, êîòîðûé íè ðàçó â æèçíè íå ìå÷òàë ñîçäàòü ñâîþ èãðó, ñâîé ñîáñòâåííûé ìèð, ãäå âñå áû äâèãàëîñü è âçàèìîäåéñòâîâàëî ïî åãî ïðàâèëàì, ïîä÷èíÿëîñü åãî çàêîíàì, â òîì ÷èñëå è ôèçè÷åñêèì; è ÷òîáû íå îí îäèí, à âñå ãåéìåðû ïëàíåòû èãðàëè â íåå, õâàëèëè ãðàôèêó, ïðåêëîíÿ-ëèñü ïåðåä ñþæåòîì è ïîêóïàëè ëèöåíçèîííûå êîïèè. Ñ ãîäàìè ìíîãèå ìå÷òû èñ÷åçàþò, è íåêîòîðûå äåéñòâèòåëüíî òàëàíòëè-âûå ëþäè ñõîäÿò ñ äèñòàíöèè, óçíàâ, ñêîëüêî âñåãî íóæíî
èçó-÷èòü äëÿ ñîçäàíèÿ êîìïüþòåðíîé èãðû - à çíàòü äåéñòâèòåëüíî íóæíî íåìàëî. Îñíîâíàÿ ïðîáëåìà ñîñòîèò â òîì, ÷òî ïðèäóìû-âàòü ñþæåò - äåëî ñêîðåå äëÿ ëþäåé ñ ãóìàíèòàðíûì ñêëàäîì óìà, â òî âðåìÿ êàê åãî ðåàëèçàöèÿ - çàäà÷à ñìåêàëèñòîãî òåõíà-ðÿ. Åñëè êàêîé-íèêàêîé ñþæåò ìîãóò ïðèäóìàòü ìíîãèå (íî ëó÷-øå èì ýòîãî íå äåëàòü - õðåíîâûõ èãð è òàê õâàòàåò :( ), òî íàéòè õîðîøåãî ñïåöà-ïðîãðàììèñòà äîâîëüíî ñëîæíî. Íåóæåëè âñå êîí÷åíî, è ÷óäåñíûå çàìûñëû òàê è îñòàíóòñÿ èçâåñòíûìè ëèøü ñàìèì èõ êðèýéòîðàì? Íå òîðîïèñü ñ âûâîäàìè. Èòàê, áàðàáàíû îòáèâàþò ìåëêóþ äðîáü... è íà àðåíó âûõîäèò DarkBasic!
Î ÒÎÌ, ÊÀÊ ÄÅËÀÞÒ ÈÃÐÛ
Áýéñèê, ââèäó åãî ìàêñèìàëüíîé ïðîñòîòû ñðåäè ÿçûêîâ ïðî-ãðàììèðîâàíèÿ, èçó÷àåòñÿ â øêîëå.  òî âðåìÿ ÿ, åùå ñîâñåì þíåö, ãðåøíûì äåëîì äóìàë, ÷òî ýòî åäèíñòâåííûé ÿçûê äëÿ ñî-çäàíèÿ ïðîãðàìì. Êàê èçâåñòíî, ó øêîëüíûõ ó÷èòåëåé ëó÷øå âñå-ãî ïîëó÷àåòñÿ îòáèâàòü ó ó÷åíèêîâ èíòåðåñ ê ñâîåìó ïðåäìåòó:
óðîêè èíôîðìàòèêè ñäåëàëè ñâîå ÷åðíîå äåëî è ñî ìíîé - îõîòà ïðîãðàììèðîâàòü ïðîïàëà íà÷èñòî, î ÷åì ÿ íå ðàç ïîçæå æàëåë.
Èñòîðèÿ ïðîñòî áýéñèêà áåðåò ñâîå íà÷àëî ñ 1963 ãîäà, êîãäà íåêèé ÷îêíóòûé ïðîôåññîð Äæ.Êåìåíè :) è åãî øòó-äåíòû âçÿëèñü çà ðàçðàáîòêó ïðîñòîãî ÿçûêà äëÿ íà÷èíàþùèõ ïðîãðàììåðîâ. Ñ òåõ ïîð åãî (ÿçûê) áèëè, ïèíàëè, íåçàñëó-æåííî îáçûâàëè, íî îí âûæèë è ñòàë î÷åíü ïîïóëÿðíûì â ñà-ìûõ ðàçíûõ èïîñòàñÿõ, ïðèîáðåë íåìàëî äèàëåêòîâ è ïðè-ìåíÿåòñÿ â áîëüøèíñòâå ñôåð ïðîãðàììíûõ òåõíîëîãèé. Ãå-Êóäà áîëåå ïîäðîáíî è ïðîôåññèîíàëüíî
ïðî-öåññ ñîçäàíèÿ èãð îïèñàí â êíèãå Ìàðêà Çàëüö-ìàíà Êîìïüþòåðíûå èãðû: êàê ýòî äåëàåòñÿ.
Òîìó, êòî õî÷åò çàíèìàòüñÿ èãðàìè, áåç ýòîé êíèãè ïðîñòî íå îáîéòèñü.  íåé ñîáðàí îïûò ñàìûõ ìàòåðûõ ðàçðàáîò÷èêîâ ìèðîâîãî óðîâíÿ, è çàòðîíóòû ïðàêòè÷åñêè âñå àñïåêòû (õóäîæåñò-âåííûå, òåõíè÷åñêèå, êîììåð÷åñêèå) ðàññìàòðè-âàåìîé òåìû.  êîíöå êîíöîâ, êíèãà ïðîñòî èí-òåðåñíà, è, âîçìîæíî, ñòàíåò ëó÷øèì èñòî÷íè-êîì âäîõíîâåíèÿ è ðóêîâîäñòâîì ê äåéñòâèþ.
Ñðàçó ðàçâåþ çàáëóæäåíèå ìíîãèõ, ñëûøàâøèõ î DarkBasic è ñ÷èòàþùèõ, ÷òî ýòî - èãðîâîé WYSIWYG, ãäå
ìûø-êîé ïåðåòàñêèâàþòñÿ îáúåêòû, ùåëêàåòñÿ ïàðà êíî-ïîê, è èãðà ãîòîâà ê óïîòðåáëåíèþ. Íåò, ýòî
áû-ëî áû ÑËÈØÊÎÌ ïðîñòî, ÿ áû äàæå ñêàçàë - ïîäîçðèòåëüíî ïðîñòî. Ïðàâäà, òàêàÿ
ïðîãðàììà òàêæå ñóùåñòâóåò, íàçûâàåòñÿ îíà Êîíñòðóêòîð 3D èãð, íî ìûñëÿùèå ëþäè ïîíèìàþò, ÷òî òàêîé ñïîñîá ñèëüíî îãðàíè÷èâàåò òâîð÷åñêóþ ñâîáîäó, è ÷òî-ëèáî ñåðüåçíîå èì âðÿä ëè ñäåëàåøü.
DarkBasic, â îòëè÷èå îò Êîíñòðóêòîðà -ýòî ñðåäà ïðîãðàììèðîâàíèÿ, âñåãî ëèøü êîíå÷íûé èíñòðóìåíò ôîðìèðîâàíèÿ èãðî-âîãî ïðîäóêòà.
Ïîïðîáóåì ïðåäïîëîæèòü, êàê ñîçäàåòñÿ ïðè-ëè÷íàÿ êîìïüþòåðíàÿ èãðà îò íà÷àëà è äî êîíöà.
Äëÿ íà÷àëà íå ïîìåøàëî áû îïðåäåëèòüñÿ ñ æàíðîì, êîèõ íåìàëî - ðàçíîãî ðîäà ñòðàòåãèè, êâåñòû,
3D-øó-òåðû, ÐÏÃ èëè ÷òî-íèáóäü åùå. Çàòåì ïèøåòñÿ ëåãåí-äà, ñþæåò - èõ ìîæíî áðàòü èç êíèã, ôèëüìîâ,
ðå-àëüíûõ ñîáûòèé ëèáî èç ñîáñòâåííîé ãî-ëîâû. Ñîñòàâëÿåòñÿ îïèñàíèå
çàäåéñòâî-âàííûõ ïåðñîíàæåé, ëàíäøàôòîâ, èíòå-ðüåðà, ïî êîòîðûì õóäîæíèêè,
äèçàé-íåðû, òðåõìåðùèêè ñîçäàþò áýêãðàóíäû è ìîäåëè. Ïðÿìî â ôàé-ëû òðåõìåðíûõ ñöåí âïèñûâàþòñÿ ñêðèïòû õàðàêòåðíûõ äâèæå-íèé ïåðñîíàæåé (ïîâòîðÿþùèåñÿ äâèæåíèÿ - õîäüáà, áåã, ñòðåëü-áà, ïðûæîê), êîëûõàíèÿ äåðåâüåâ è ïðî÷èå äåêîðàòèâíûå äâèæå-íèÿ. Íåõèëîå çíà÷åíèå èìååò ôîíîâàÿ ìóçûêà è çâó÷êè, ïîäî-áðàòü êîòîðûå îõ êàê íåïðîñòî (â ýòîé ñâÿçè ìîæíî ïðèâåñòè â ïðèìåð ðàññêàç ñîçäàòåëåé èãðû Bestiary, êîòîðûå äëÿ ïðàâäî-ïîäîáíîé çàïèñè çâóêà â intro ïîëêèëîìåòðà áåæàëè ñ ìèêðîôî-íîì çà ëåòÿùåé ïî âåòðó ãàçåòîé). Òîëüêî ïîòîì â äåëî âñòóïàþò ïðîãðàììèñòû, ðåàëèçóþùèå ïðàâèëüíîå ðàçâèòèå õîäà èãðû, ðå-àêöèþ îáúåêòîâ íà ñîáûòèÿ è èõ âçàèìîäåéñòâèå. Ðàçëè÷íûõ íþ-àíñîâ çäåñü öåëîå ìîðå, è ÿ áîþñü äàæå ïðåäïîëîæèòü, ñ êàêèìè òðóäíîñòÿìè ïðèõîäèòñÿ ñòàëêèâàòüñÿ íà ýòîì ýòàïå.  îáùåì, ñî-çäàíèå èãðû - äåëî ÷ðåçâû÷àéíî ñåðüåçíîå, íî, ïî ïðèçíàíèÿì ðàçðàáîò÷èêîâ, îâ÷èíêà ñòîèò âûäåëêè. Âî ìíîãèõ èíòåðâüþ
èçâå-ñòíûõ èãðîâûõ ïðîãðàììèñòîâ îíè ðàññêàçûâàþò î òîì, êàê çàòÿ-ãèâàåò êðåàòèâíûé ïðîöåññ, è ÷òî âñå ó÷àñòíèêè çàáûâàþò î òàêîì ïîíÿòèè, êàê âîñüìè÷àñîâîé ðàáî÷èé äåíü è ñèäÿò äî ñàìîãî óòðà çà êîìïîì íà êîêà-êîëüíîé äèåòå, ñî÷èíÿÿ îðèãèíàëüíûå àëãîðèò-ìû, ñîñòàâëÿÿ ïðîãðàììíûå êîíñòðóêöèè è îòëàæèâàÿ êîä. À ïî-òîì ñ êðàñíûìè, íî àçàðòíûìè ãëàçàìè ëþáóþòñÿ öèôðîâûì çðå-ëèùåì, è ýòî ÷óâñòâî, ñõîäíîå çðåëèùó ðîæäåíèÿ ñûíà, òðóäíî ïåðåäàòü - åãî íóæíî ïåðåæèòü ñàìîìó.
Êóäà áîëåå ïîäðîáíî è ïðîôåññèîíàëüíî ïðîöåññ ñîçäàíèÿ èãð îïèñàí â êíèãå Ìàðêà Çàëüöìàíà Êîìïüþòåðíûå èãðû:
êàê ýòî äåëàåòñÿ. Òîìó, êòî õî÷åò çàíèìàòüñÿ èãðàìè, áåç ýòîé êíèãè ïðîñòî íå îáîéòèñü.  íåé ñîáðàí îïûò ñàìûõ ìàòåðûõ ðàçðàáîò÷èêîâ ìèðîâîãî óðîâíÿ, è çàòðîíóòû ïðàê-òè÷åñêè âñå àñïåêòû (õóäîæåñòâåííûå, òåõíè÷åñêèå,
êîììåð-÷åñêèå) ðàññìàòðèâàåìîé òåìû.  êîíöå êîíöîâ, êíèãà ïðî-ñòî èíòåðåñíà, è, âîçìîæíî, ñòàíåò ëó÷øèì èïðî-ñòî÷íèêîì âäîõíîâåíèÿ è ðóêîâîäñòâîì ê äåéñòâèþ.
Êàê ðàç íà ýòîì ñàìîì óâëåêàòåëüíîì ýòàïå DarkBasic ìîæåò ñóùåñòâåííî îáëåã÷èòü æèçíü îïûòíûì áîéöàì ïðîãðàììèí-ãà, à äëÿ íà÷èíàþùèõ ñäåëàòü âîçìîæíûì âîïëîùåíèå â æèçíü ñâîåãî ïåðâîãî ïðîåêòà - èìåííî äëÿ ýòîãî îí è ñîçäàâàëñÿ àí-ãëèéñêîé êîìïàíèåé DarkBasic Software Ltd. Åå öåëüþ áûëî ñäåëàòü òàêóþ ñðåäó ïðîãðàììèðîâàíèÿ, êîòîðàÿ áûëà áû îä-íîâðåìåííî ïðîñòîé è äîñòàòî÷íî ìîùíîé, òî åñòü óäîâëåòâî-ðÿòü ñïåöîâ ñàìîãî ðàçíîãî óðîâíÿ. Îñíîâàííûé íà ñòàðîì äîáðîì áýéñèêå, DarkBasic â íàñòîÿùåå âðåìÿ ïîääåðæèâàåò áîëåå 650 êîìàíä è èñïîëüçóåò âîçìîæíîñòè DirectX, áåç ÷åãî íå ìûñëèòñÿ áîëüøèíñòâî ñîâðåìåííûõ ãåéìîâ. Ó DirectX íå-ñêîëüêî ñîñòàâëÿþùèõ: DirectDraw - óñêîðåíèå îòîáðàæåíèÿ äâóìåðíîé ãðàôèêè, Direct3D - òðåõìåðíîé, DirectSound - ðà-áîòà ñî çâóêîì, è íåñêîëüêî äðóãèõ. DirectX - ýòî ñïåöèàëüíàÿ ôè÷à, ïðèäóìàííàÿ ïî÷òè ñïåöèàëüíî äëÿ èãðóøåê ïîä Âèíäî-óç, à Direct3D íå äàñò âèäåîóñêîðèòåëÿì ïûëèòüñÿ áåç äåëà :).
ÍÀÑÒÀËÎ ÂÐÅÌß ÏÅÐÅÉÒÈ Ê ÎÁÑËÅÄÎÂÀÍÈÞ ÏÀÖÈÅÍÒÀ ÄÀÐÊÁÝÉÑÈÊÀ.
Êðåàòèâ
073 Êàê ðàç íà ýòîì ñàìîì óâëåêàòåëüíîì ýòàïå
DarkBasic ìîæåò ñóùåñòâåííî îáëåã÷èòü æèçíü îïûòíûì áîéöàì ïðîãðàììèíãà, à äëÿ
íà÷èíàþùèõ ñäåëàòü âîçìîæíûì âîïëîùåíèå â æèçíü ñâîåãî ïåðâîãî ïðîåêòà - èìåííî äëÿ ýòîãî îí è ñîçäàâàëñÿ àíãëèéñêîé êîìïàíèåé DarkBasic Software Ltd.
ÄÐÓÆÅËÞÁÍÛÉ ÈÍÒÅÐÔÅÉÑ
Èíòåðôåéñ ïðîãðàììû, êàê ãîâîðèòñÿ, äðóæåñòâåííûé, à ýòî çíà÷èò, ÷òî îí ïîâåðíóò ê ïîëüçîâàòåëþ ëèöîì, à íå çàäîì.
Íèêàêèõ ëèøíèõ íàâîðîòîâ è êíîïî÷åê, ãîäÿùèõñÿ òîëüêî íà òî, ÷òîáû ñáèòü ÷åëà ñ òîëêó - òîëüêî ÷åðíîå îêíî è áåëûå áó-êîâêè, êàê â ñòàðûå äîáðûå âðåìåíà. Ãîâîðÿò, òàê áûëî ñäåëà-íî, ÷òîáû ïîëüñòèòü ñòàðèêàì èãðîâîé èíäóñòðèè, äëÿ êîòîðûõ ìîíèòîð CGA â èõ áîåâûå ãîäû áûë íåâèäàííîé ðîñêîøüþ, à ïðî 3D-óñêîðèòåëè ìîæíî áûëî ïî÷èòàòü òîëüêî â íàó÷íî-ôàíòàñòè÷åñêèõ êíèæêàõ. Ñîáñòâåííûé ðåäàêòîð ÄàðêÁýéñèêà ðàáîòàåò â ïîëíîýêðàííîì ðåæèìå ñ ðàçðåøåíèåì 640X480.
Äëÿ ñîâðåìåííîé ìîëîäåæè, èçáàëîâàííîé äåäîì Ìàñòäàåì aka Windows è ïðèâûêøåé ê êîñìè÷åñêèì ðàçðåøåíèÿì, ñóùå-ñòâóåò áåñïëàòíûé àëüòåðíàòèâíûé ðåäàêòîð DarkEdit, âõîäÿ-ùèé â ëèöåíçèîííóþ êîïèþ DB, à åãî ñâåæóþ âåðñèþ âñåãäà ìîæíî ñêà÷àòü ñ ñàéòà http://darkedit.nmisoftware.com.
Ñàì ïî ñåáå äàííûé ðåäàêòîð ðàáîòàåò òîëüêî ñ èñõîäíèêà-ìè, îí íå èíòåðïðåòèðóåò, íå êîìïèëèðóåò êîä è íå äåëàåò exe-øíèêîâ; îäíàêî åñëè ÄÁ óñòàíîâëåí íà êîìïå, ýòè ôóíê-öèè ñòàíîâÿòñÿ äîñòóïíûìè. DarkEdit ïîçâîëÿåò îáîéòè íå-êîòîðûå îãðàíè÷åíèÿ ÄÁ: íàïðèìåð, ðàáîòà ñ áîëüøèì, ÷åì äâà, êîëè÷åñòâîì ïðîåêòîâ îäíîâðåìåííî.
Òå, êòî âèäåë ïðîãó ÄàðêÁýéñèê â äåéñòâèè, íàâåðíÿêà çàìå-òèë êíîïî÷êó CLI â ïðàâîì âåðõíåì óãëó, çàïóñêàþùóþ êî-ìàíäíóþ ñòðîêó (Command Line Interface). Ýòó øòóêó íà îä-íîì èç àíãëèéñêèõ ñàéòîâ ïî ÄÁ íàçûâàþò íîâûì îðóæèåì â áèòâå çà ìèð ïðîãðàììèðîâàíèÿ. Äåëî â òîì, ÷òî äëÿ
ñî-çäàíèÿ ïðîãðàììû ïèøåòñÿ ïîñëåäîâàòåëüíîñòü êîìàíä, åå ñîñòàâëÿþùèõ, è çàïóñòèòü ìîæíî òîëüêî ïðîãðàììó öåëè-êîì. Òàêèì îáðàçîì, åñëè ãäå-òî ñòóïîð, òî íàéòè íåïîëàäêó èíîãäà áûâàåò äîâîëüíî ñëîæíî. CLI ïîçâîëÿåò îáîéòè ýòó òðàáëó: êîìàíäà çàïèñûâàåòñÿ â êîìàíäíîé ñòðîêå è òóò æå çàïóñêàåòñÿ. Ðåçóëüòàò - íàëèöî ;). Â êîìàíäíîé ñòðîêå ðåàëü-íî íàïèñàòü äàæå ïðîñòåíüêóþ èãðóëüêó (òèïà Quake 3 :)).
ÓÑÊÎÐÅÍÍÀß ÏÎÌÎÙÜ
Âñòðîåííàÿ ñèñòåìà ïîìîùè - ýòî öåëàÿ ïåñíÿ. Åäèíñòâåííîå,
÷åãî îíà íå ïîçâîëÿåò äåëàòü - ýòî çàíèìàòüñÿ ñ íåé ëþáîâüþ :). Íî ñî ñâîåé îñíîâíîé çàäà÷åé îíà ñïðàâëÿåòñÿ âåñüìà óñ-ïåøíî, áîëåå ïîäðîáíîãî îïèñàíèÿ ÿ åùå íå âèäåë. Ïîñêîëü-êó ïðîãà èçíà÷àëüíî çàäóìûâàëàñü äëÿ ïîëíûõ ÷àéíèêîâ, çäåñü åñòü è îáúÿñíåíèå îñíîâíûõ ïðèíöèïîâ ïðîãðàììèðîâàíèÿ, è ãëîññàðèé èãðîâûõ ïðîãðàììíûõ òåðìèíîâ, è îïèñàíèå âñåõ îïåðàòîðîâ, à òàêæå äîáðîòíàÿ áèáëèîòåêà óðîêîâ, êàæäûé èç êîòîðûõ ñîäåðæèò ïðèìåðû êîäà. Ñàìà ïîìîùü îðãàíèçîâàíà òàê, ÷òî â ëþáîå âðåìÿ îò ÷òåíèÿ ìîæíî ïåðåéòè ê ïðîâåðêå ïîëó÷åííûõ çíàíèé îäíèì êëèêîì ìûøè.
Çàìåòü, â ïîñòàâêó ÄÁ âõîäèò è áóìàæíàÿ êíèæêà â 244
ñòðà-ëåçíîé èíôîé è ïîäðîáíûì ðóêîâîäñòâîì ïî ñîçäàíèþ 3D èãð. Ñêàæåì, îáúÿñíÿåòñÿ àëãîðèòì è ïðèâîäèòñÿ ó÷àñòîê êî-äà èãðû îò òðåòüåãî ëèöà - êàê è â êàêîì ïîëîæåíèè çàôèê-ñèðîâàòü êàìåðó, êàê îáíàðóæèâàòü ñòîëêíîâåíèÿ îáúåêòîâ, íàêëàäûâàòü òåêñòóðû è ò.ä. è ò.ï. Ñëåäóåò îòäàòü äîëæíîå ðåáÿòàì èç ÌåäèàÕàóç, äîáðîñîâåñòíî ïåðåâîäèâøèì âåñü ýòîò îáúåìíûé òåêñòîâûé ìàòåðèàë.  áóäóùåì îíè îáåùàþò âûïóñêàòü ñïåöèàëüíûå ðóêîâîäñòâà è âûêëàäûâàòü íà ñàéòå www.darkbasic.ru.
Íà âòîðîì äèñêå ÄÁ åñòü íàáîð àðõèïîëåçíûõ óòèëèò äëÿ ïîäãîòîâêè ñîñòàâëÿþùèõ èãðû:
3D Explorer - èñïîëüçóåòñÿ äëÿ ïðîñìîòðà 2D- è 3D-îáúåêòîâ;
3D Canvas - èñïîëüçóåòñÿ äëÿ ðåäàêòèðîâàíèÿ 3D-îáúåêòîâ;
ACDSee - ïîïóëÿðíàÿ ïðîãðàììà äëÿ ïðîñìîòðà ãðàôè÷åñêèõ ôàéëîâ;
Cdex - êîíâåðòîð àóäèî-ôàéëîâ;
Cool Edit 2000 - ðåäàêòîð àóäèî-ôàéëîâ;
Doga - ðåäàêòîð îáúåêòîâ;
Evolution Sound Studio - ðåäàêòîð ìóçûêàëüíûõ ôàéëîâ;
Music Master Works - ðåäàêòîð ìóçûêàëüíûõ ôàéëîâ;
Paint Shop Pro 7 - ðåäàêòîð 2D ðàñòðîâûõ èçîáðàæåíèé;
... è ïàðà àðõèâàòîðîâ â íàãðóçêó :).
ÒÅÌÍÀß ÑÈËÀ ÄÀÐÊÁÝÉÑÈÊÀ
Äóìàþ, òåáå íåáåçûíòåðåñíî óçíàòü î ðåàëüíûõ âîçìîæíîñ-òÿõ ÄàðêÁýéñèêà. Âîçìîæíîñòè ïðàêòè÷åñêè íåîãðàíè÷åííû - âàæíî òîëüêî çíàòü, ÷åãî õî÷åøü, è ïðèìåðíî ïðåäñòàâëÿòü àëãîðèòì ðàáîòû òîãî èëè èíîãî äåéñòâèÿ. Äðóãîé âîïðîñ, ñêîëüêî ïðèäåòñÿ ïûõòåòü íàä âîïëîùåíèåì. Íî äëÿ ïðèìåðà ÿ õîòåë áû ïðèâåñòè íåáîëüøîé êîä, êîòîðûé ñîçäàåò è
âðà-Äâà âåëèêèõ èçîáðåòåíèÿ, èçâåñòíûõ
÷åëîâå÷åñòâó - ýòî êîëåñî è DarkBasic :).
ùàåò êóá â òðåõìåðíîì ïðîñòðàíñòâå ïî îñÿì X è Y (ýòîò êîä áûë íà îôèöèàëüíîì ñàéòå ÄÁ - www.darkbasic.com):
make object cube 1,100 for x=1 to 360
rotate object 1,x,x,0 next x
×òî ìû âèäèì? Ïåðâàÿ ñòðîêà ñîçäàåò êóá (â ÄÁ åñòü âñòðî-åííûå ïðèìèòèâû). Âòîðàÿ íà÷èíàåò öèêë, X ñòàðòóåò ñî
çíà-÷åíèåì 1 è áóäåò óâåëè÷èâàòüñÿ ñ øàãîì 1 äî 360. Òðåòüÿ
ñòðîêà ïîâîðà÷èâàåò îáúåêò êóá íà îäèí ãðàäóñ îäíîâðåìåííî ïî îñè X è Y. Ïîñëåäíÿÿ ñòðîêà óâåëè÷èâàåò çíà÷åíèå X íà îäèí è îòñûëàåò êî âòîðîé, è âðàùåíèå ïðîäîëæàåòñÿ. ×åòû-ðå ñòðî÷êè - à ñêîëüêî ðàäîñòè :).
Êàê ÿ óæå ãîâîðèë, ÄÁ ïîçâîëÿåò ïîëüçîâàòüñÿ äàðàìè DirectX, íå âäàâàÿñü â åãî äåòàëüíîå èçó÷åíèå, ñ ïîìîùüþ íà-áîðà ïðîñòûõ êîìàíä. ßçûê ïîääåðæèâàåò ëþáîé ãðàôè÷åñ-êèé ðåæèì, íî íå óñòàðåâøèé âîñüìèáèòîâûé (êàê îáúÿñíèëè ðàçðàáîò÷èêè, äëÿ íà÷èíàþùèõ ýòî íå äàëî áû íè÷åãî, êðîìå îñòðîãî ãåìîððîÿ). Ñ èìïîðòîì ãðàôè÷åñêèõ ôîðìàòîâ òàê-æå âñå â ïîðÿäêå - çàãðóæàþòñÿ ôàéëû ôîðìàòà BMP, RLE, DIB, DDS, JPG, PCX, PNG, PSD, TGA, TIFF, åñòü âîçìîæ-íîñòü ïðèìåíèòü öåëûé ðÿä ýôôåêòîâ: çåðêàëüíîå îòîáðàæå-íèå (Mirror), ðàñòÿæåîòîáðàæå-íèå (Stretch), ðàçìûâàîòîáðàæå-íèå (Blur) è çàòó-õàíèå (Fade ), è òàêîé âàæíûé ýôôåêò, êàê ïðîçðà÷íîñòü.
Îñîáîå âíèìàíèå óäåëåíî òðåõìåðíîé ãðàôèêå. Íèæå òû
âè-äèøü âïå÷àòëÿþùèå 3D ñâîé-ñòâà ÄÁ:
Ïîääåðæêà 3DS è XOF ôàéëîâ Ëàíäøàôòíûå ïðåîáðàçîâàíèÿ Âñòðîåííûå 3D-ïðèìèòèâû Äèíàìè÷åñêàÿ ìîäåëü âñåëåííîé Ïðîâåðêà íà êîððåêòíîñòü âçà-èìîäåéñòâèÿ ïîëèãîíàëüíûõ îáúåêòîâ
Ïðåîáðàçîâàíèÿ ìîäåëåé Àíèìàöèÿ ìîäåëåé Ôèëüòðàöèÿ òåêñòóð Ïîääåðæêà àëüôà-êàíàëà Ðåàëüíîå âçàèìîäåéñòâèå ñ îáúåêòàìè.
Ìîäåëè 3D Ìàêñà çàãðóæàþò-ñÿ â ÄàðêÁýéñèê ïðÿìî ñ àíè-ìàöèåé. Íåîáõîäèìîñòü ýòîé ôè÷è ìîæíî ïîêàçàòü íà ïðî-ñòîì ïðèìåðå: åñëè íóæíî ðå-àëèñòè÷íî èçîáðàçèòü ïåðñî-íàæ, èäóùèé ïî ïëîñêîñòè, íóæíî âûïîëíèòü äâà óñëîâèÿ:
çàñòàâèòü åãî ïåðåäâèãàòü íîãè è ïåðåìåùàòü â ïðîñòðàíñòâå.
È åñëè âòîðîå ðåàëèçóåòñÿ áåç ïðîáëåì, òî ïåðâîå ñäåëàòü ñðåäñòâàìè ÄàðêÁýéñèêà - íà-ñòîÿùèé àä. Êàæäàÿ ïðîãðàì-ìà äîëæíà âûïîëíÿòü ñâîè
÷åòêî îáîçíà÷åííûå ôóíêöèè, à ñëîæíàÿ àíèìàöèÿ â îáÿçàí-íîñòè ÄÁ íå âõîäèò ;).
Áîëüøèå ñöåíû, òàêèå êàê ëàíäøàôò ìåñòíîñòè, òàêæå
ìîæíî ãîòîâèòü â êàêîì-ëèáî 3D ðåäàêòîðå, íî ìîæíî îáîé-òèñü è ñîáñòâåííûìè ñðåäñòâàìè. Èíîãäà ýòî äàæå íåîáõîäè-ìî - â ñëó÷àå, êîãäà òðåáóåòñÿ ñëó÷àéíûé ëàíäøàôò. Äëÿ ýòî-ãî ñîçäàåòñÿ îáúåêò ìàòðèöà - îíà ñîçäàåò ýôôåêò áåñêîíå÷-íîñòè. Çàòåì íà íåå íàêëàäûâàåòñÿ òåêñòóðà è óñòàíàâëèâàþò-ñÿ îáúåêòû.
×åãî â ÄÁ íå áûëî äî íåäàâíåãî âðåìåíè - ýòî âîçìîæíîñòè ñîçäàâàòü ìíîãîïîëüçîâàòåëüñêèå èãðû. Íî ñ ïîÿâëåíèåì êîìïàêò-äèñêà DarkMatter, ñîäåðæàùåãî àïãðåéä ïîä íàçâà-íèåì DarkBASIC Enhancement Pack, ýòà ïðîáëåìà ðåøåíà.
ÄÎÁÐÎ ÏÎÆÀËÎÂÀÒÜ Â ÎÐÃÀÍÛ, ÑÛÍÎÊ
Èòàê, òû ðåàëüíî îöåíèë òî, íà ÷òî ñïîñîáåí DB ñ òâîåé ïî-ìîùüþ (èëè òû ñ åãî :)). Ñàìîå ãëàâíîå - ïîáåäèòü ëåíîñòü ìîçãîâ è äîáèâàòüñÿ òîãî, î ÷åì ìå÷òàë. Òîãäà òî è ïðèäåò òî ñàìîå ÷óâñòâî ðîæäåíèÿ öèôðîâîãî äåòèùà, î êîòîðîì ÿ ïè-ñàë â íà÷àëå ýòîé ñòàòüè. Çíàé, ÷òî òû íå îäèí, è åñëè òû âäðóã ñòîëêíóëñÿ ñî ñëîæíîñòÿìè, ïðîñòî íàïèøè ïî íóæíî-ìó àäðåñó, êîòîðûé óêàçàí íà www.darkbasic.ru ëèáî âûñêà-æèñü â ôîðóìå - è òåáå îáÿçàòåëüíî ïîìîãóò.
Èíòåðíåò-ðåñóðñîâ, ïîñâÿùåííûõ ÄÁ, â íàñòîÿùåå âðåìÿ äî-ñòàòî÷íî ìíîãî, è äóìàþ, ñêîðî ñòàíåò åùå áîëüøå. Ïðàâäà, áîëüøèíñòâî èç íèõ àíãëîÿçû÷íûå (ÿ íå óñòàíó ïîâòîðÿòü -ó÷è àíãëèéñêèé, è æèçíü ñòàíåò ëåã÷å :)). Èç ñàéòîâ îòå÷åñò-âåííîãî ïðîèçâîäñòâà ìîãó íàçâàòü íåïîñðåäñòâåííî ðîäíîé ñåðâåð ïðîãðàììû è www.darkbasic.narod.ru, ïîääåðæèâàå-ìûé îäíèì ñîîáðàçèòåëüíûì ïàðíåì.
Åñëè çàãëÿíåøü íà www.darkbasic.ru, íàâåðíÿêà îáðàòèøü âíèìàíèå íà ñîîáùåíèÿ î êîíêóðñå íà ëó÷øóþ èãðó, ñîçäàí-íóþ ñ ïîìîùüþ ÄÁ. Ñóòü åãî òàêîâà: ñîçäàòü îäèí ïîëíî-ñòüþ ðàáîòàþùèé óðîâåíü èãðû ëþáîãî æàíðà è ïîñëàòü â ëþáîì âèäå â êîìïàíèþ ÌåäèàÕàóç. Ïîáåäèòåëè ïîëó÷àò íåïëîõèå êîìïüþòåðíûå æåëåçÿêè, à ãëàâíûé ïðèç... Ìíå êà-æåòñÿ, òåáå áûëî áû èíòåðåñíî ïîîáùàòüñÿ ñ
ðàçðàáîò÷èêà-ìè Ìàêñà Ïýéíà ;)? A
Èíòåðôåéñ ïðîãðàììû, êàê ãîâîðèòñÿ, äðóæåñò-âåííûé, à ýòî çíà÷èò, ÷òî îí ïîâåðíóò ê ïîëüçî-âàòåëþ ëèöîì, à íå çàäîì. Íèêàêèõ ëèøíèõ íà-âîðîòîâ è êíîïî÷åê, ãîäÿùèõñÿ òîëüêî íà òî,
÷òîáû ñáèòü ÷åëà ñ òîëêó - òîëüêî ÷åðíîå îêíî è áåëûå áóêîâêè, êàê â ñòàðûå äîáðûå âðåìåíà.
075