LINUX.ORG.RU

Движок Gish выложен под GPL

 , , ,


0

0

Выложены исходники третьей по счёту игры из четырёх, которые отрываются по итогам Humble Indie Bundle. Ранее были открыты Lugaru и Penumbra: Overture. Сегодня выложены исходные коды движка Gish, исходный архив доступен по ссылке.

Лицензия: GNU GPLv2+.

Ресурсы (как и с остальными играми из списка) остаются закрытыми.

Весь движок написан на C.

Также один из пользователей (?) сделал репозиторий на основе этого архива.

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

★★★★★

Проверено: isden ()
Последнее исправление: JB (всего исправлений: 6)

Долго чeго-то. Нaвeрно быдлокод подчищaли.

amorpher ★★★★★
()

>Ресурсы (как и с остальными играми из списка) остаются закрытыми.

Будем сами рисовать...

anonymous
()

Открыл файл наудачу (mainmenu.c).

char loadfilename[32]=«loading00.tga»;

А разве здесь нужно «32»?

anonymous
()

Блин, и этот switch-case не использует. Может все знают что-то, чего не знаю я?

anonymous
()

if (screennum==1) loadbackground(824,«story2.tga»);

if (screennum==2) loadbackground(824,«story3.tga»);

...

Блин, и этот switch-case не использует. Может все знают что-то, чего не знаю я?

anonymous
()
Ответ на: комментарий от anonymous

Это цветочки.

  if (mouse.x>=menuitem[count].x)
      if (mouse.x<menuitem[count].x+menuitem[count].sizex*menuitem[count].textsize)
      if (mouse.y>=menuitem[count].y)
      if (mouse.y<menuitem[count].y+menuitem[count].sizey*menuitem[count].textsize)
        {
        menuitem[count].highlight=2;
        if (mouse.lmb && !prevmouse.lmb)
          menuitem[count].active=1;
        font.cursornum=menuitem[count].cursornum;
        }

Если вы думаете, что там есть елсы — вы ошибаетесь.

ChALkeR ★★★★★
() автор топика
Ответ на: комментарий от Alsvartr

По большому счёту это всё ерунда и разницы нет (компилятор умный, скушает за милу душу и то и то и выдаст одинаковый результат). Ну им так удобнее было ;).

ChALkeR ★★★★★
() автор топика
Ответ на: комментарий от anonymous

за кейсы помню били..на форуме убунту ру..

Chu
()

Победителей не судят.

sid350 ★★★★★
()
Ответ на: комментарий от anotheranonymous

> Зато вот они заработали на этом денег, а сообщество еще ни одной подобной игры не состряпало с «красивыми» исходниками.

Вы Makefile посмотрите!

Igron ★★★★★
()

>Выложены исходники третьей по счёту игры из четырёх, которые отрываются по итогам Humble Indie Bundle.

Сначала закопали, а потом отрыли?

derrix
()

>Ресурсы (как и с остальными играми из списка) остаются закрытыми.

Жак Фреско негодуэ!

derrix
()

Если чего не напутал, игра великолепна, кстати.

Git
()
#ifdef THINKSTUPID
#define __MACOSX__
#endif
Git
()
Ответ на: комментарий от Alsvartr

>речи о «красивых» исходниках не идет. Речь идет о грамотных исходниках.

это не примеры неграмотности.

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

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

Использование последовательных вложений ифов вместо упаковки всех условий через булевы операции в одном ифе удобно тем, что во первых, каждое условие явно отделено от других и не уползвет за экран, а во вторых, нет лишних, усложнящих понимание алгоритма, скобок, и, как следствие, ошибок, связанных с неправильным толкованием приоритета булевых и иных унарных и бинарных операндов или неправильным закрытием тех самых скобоки, и хотя вы можете подумать, что хороший программист, несомненно, без всяких затруднений, на автомате, напишет длиннейшее выражение в одном ифе, а все остальные затем без проблем проведут обратную декомпозицию в поисках возможных ошибок или путей оптимизации, но прежде чем высказывать такие претензии, подумайте, насколько проще было бы понять мою мысль, изложеную в этом абзаце, если бы я разбил его на несколько частей, а не выписал в одно, безусловно, правильное (я проверял и, кстати, этой ремаркой заодно получил возможность применить любимые вами скобки), но сложное для понимания, предложение.

AVL2 ★★★★★
()
Ответ на: комментарий от Yareg

> goto в наличии)

В сишных прогах иногда необходимо использовать goto (например, для освобождения ресурсов при выходе после ошибки).

Но ряд быдлокодеров не умеет мыслить самостоятельно, да. Они любят покричать на форумах, что goto в наличии. Таким лучше goto не использовать.

anonymous
()

о собралось, взял графику с винды, еее, правда подтормаживает на eee 904hd

guilder
()

Там хоть один настоящий комментарий в коде есть? А то только портянка GPL и закомментированные куски.

Всякие TDD с подробными выводами доксиджена нафиг не нужны, оказывается.

anonymous
()
Ответ на: комментарий от AVL2

>это не примеры неграмотности.

Аргумент по сути один - так им может быть удобнее писать/отлаживать код. Это всё фигня. Главное что в нём нарушены концепты. И он становится наоборот нечитабельным. Мне это напоминает использование for(;;) вместо while(1), аж целый символ экономится. Только тут масштабы извращения гораздо больше.

anonymous
()
Ответ на: комментарий от Viglim

На Озоне можно купить диск и достать с него данные. Другое дело, что, насколько я понимаю, с патчами они менялись, а патчи могут получить только те, кто покупал игру у авторов напрямую (что обидно) :(

X-Pilot ★★★★★
()
Ответ на: комментарий от anonymous

>Мне это напоминает использование for(;;) вместо while(1), аж целый символ экономится. Только тут масштабы извращения гораздо больше.

Вот ИМХО for(;;) как бесконечный цикл лучше. Даже самый странный компилятор тогда не будет сохранять единицу и проверять её истинность, а сгенерирует код бесконечного цикла, как и требовалось.

tim239 ★★
()

Не понимаю смысла открывать все кроме ресурсов.

Если там еще чьи-то права, можно было провести переговоры.

Jayrome ★★★★★
()
Ответ на: комментарий от Jayrome

Представьте себе, они хотят зарабатывать деньги на своем творчестве, а не радовать Столлмана.

Zhid
()
Ответ на: комментарий от Jayrome

>Не понимаю смысла открывать все кроме ресурсов.

А я считаю, что именно так и правильно. Технологии должны быть открытыми, дабы сообщество могло изучать и участвовать.

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

Не надо путать опенсорс и халяву. Идите с торрентов скачайте гиш и будут Вам ресурсы.

anonymous
()
Ответ на: комментарий от Jayrome

Потому что есть люди, которые за полноценную игру денежку заплатили! А если откроют еще и ресурсы, то какая будет разница между ними и тобой?!

И вообще, дареному коню... Игра хорошая, рано или поздно сообщество все равно добавит свои ресурсы

anonymous
()
Ответ на: комментарий от AVL2

это не примеры неграмотности.

      if (count==0)
        glColor4f(0.0f,1.0f,0.0f,1.0f);
      if (count==1)
        glColor4f(0.0f,1.0f,1.0f,1.0f);
      if (count==2)
        glColor4f(1.0f,1.0f,0.0f,1.0f);
      if (count==3)
        glColor4f(1.0f,0.0f,1.0f,1.0f);
      if (count==4)
        glColor4f(0.0f,0.5f,0.0f,1.0f);
      if (count==5)
        glColor4f(0.0f,0.5f,0.5f,1.0f);
      if (count==6)
        glColor4f(0.5f,0.5f,0.0f,1.0f);
      if (count==7)
        glColor4f(0.5f,0.0f,0.5f,1.0f);
eugene2k
()
Ответ на: комментарий от anonymous

Ну, лично мне не обидно, что я заплатил двадцатку за humble pack, а теперь оно (стало бы) доступно для всех. Но даже в открытии кода плюс есть - глядишь, 64 бита сделают работоспособными.

Ну а то, что у «пропритетарщиков» код в целом «грязнее» - это неудивительно. Во-первых, надо быстро дать результат, а, во-вторых, никто не видит. А в случае игр быстро и дёшево дать результат - это не просто прихоть «глупых маркетоидов и начальников», это просто жизненная необходимость для студий.

AlexM ★★★★★
()
Ответ на: комментарий от Igron

Вы Makefile посмотрите!

Вы main.c посмотрите :)

