LINUX.ORG.RU
 

Создание игр для linux


0

1

На сайте http://plg.lrn.ru открылся проект Programming Linux Games, посвященный созданию игр для linux. Хорошая документация по SDL и обзоры других полезных библиотек, примеры, ссылки на англоязычные ресурсы. Мне кажется, что этот проект достоен внимания :-)

>>> Подробности

ПОСАДИ КОМПЬЮТЕР НА ЦЕПЬ И ЗАСТАВЬ ЛАЯТЬ!

домашняя автоматизация: сделай сам; лучший подарок для техногика

http://www.unicontrollers.com/products/unc01x

[#]  

Re: Создание игр для linux

этой доке сто лет в обед

anonymous ()
[#] Ответ на: Re: Создание игр для linux от anonymous 25.10.2003 23:13:29  

Re: Re: Создание игр для linux

Какой именно? по SDL ? если что, _я написал_ этот док совсем недавно и всё время обновляю, добавляю новые главы... Может быть ты не понял про какой док идёт речь? Кстати там есть кое чё из других источников (англоязычных) причём это всё улажено с авторами оригиналов с которыми я давно и плодотворно общаюсь!

anonymous ()
[#]  

AMD Bus Disconnect заработал

Хороший сайт.
Как раз хороших игр под линуксом нехватает, а это - главная составляющая популярности винды у народа. Не с офисами и фотошопами а именно с игрушками туда переселится домашний пользователь, иначе, даже будь на работе один сплошной юникс - дома он все равно будет гонять родную пиратскую виндозу.
Главное что может сделать линукс и игровой платформой #1 - качественные открытые библиотеки. Под win32 подавляющее число разработчиков вынуждено изобретать велосипед по 1000 раз. Возьмем для примера онлайновые RPG - что ни новый проект, то новый движек с его мучительной отладкой даже после официального старта. Вообще, приличные MMORPG можно пересчитать по пальцам. Будь код открытым - онлайн вселенных было бы не меньше чем шардов ультимы, с самой замечательной графикой и разнообразным контентом. Они строились бы как конструкторы на базе 2-3 движков - тогда бы дело дошло и до оригинальной и продуманной игровой системы и искусственного интеллекта.

Не стоит лицемерить, считая гемерство чем то недостойным. Уверен, что через пару десятков лет главные голливудские миллиарды будут крутится именно там, а мувисы станут тем, чем являются сейчас радиопьесы. Модели и дизайнеры сменят кинозвезд, операторы пересядут к мониторам, остальное останется тем же - звукорежиссеры и композиторы, продьюсеры и режиссеры, сценаристам придется отойти от статичных сюжетов, освоить скрипты, AI, многовариантные или вообще свободно развивающиеся сцены.. Сам же бизнес сильно не изменится - поменяетя только технология, вроде перехода кинематографа от немого к звуковому или от малоформатного черно-белого к широкоформатному цветному. Личное участие в виртуальных событиях еще больше привяжет обывателя к ящику и заставит потреблять рекламу круглосуточно или даже вообще тратить деньги не отрывая задницы от кресла :) Гибрид телевизора и игрального автомата из казино у каждого дома - настоящая мечта капиталиста :)

* ()
[#]  

Re: Создание игр для linux

хм.. мозилла не тот заголовок прилепила..

* ()
[#] Ответ на: Re: Создание игр для linux от NiKel 26.10.2003 7:19:42  

Re: Re: Создание игр для linux

>хм.. мозилла не тот заголовок прилепила..

Канешна мозилла виноватая, мы так и подумали, дочитав до сочетания AI :-)

anonymous ()
[#] Ответ на: Re: Re: Создание игр для linux от anonymous 26.10.2003 8:49:00  

Re: Re: Re: Создание игр для linux

> дочитав до сочетания AI

AI или нет - интеллектом его трудно будет назвать долго, так что придется приспосабливаться :) Вообще как сейчас народ страдает, разбираясь с опциями, ключами и интерфейсами хитрого софта - будет малиной по сравнению с тем когда получив десятки гигагерц девелоперы начнут лепить этот самый AI налево и направо - придется мучительно искать ответ на вопрос "Ури, где же у него кнопка?" :)

* ()
[#] Ответ на: AMD Bus Disconnect заработал от NiKel 26.10.2003 6:11:00  
tyro

Re: AMD Bus Disconnect заработал

Во тебя колбасит то... А ресурс, действительно, неплохой.

** ()
[#] Ответ на: AMD Bus Disconnect заработал от NiKel 26.10.2003 6:11:00  

Re: AMD Bus Disconnect заработал

>Уверен, что через пару десятков лет главные голливудские миллиарды будут крутится именно там, а мувисы станут тем, чем являются сейчас радиопьесы.

Откровенная глупость. Кинематограф живет и процветает 100 лет. С чего это он должен загнуться через 20 ? Ты напоминаешь того товарища из советского фильма который говорил про то что телевидение вытеснит все.

anonymous ()
[#]  
Esh

Re: Создание игр для linux

В общем мне как-то фиолетово если честно на кинематограф, но сайт я буду развивать! И не потому что даже тема актуальная... Просто я этим живу... И буду жить до тех пор пока не сделаю свою ОС немного FUN! В общем если вы хотите внести вклад в развитие игр для Linux то буду рад вам на сайте! Кстати, как запостили новость так у меня посещаемость побила все рекорды :) Огромное спасибо! Я не подведу! Вернее мы не подведём!

*** ()
[#] Ответ на: Re: Создание игр для linux от Esh 26.10.2003 16:55:13  

Re: Re: Создание игр для linux

про SDL то что мне надо! брателло спасибо за перевод!

anonymous ()
[#]  

Re: Создание игр для linux

Отличный Сайт.. давно не встречал таких...

спасибо Автору!

# ()
[#] Ответ на: Re: AMD Bus Disconnect заработал от anonymous 26.10.2003 15:29:26  

Re: Re: AMD Bus Disconnect заработал

> Ты напоминаешь того товарища из советского фильма который говорил про то что телевидение вытеснит все

ну сколько раз в год люди сейчас ходят в кино?

* ()
[#] Ответ на: Re: Создание игр для linux от logIN 26.10.2003 17:39:05  

Re: Re: Создание игр для linux

ща праверим.. и есле там ананимусы нипреветствуюцца... ух!!

anonymous ()
[#] Ответ на: Re: Re: Создание игр для linux от anonymous 26.10.2003 17:44:23  

Re: Re: Re: Создание игр для linux

ура!!! правельный сайт!!

anonymous ()
[#] Ответ на: Re: Re: AMD Bus Disconnect заработал от NiKel 26.10.2003 17:41:38  

Re: Re: Re: AMD Bus Disconnect заработал

>ну сколько раз в год люди сейчас ходят в кино? >NiKel (*) (26.10.2003 17:41:38)

raz v nedelu, a to i chashe :)) smotrya kakie filmi novie vihodyat.. s druziyami, popcorn, dolby surround i vse takoe ;) telek ne smotryu voobshe, novosti tolko esli.. i to v inete chashe

anonymous ()
[#] Ответ на: Re: Создание игр для linux от Esh 26.10.2003 16:55:13  

Re: Re: Создание игр для linux

2Esh Правильное направление. Больше полезной информации по движкам и библиотекам - это то что нужно. Можно даже отдельную колонку посвятить этому. Также горячие рецепты, вроде Cookbook для типичных задач вроде расчета пути, коллизий, зоны видимости. Полезно также подобрать линки на готовые коллекции спрайтов, моделей, звуков. Иногда в черновом варианте не так уж важно чтобы все было оригинальное - главное чтобы работало нормально. Человечики, машинки, крокодилы, кустики, текстурки разные - для травы, стен и тд. Намлевать и озвучить особым образом потом можно, если что то путное выйдет.. Вообще, чтобы на украшательтво и рюшки разные меньше времени тратить приходилось на стадии разработки.

* ()
[#] Ответ на: Re: Re: AMD Bus Disconnect заработал от NiKel 26.10.2003 17:41:38  

Re: Re: Re: AMD Bus Disconnect заработал

> ну сколько раз в год люди сейчас ходят в кино?

Я хожу минимум раз в 2 месяца (только на те фильмы, которых ждал). Домашний кинотеатр - хорошо, но настоящий кинотеатр не заменит.

anonymous ()
[#]  

Re: Создание игр для linux

И главное - исходников побольше :) Можно даже сразу исходники игр .. Или по крайней мере ссылки наисходники. Ещё IMHO хорошая темя насчёт эмуляторов. Под линухом довольно много всяких приставочных эмуляторов, почти все с исходниками :) в общем если всё это как-то централизовать немного, то будет здорово. А тем более если русскоязычный сайт.

anonymous ()
[#]  

Re: Создание игр для linux

Люди поясните дураку что я делаю не так плиз !
Имеем MinGW-3.1.0-1 и SDL-devel-1.2.6-mingw32.tar.gz
minGW компилит нормально, берем SDL, пишем:
g++ -Dmain=SDL_main -I %SDL_include% -L %SDL_library% -lmingw32 -lSDLmain -lSDL -mwindows -luser32 -lgdi32 -lwinmm -ldxguid -o test001 test001.cpp

И получаем:
C:\WINDOWS\TEMP/ccWrPggb.o(.text+0x8d):test001.cpp: undefined reference to `SDL_SetVideoMode'
C:\WINDOWS\TEMP/ccWrPggb.o(.text+0xcc):test001.cpp: undefined reference to `SDL_Delay'

Вот test.cpp:

#include <stdlib.h>
#include <SDL.h>

int main(int argc, char *argv[])
{
SDL_Surface *screen;
if(SDL_Init(SDL_INIT_VIDEO) == -1)
{
printf("Can't init SDL: %s\n", SDL_GetError());
exit(1);
}
atexit(SDL_Quit);
screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE);
if(screen == NULL)
{
printf("Can't set video mode: %s\n", SDL_GetError());
exit(1);
}
SDL_Delay(3000);
return 0;
}

Ну и какого ему надо ?

anonymous ()
[#]  

Re: Создание игр для linux

Как я понимаю SDL чейчас менее актуален чем OpenAL, что автор может прокомментировать на этот счет?

anonymous ()
[#]  

Re: Создание игр для linux

Нет это фигня какая-то... Упрощаем пример.
Берем каталог кидаем туда libSDLmain.a libSDL.a и все хедеры от SDL-devel-1.2.6-mingw32.tar.gz

Создаем примитивный test001.cpp:

#include "SDL.h"

int main()
{
if(SDL_Init(SDL_INIT_VIDEO) == -1)
{
return -1;
}
return 0;
}

Компилим:

g++ -lmingw32 -mwindows -luser32 -lgdi32 -lwinmm -ldxguid libSDLmain.a libSDL.a -o test001 test001.cpp


Получаем:

libSDLmain.a(SDL_main.o.b)(.text+0x35a): In function `console_main': 10:53 /home/hercules/release/SDL-1.2.6/src/main/SDL_main.c:251: undefined reference to `SDL_main'

Используеться масдайный MinGW-3.1.0-1 (gcc version 3.2.3 (mingw special 20030504-1)

Помогите плиз ! Чего не хватает-то ?

anonymous ()
[#] Ответ на: Re: Создание игр для linux от anonymous 27.10.2003 10:54:59  

Re: Re: Создание игр для linux

Наверное у тебя вместо "int main()" должно быть "int SDL_main()". А вообще фиг знает. Лучше почитай первые главы из книги по SDL. Адрес сайта подсказать? :)

Кстати, вот такие вопросы. 1. Спецификация OpenGL 2 поддерживат вертексные и пиксельные шейдеры? Какие версии этих шейдеров поддерживаются? И где можно взять её (OpenGL 2) реализацию под Linux (драйвера не предлагать, т.к. нету у меня карты с поддержкой opengl2)?

2. С какой вообще версии поддерживаются шейдеры (и те и другие)?

* ()
[#] Ответ на: Re: Re: Создание игр для linux от none 27.10.2003 12:08:23  
azazello

Создание игр для linux

2none www.opengl.org - там всё написано. если вкратце - >>1. Спецификация OpenGL 2 поддерживат вертексные и пиксельные шейдеры? ARB_vp/fp & ARB_vs/fs не вошли ещё в ядро GL(а первые и не войдут), посему текущая версия - 1.5, а не 2.0.Спецификации 2.0 нет и до конца этого года не планируется. >>Какие версии этих шейдеров поддерживаются? ARB_vp/fp. NV_vp2/vp1. (первые ~ ps/vs 2.0, вторые ps/vs 2_x ) >>И где можно взять её (OpenGL 2) реализацию под Linux 1.5 - www.Mesa3d.org.(откровение, однако)из CVS. 2.0 - нигде. ввиду отсутвия как таковой.

>>драйвера не предлагать, т.к. нету у меня карты с поддержкой opengl2 тогда тебе всё остальное не сильно и понадобиться. Хоть Меса и классная вещь

** ()
[#] Ответ на: Создание игр для linux от azazello 27.10.2003 14:17:13  

Re: Создание игр для linux

2azazello. Ну в общем спасибо за проеснение ситуации с ogl2. про меса3d
то я знал, только вот там написано, что поддерживается 1.4, а меня интересовало 2.0. Но не суть важно.
Я просто где-то в описании карты прочитал "полная поддержка openlg2", но похоже я чё-то напутал (наверное имелись в виду шейдеры)

Понадобиться ещё как. Мне как раз и нужна софтварная реализация всех новых фишек.
Где протестить есть, но писать у себя вслепую неохото.

anonymous ()
[#] Ответ на: AMD Bus Disconnect заработал от NiKel 26.10.2003 6:11:00  

Re: AMD Bus Disconnect заработал

<<Модели и дизайнеры сменят кинозвезд>> Что за бред!!!! Не думаю, что в исторически обозримом будущем "оператор у монитора" + игровой движек переиграет хорошего актера (не говоря уже о великих). Может быть какую-нить "матрицу" или прочее дерьмо можно будет сваять, но не что-либо достойное. Ну или каких-нить симпсонов еще снимут. А они, при всех их достоинствах, дальше обычного ерничества не поднимутся. И не дотянут до (например) того же "Гаража".

**** ()
[#] Ответ на: Re: Re: AMD Bus Disconnect заработал от NiKel 26.10.2003 17:41:38  

Re: Re: Re: AMD Bus Disconnect заработал

<<ну сколько раз в год люди сейчас ходят в кино?>> А ты построй в провинции приличные кинотеатры, пусти в них приличные фильмы, а не матрицу, сделай доступными билеты и тогда спрашивай.

**** ()
[#] Ответ на: Re: Re: Re: AMD Bus Disconnect заработал от kraw 28.10.2003 10:23:45  

Re: Re: Re: Re: AMD Bus Disconnect заработал

> А ты построй в провинции приличные кинотеатры, пусти в них приличные фильмы, а не матрицу, сделай доступными билеты и тогда спрашивай.

А ещё посадим снайперов, которые будут отстреливать уродов - шумно жрущих, уродов - шляющихся туда-сюда по залу, уродов с лазерными указками, уродов - болтающих по мобильнику и просто пьяных хамов.

anonymous ()
[#] Ответ на: Re: Создание игр для linux от anonymous 27.10.2003 9:03:12  
Esh

Re: Re: Создание игр для linux

SDL и OpenAL - разные понятия для разных целей! OpenAL - библиотека для 3Д звука. Если емел ввиду OpenGL и SDL то тогда так: 2Д сейчас мало используют, поэтому несколько функций (2-3) из SDL неюзаются, а вот самая фишка - SDL предоставляет супер удобный каркас для OpenGL проги! Не надо парится с контекстами устройства, все делается просто, быстро и удобно. Качество есессно (как например с GLUT) нестрадает.

*** ()
[#] Ответ на: Re: Re: Создание игр для linux от Esh 29.10.2003 11:40:47  
adarovsky

Re: Re: Re: Создание игр для linux

А не в курсе, как OpenAL уживается с OpenML? Это часть или как?

**** ()
[#] Ответ на: Re: Re: Re: Создание игр для linux от adarovsky 29.10.2003 12:41:34  
Esh

Re: Re: Re: Re: Создание игр для linux

Я как понял OpenML - это нечто совершенно другое... Это монстр... Я не пробовал программировать под него и даже не смотрел как оно выглядит, но если гиганты мира сего как nVidia, ATI, SGI собрались его делать, то я самый первый буду его юзать! Это вроде конкурент всего на свете... Там будет АПИ для 3Д, 2Д, видео, звук... Когда будет нормальная версия с нормальной документацией, то тогда все SDL и OpenAL в принципе не нужны будут, т.к. OpenML хардварно как я понял поддерживается всеми видеокартами... Хотя если апи для 3Д звука в нем не будет, то тогда так и будут юзать OpenAL

*** ()