Как стать автором
Обновить

Комментарии 69

НЛО прилетело и опубликовало эту надпись здесь
Это сильно усложнило бы как саму игру, так и написание плагинов. А цель была — сделать всё достаточно просто.
Надеюсь, скоро закончу портирование под OpenGL. Так что пользователи Linux не будут обделены (теоретически, ещё и под MacOS должно будет работать, но у меня мака нет).
Через Mono?
Да, на Mono. С сохранением бинарной совместимости с плагинами Windows-версии.
Портирование? То есть все же нужен будет Mono?
MacOS — не проблема. Если будет желание, сможем попробовать :)
Конечно будет. :)
А почему не портировать на Silverlight через www.codeplex.com/Xn4Sl например? будет работать почти везде.
а плагины написать с помощью MEF или вообще туда запихать DLR и писать расширения на IronPython и IronRuby.
Linux не очень с SilverLight дружит.
С чего вы взяли помоему MoonLight очень прилично работает/ Не идеально конечно но достаточно хорошо/ Как в прочем и все в мире десктоп линукса/
Респект и уважуха по всем профессиональным фронтам :)
Завидую я вам. Видно есть время и увлечение…
Вам большущий респект, но еще больший будет MadFish, если сможет сделать задуманное вне .NET :) Будет тогда совсем хорошо и приятно.
Будет на C + Mono. Надеюсь, это достаточно идеологически приемлемо.
Можно было бы и чисто на С или С++, но тогда нет бинарной переносимости плагинов. Увы.
Наверное, идеологически чище всего было бы сделать на C++/SDL с каким-нибудь приятным скриптовым языком. :)

В общем-то все равно, лишь бы запустить под Ubuntu можно было.

К счастью, Столлман далеко и не слышит меня :)
Прикольная вещь! Появилась задумка портировать CodeCraft на Actionscript — это позволит подгружать игроков онлайн ( в виде swf модулей) и вообще сделать некую MMO битву программистов)
Единственное, конечно, надо будет по оптимизации графики пройтись.
Разрешите попробовать портануть?
В дополнение:
Можно реализовать некую «прослойку» ( 3 уровень абстракции) для написания алгоритмов посредством динамически подгружаемых скриптов ( вроде lua или xml Based) Парсер скрипта реализует заложенные ранее стратегии.
Для 4 уровня абстракция превращается в набор чекбоксов)
Чтобы сделать это всё на Actionscript, нужно будет всё переписать. Мне кажется, в том виде, в котором оно сейчас, формат десктопного приложения подходит лучше.

Но никто вам не мешает создать свой проект. :)
Поддерживаю. Только сначала бы написать пару простых игроков)
Да, вещь классная! Вам респект! Ждем работы под Линукс
Может я параноик, но, пожалуйста, оптимизируйте размер фонового изображения (code-background.png) на сайте игры 77.90.249.194/CodeCraft/. иначе получается что я загружаю не сколько нужную мне информацию, сколько этот фон.
Траф не безлимитный, зарплата маленькая :)
А ведь говорил я AntonEtalon-у, что лишний там фон. Но он мне не поверил. :)
Мне лично скорее было жалко тратить >100 Мб на XNA и на .NET 3.5 :). Не говоря уже о том, что под wine оно не работает, и что пришлось в винду перезагружаться.
ок. Это мой первый топик, косяки неизбежны
Можно решить проблему с размером.
Сделайте вертикальный градиент фоном шириной в один пиксел и растяните CSS-ом по горизонтали.
Символы накидайте простым текстом со светлым цветом.
И все будут счастливы ;)
Если честно, немного нелогично. Много мелочей, но для начала о самых крупных.

Одно орудие у истребителя — еще ладно, но у крейсера?

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