#include "audio/audio.h"
#include "game/ai.h"
#include "game/animation.h"
...
#include "audio/audio.c"
#include "game/ai.c"
#include "game/animation.c"
...

Во разгул для оптимизации компилятору :) Чем-то напоминает дейиствия nmake (сгребсти весь код во временный файл и его откомпилить)

AlexVR ★★★★★
()

Ну что, какие ставки о появлении в ближайшую неделю CMakeLists.txt в репозитории?

AlexVR ★★★★★
()
Ответ на: комментарий от anonymous

> Будем сами рисовать..

Ненуачо. Рисуют же для OpenTTD и для Stratagus (:

pevzi ★★★★★
()
Ответ на: комментарий от AVL2

> подумайте, насколько проще было бы понять мою мысль, изложеную в этом абзаце, если бы я разбил его на несколько частей, а не выписал в одно, безусловно, правильное (я проверял и, кстати, этой ремаркой заодно получил возможность применить любимые вами скобки), но сложное для понимания, предложение.

Это пять (:

pevzi ★★★★★
()
Ответ на: комментарий от Viglim

> То есть, поиграть в него не получется на халявку

Свободно != бесплатно, уже говорилось.

pevzi ★★★★★
()
Ответ на: комментарий от zer0n

> а если отключить оптимизатор?

А зачем?

pevzi ★★★★★
()
Ответ на: комментарий от ChALkeR

В винде даже аналога /usr/include нету, дикари, как они живут без этого :)

frame ★★★
()
Ответ на: комментарий от anonymous

>> Не понимаю смысла открывать все кроме ресурсов.

А я считаю, что именно так и правильно. Технологии должны быть открытыми, дабы сообщество могло изучать и участвовать.

Плюсую. Это двойной профит — и разрабы могут деньги получать, и сообщество может код дополнять и участвовать в разработке.

Игра хорошая, рано или поздно сообщество все равно добавит свои ресурсы

...но они, конечно же, будут хуже оригинальных, и мало кто их будет юзать, я так думаю.

pevzi ★★★★★
()
Ответ на: комментарий от anonymous

> char loadfilename[32]=«loading00.tga»;

А разве здесь нужно «32»?

Ну они шаблонно для всего 32 используют, чтоб потом при смене имени не увеличивать/уменьшать массив

eReSik ★★
()
Ответ на: комментарий от iSage

Ну, как я уже писал, 64-битный WorldOfGoo не заработал на четырёх попробованных операционных системах/трёх компах, управляющихся тремя разными людьми, segfault в самом начале и до свидания. Могу стрэйс показать, если интересно.

Да и какая-то из игр Humble Pack'а была строго 32'битной, если интересно, могу посмотреть, какая именно.

Так что, игростроителям есть куда работать. А сообщество вполне способно помочь им в этом вопросе, он хоть и не сложный, но достаточно нудный.

AlexM ★★★★★
()
Ответ на: комментарий от eReSik

Ну они шаблонно для всего 32 используют, чтоб потом при смене имени не увеличивать/уменьшать массив

char *loadfilename = "loading00.tga";

Нет?

plambir
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.