А в целом — да, очень интересно )
Рассматривайте это как шахматы. Тут всё скорее символично, а не реалистично.
Ведь цель была — простота.
На Win7 не запускается :(
Извиняюсь, работает
ps читаем Manual.doc из Documentation.zip
>OpenGL
Почему бы не сделать на Moonlight?
Думается мне графические навароты в таких играх не самое главное.
Автор раньше в Homeworld не зависал случаем?)
Угадано)
Зависал немного в подобные Homeworld'у вещи)
То-то я смотрю терминология знакомая…
Класс! Удачи по всем фронтам!
Баланс не очень. Судя по роликам самая эффективная тактика стоять кучкой и ждать.
Идея и реализация супер. Загорелся попробовать, сегодня же ночью.
… но после такого комментария и перепросмотра роликов остыл.
Возможно ли разбить врага, который ушёл в глухую оборону (с взаимной поддержкой всех классов кораблей, а то на роликах побеждали только если эшелоны не защищают друг друга)?
В чём преимущество мелких юнитов (кроме скорости), какая-то тактика позволит победить пятерым истребителям крейсер?
НЛО прилетело и опубликовало эту надпись здесь
Правильно!
На ролике «Истребители Чаки Норрисы» против «Атаки влоб» в конце боя 12 истребителей нападают на 5 крейсеров и сливают двоих. А ведь алгоритм у «Чаков Норрисов» прост как полено: если на истребитель точно нацелен нос вражеского крейсера — сваливать влево
Баланс — дело тонкое)
Возможно ли разбить глухую оборону? Возможно. Любую оборону можно разбить, можно даже провести эксперимент. Если будет выложен годный оборонный алгоритм, я в ответ напишу еще более годный атакующий его. Если сумею, конечно.
Можно сделать двухраундный сет: сначала одна сторона защищается, потом другая. если после заданного таймаута в раунде нет определенного победителя — победила защита
слышал еще на CodeCamp '09 о ней…
молодцы, что еще работаете над ней.
тогда поразило что идея создания игры возникла как подарок другу на ДР… так ведь?
Да. Точнее подарок себе)
В общем, ждем линукс версии.
За продолжение идеи pRobots — респект и уважуха ;)
Да, кстати, если будет у кого-то желание помочь с графикой (дизайн кораблей, и прочего), то обращайтесь, будем очень рады.
Я думаю баланс нужно свести к Камень>Ножницы>Бумага, точнее Крейсер>Корвет>Истребитель.
А с тремя типами юнитов он другим особо быть не может :)
Может быть просто что крейсеры самые сильные и выносят всех по любому, просто они медленные.
Или что корветы имеют хороший баланс между силой и маневренностью и выносят всех без шансов.
Важно явно этот баланс поддерживать.
Ну когда что то одно сильнее это уже явно не баланс :) При трёх типах юнитов на самом деле могут быть два варианта — либо они все одинаковы, либо «камень-ножницы бумага».
Так и планировалось. У истребителя есть шансы завалить крейсер, но только если ИИ, управляющий им, будет очень хитро маневрировать, уклоняясь от выстрелов.
Можно добавить, пассивный уворот для истребителей.
Или чтоб крейсеры стреляли редко но сильно. Тогда истребители будут имень сильное преимущество над крейсерами.
На днях олько закончил читать книгу. «Военная тактика». Спасибо =)
— а почему мелочевка такая медленная?
— нужно сделать чтоб по мелочевке сложнее попасть было
— нужно учитывать повреждение отдельных участков коробля
— дальность растояние и разнообразие орудий у больших кораблей должно быть больше
— было бы супер если была возможность human vs human по сетке (:
— Чтобы было время развернуться, построиться, на поведение соперника отреагировать и т.п. Есть ускорение времени, Page Up.
— Например, по мелочевке алгоритма «Чак Норрисов» попасть сложно. Игрок должен сам сделать истребитель хитрым
— Я думал об этом. Скорее всего это не нужно, чтобы не усложнять. Пешка или бьет ферзя или не бьет
— Идея для аддона
— Да
в догонку
— было бы все таки прикольно еслиб ещё летали астероиды\планеты за которые можно спрятаться от залпа ( и чтоб они влияли притяжением на снаряды и корабли)

— и human vs human + свои боты, например ты рулишь одним отрядом какие нить хитрые действия, а боты другими короблями управляют

(имхо) конечно
Вот меня всегда удивляют люди, которые не довели до совершенства алгоритм на простых условиях и просят усложнить.
Или я не прав?
а меня всегда удивляют люди которые только критикуют ни чего не предложив в замен.
НЛО прилетело и опубликовало эту надпись здесь
Мне не очень понравилась идея писать роботов на C#, потом компилировать, ставить студию… И то, что это windows-only тоже не очень понравилось :).

Поэтому я решил написать свою систему «с блекджеком и шлюхами», в которой ботов нужно будет писать на Javascript :).

Вот, что уже есть:

datapoliten.ru/misc/yavascriptw/ (демо)
svn://datapoliten.ru/yavascriptw — исходники в SVN
Пример робота:

var SimpleCPU = function(friends, enemies)
{
  var T = this;
  
  T.make_turn = function()
  {
    var unit;
    
    for(var k in friends)
    {
      unit = friends[k];
      
      unit.shoot();
      
      unit.turnToEnemy(enemies);
      unit.move();
    }
  }
};


* This source code was highlighted with Source Code Highlighter.
smartCPU — умнее чем simpleCPU?
Почему же он всегда проигрывает? :)
Ну, пока у SimpleCPU не было строчки «unit.turnToEnemy(enemies);», он был тупее, чем SmartCPU :). Ну и к тому же всё это было написано за где-то часа 3-4, так что на сам искусственный интеллект я времени потратил немного, прямо скажем :).
Мегареспект за двухуровневую абстракцию. Сейчас все сохроним и будем пытаться.
Что даёт маневрирование в стратегическом смысле? В тактическом-то понятно, уклонение, сложность попадания, но глобальное маневрирование, стройными колоннами…

В реальном бою, полагаю, выигрыш в том, что лобовая броня толще, а танк или корабль в профиль значительно больше, чем в фас. Кроме того, попав под перекрёстный огонь, практически невозможно найти укрытие (в море неактуально). Также имеет значение, что с фланга ведётся огонь почти безнаказанно, не надо самому искать укрытие. Ну и фактор внезапности.

А здесь? Я понимаю, что это «шахматы», но и в шахматах стратегия обуславливается реальной выгодой. Никто не будет брать врага в клещи только потому, что это красиво смотрится на карте, так ведь?
Mad Fish тоже так считает. Он говорит, что его юниты летать будут просто стаями, без всяких там строев. Но я отвечаю, что вне боя в куче юнитов бардак, и чтобы не протаранить друг друга они тормозят. Да и в полете разделяются. Сторем летят вместе и не толпятся.

Сначала я думал и воевать строем, попробовал — м-да, в куче лучше. Теперь на время боя строй отменяется.

На счет флангов — надо напасть не с одного фланга, иначе он будет уже фронтом и толку ноль. А во время разворота врага его можно успеть просто убить, да и окружив площадь периметра войск атакующего больше. Думаю, выгода есть.
Готов посоревноваться, но после нового года. В конце года — завал по работе. Кто как?
Приятного времени суток!
А проект еще существует? Ведутся ли какие баталии?
Пока желающих оказалось гораздо мене чем несколько.
Но планы по развитию (в сторону упрощения для игроков) есть.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории