Четверг, 06 Ноября 2025, 08:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
TimKruzДата: Четверг, 29 Ноября 2012, 22:54 | Сообщение # 341 | Тема: Basic vs Pascal
старожил
Сейчас нет на сайте
Quote (First)
Некогда... Некогда

...Может быть, "никогда"? Некогда - это, например, когда времени нет. biggrin
Quote (First)
Я видел достаточно вакансий на программиста VB

Delphi, Visual Basic. Ну ещё можно ввести просто "программист basic" и поиск по тексту всего объявления, но тут вывалится куча объявлений типа "желательно иметь знания в VB, C#, Java и т.д." или "пофиг какой язык, лишь бы сделали работу".


TimKruzДата: Четверг, 29 Ноября 2012, 22:00 | Сообщение # 342 | Тема: Basic vs Pascal
старожил
Сейчас нет на сайте
DimOk, лично моё мнение - Pascal лучше.
Quote (ErrantBug)
поскольку найти более-менее удобную среду программирования и вообще хоть какой-то игровой движок для Basic практически невозможно.

Найти-то можно, видел некоторые тут. Но это для тех, кто смог понять только BASIC и дальше не развивается... wacko
Quote (ErrantBug)
Я уверяю, свыкнуться с тем, что вместо двух-трех функций нужно вставлять графический элемент - не такая уж и проблема.

При чём тут компоненты Delphi? На Delphi можно программировать почти так же, как на Turbo Pascal (для консоли Windows или вообще без неё). Компоненты нужны для быстрой визуальной разработки оконных приложений (и присутствуют в самых разных средах разработки различных языков программирования), к языку Pascal это не имеет отношения.
Quote (DimOk)
нет Basic, Pascal, C++(и вроде другие C, но могу ошибаться)

Basic, Pascal, C++ и [школьный] алгоритмический язык (что-то типа того, что в "КУМир" используетя). Кстати, там же вроде бы есть задача для КУМир, которую можно по желанию заменить задачей на программирование на "нормальном" языке программирования. Т.е. для сдачи ГИА (и ЕГЭ тоже) достаточно знать все эти "нач нц пока блаблабла если фыва то олдж иначе смит кц кц кон".
Но точно не знаю, проверять надо. Хотя алгоритмический язык и КУМир в ГИА по-любому должны быть.
Quote (DimOk)
Забыл спросить: какой диалект выбрать?

Обычно в школах учат TurboPascal, но теперь заставляют все школы использовать только лицензионное ПО, так что юзают бесплатный FreePascal, который, в принципе, очень похож, но среда разработки менее удобна, чем у TurboPascal.
После ГИА, для разработки игр, перейдёшь на Delphi или Lazarus (последний - бесплатный; развивается из FreePascal и обещает совместимость с Delphi и другими диалектами, плюс некоторую дополнительную кроссплатформеность, но всё-таки намного слабее Delphi).
Quote (Destroy)
ох не советовал я бы тебе в формате гиа сдавать, лучше в традиционной по билетам.

А, по-моему, никто не даёт выбора. Ввели в стране ГИА - и всё, сдавай именно его. Наверное, это в вашей школе так почему-то сделали, может, им не понравилась форма ГИА.
На самом деле в ГИА ничего сложного нет, сам в своё время сдал примерно на ~99%... Вот ЕГЭ сложнее... sad
Quote (Destroy)
в инете есть уже готовые ответы на билетный. инфа 100%

На ГИА структура всех вопросов-задач одна и та же - достаточно научиться решать подобные задачи с помощью демовариантов...

***
First, BASIC уже нигде не используется, как и сам Pascal. Используются его многочисленные диалекты.
А если сравнивать, например, VisualBasic и Delphi - Delphi, конечно, лучше...




Сообщение отредактировал TimKruz - Четверг, 29 Ноября 2012, 22:07
TimKruzДата: Среда, 28 Ноября 2012, 23:28 | Сообщение # 343 | Тема: Создание сервера на Delphi
старожил
Сейчас нет на сайте
Quote (Nanotentacle)
По динамическим массивам да, я соглашусь. Скорее всего, при переписывании сервера перейду именно на этот вариант. Единственно, что вызывает у меня сомнения - это сложность удаления элемента из центра массива. Насколько я знаю, для этого придется обнулить сам элемент, и индекс всех вышестоящих элементов уменьшить на единицу, после чего "отрезать" из конца массива лишний элемент. По-моему, это достаточно громоздкое решение. Мб есть что-то более элегантное, про которое я не в курсе?

Лучше использовать динамические списки, а не динамические массивы. В динамических списках структура одной ячейки следующая: блок информации + указатель на следующую (и/или предыдущую) ячейку. Удаляется любая ячейка освобождением её памяти и переопределением указателей соседнего элемента, это во много раз быстрее, чем в динамичных массивах, особенно больших. Однако придётся для доступа к какой-либо ячейке пробегать по всему списку, хотя в случаях, когда по-любому нужен прямой перебор элементов (например, механизм сервера по кругу обрабатывает всех игроков из кольцевого списка), это не имеет значения.
Что-то типа динамических списков можно найти в стандартных классах Delphi (TList), но можно самому сделать обычный динамичный список, это несложно.
Quote (Nanotentacle)
Первые три байта - код команды или запроса

Ммм, получается возможным более 16 миллионов различных команд или запросов... Я думаю, для небольшого игрового сервера хватило бы 1 байта (256 команд или запросов)...
Quote (Nanotentacle)
но вот что делать с float - ума не приложу

Перевести в целочисленный формат. Вряд ли у тебя в игре десятитысячная доля координаты x на что-то влияет. Т.е. можно умножить Position.X на, например, 100 (если сотые доли координаты имеют значение) и перевести в shortint или какой удобнее - лишние циферки отпадут.
Quote (Nanotentacle)
Фактически, чтобы закодировать цифру нам избыточно даже 4 бита, но при передаче данных я использую 8.

Можно в тех местах, где гарантировано только 4-битные данные - сжимать всё в два раза побитовым сдвигом на 4 и сложением...
Quote (Nanotentacle)
Поэтому процессорное время выделенное на программу в общем, при применении потоков, увеличивается.

Можно забить 100% процессорного времени без использования потоков. biggrin
Потоки, скорее, используются для выполнения независимых фоновых задач внутри одной программы (например, в браузере отдельный поток обслуживает загрузку файлов, тогда как основной поток прорисовывает страницу)...
Хотя, наверное, правда, какой-то прирост производительности сервера, выделяющего поток для каждой игровой комнаты, всё-таки будет... wacko Тут ещё от самих механизмов сервера зависит...
Quote (Nanotentacle)
На данный момент как раз пишу такую программу-бота. Единственно чего опасаюсь - что мои иллюзии о том, что код написан хорошо, являются лишь иллюзиями :).

Ну и как успехи?




Сообщение отредактировал TimKruz - Среда, 28 Ноября 2012, 23:30
TimKruzДата: Среда, 28 Ноября 2012, 23:04 | Сообщение # 344 | Тема: [2D] CaveCraft BETA 6 FIX
старожил
Сейчас нет на сайте
Quote (Doomer)
Очень хотелось бы редактировать всю информацию которая хранится в файле мира.

Чтобы редактировать информацию, нужно знать, в каком формате она сохранена - подробно опиши структуру файла мира. Ну и примерный файл для экспериментов потребуется... Или ты там тупо матрицу типов блоков сохраняешь? surprised
Quote (Doomer)
Так же требуется человек который мог бы сделать редактор карт для ПК.

А зачем редактор карт на ПК, если игра для телефона и вообще сама генерирует карты? wacko


TimKruzДата: Понедельник, 26 Ноября 2012, 20:15 | Сообщение # 345 | Тема: Delphi:Вопрос-Ответ
старожил
Сейчас нет на сайте
Quote (Aspire)
Я бы с радостью послушал разъяснения учителя по паскалю, но в нашей школе (я в 10 классе) до сих пор не преподавали программирование

Да, в некоторых школах наплевательски относятся к информатике... Зато часто можно найти в городе специальные курсы по программированию, или в интернете видео-курсы... Вещь на любителя, но кому-то ведь помогает...

Возьми какой-нибудь самоучитель "для чайников" по Паскалю или Делфи, там хотя бы основы программирования описаны. Потом можно настоящее руководство взять, но там уже серьёзней. Если совсем нифига о программировании не знаешь - скачай школьный учебник, в котором описываются теоретические основы программирования, алгоритмы и т.д. Потом должно быть проще изучать самоучитель или руководство.
Можно ещё уроки в интернете поискать, но это, на мой взгляд, хуже книги.

Quote (Aspire)
сухое чтение руководств недостаточно полно описывает все возможности применения языка

А зачем тебе ВСЕ возможности применения языка? Большинство современных языков универсальны. Да и потом. Ты же не одно руководство прочитаешь, а несколько, из каждого почерпнёшь новые знания, дополнишь...
Естественно, нужно не сухо читать умные книжки, а пробовать новые знания на практике, закреплять теорию практикой...
Quote (Aspire)
К тому же можно рассчитывать на опыт обучающего программиста и уточнить у него недостаточно понятные действия.

Заходишь на любой форум, где есть программисты - спрашиваешь, что нужно, в теме или в личных сообщениях...

Quote (Aspire)
достойного руководства в просторах интернета не нашел...

Вот, например, поищи: "Стив Тейксейра, Ксавье Пачеко - Delphi 5. Руководство разработчика" (ещё для Delphi 6 обновленная версия есть). Руководство старое, но, на мой взгляд, хорошее. Авторы работали в Borland и, кажется, участвовали в разработке Delphi.




Сообщение отредактировал TimKruz - Понедельник, 26 Ноября 2012, 20:24
TimKruzДата: Воскресенье, 25 Ноября 2012, 16:55 | Сообщение # 346 | Тема: [2D] Infinite world
старожил
Сейчас нет на сайте
Quote (x-and1988)
Блоки можно ставить, когда создаваемый блок граничит хоть с 1 стороны с твердым блоком.

По диагонали тоже ставить можно. Но по диагонали блок не граничит с другими. Сначала я подумал - так проще лестницу делать (если обычной с собой нет), но всё-таки блок оказывается как бы подвешенным в воздухе - не очень выглядит. В той же террарии можно ставить, только если грани соприкасаются (4 направления получается).
Quote (x-and1988)
Как вариант - если не все соседние клетки тоже вода, то ставить можно, с вытеснением воды в любой соседний блок воды.

Правильно. Главное, чтобы на дно поставить можно было (мало ли что под водой построить нужно бывает)...
Quote (x-and1988)
Вообще-то в панель перетаскивается не конкретный предмет, а его тип.

Т.е. предметы должны выдаваться из разных стопок (кончилась одна - начала использоваться другая)? Это должно быть удобно... С другой стороны, в Minecraft/Terraria эти ячейки быстрого доступа используются именно для хранения (получается типа карманов, из которых легче достать и использовать вещь, тогда как остальной инвентарь - рюкзак, который нужно сначала снять, и только потом открыть, чтобы что-то взять)...
Quote (x-and1988)
Сделаю, скорее всего кликом.

А почему не колёсиком?
Quote (x-and1988)
Инвентарь буде открываться на таб, и на таб закрываться

Необязательно именно [tab], нужно что-то по-проще, типа [e], если она не используется для чего-то ещё. Хотя какая разница, если кнопки можно будет настроить... wacko
Quote (x-and1988)
По поводу окна крафта - хотелось бы больше конкретики.

Посмотри на крафт в других подобных играх. Например, в Minecraft нужно сложить несколько единиц (можно стопкой, но берётся из стопки только одна вещь) нужных предметов в определённой последовательности в сетке 9*9, вещь появляется (т.е. видно, что собираешься скрафтить) и забирается игроком из другой ячейки, а вещи в сетке исчезают (т.е. не инвентаря берётся, а из сетки, куда их выложил игрок). В Terraria всё намного проще (так же, как в версии Minecraft для XBOX 360, если не ошибаюсь), просто в инвентаре появляется список предметов, которые можно сделать, кликаешь - получаешь предмет, а ресурсы забираются из инвентаря...
Quote (x-and1988)
Как вариант - полностью отделить его от инвентаря.

Если в окне крафта нужно будет выкладывать ресурсы в клетки, то придётся оставить его совмещённым с инвентарём (иначе откуда брать ресурсы?), а если просто выбор нужного предмета из списка - можно и отделить...


TimKruzДата: Суббота, 24 Ноября 2012, 23:43 | Сообщение # 347 | Тема: Заявки на модератора
старожил
Сейчас нет на сайте
Quote (Nekit_Aut)
Но, уверяю вас, я ничего глупого и совершенно неадекватного.

"...не совершал"?
Quote (Nekit_Aut)
Я бы хотел оживить некоторые разделы форума

Это может любой пользователь сделать, просто добавляешь интересные темы, активно участвуешь в обсуждениях...
Quote (Nekit_Aut)
Хочу помогать новичкам в их начинаниях: советовать им
Quote (Nekit_Aut)
Так же не исключаются советы и помощь многим при выборе движка.

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

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

В остальном поддерживаю Nekit_Aut.


TimKruzДата: Суббота, 24 Ноября 2012, 21:09 | Сообщение # 348 | Тема: BadDay&GoodNight
старожил
Сейчас нет на сайте
Идея интересная. Удачи с воссозданием.
Quote (Racot)
НЕ-ВЕ-РЮ. Извини, ну каким же нужно быть человеком чтобы держать все исходники и материалы на флешке

Ну люди разные бывают, и у некоторых флешки часто теряются. А файлы держал он наверняка на компе, но перед увольнением скопировал/переместил на флешку, чтобы с собой забрать, а по дороге посеял. Чего тут такого, чтобы не верить? Тем более, хвастаться всё равно нечем и незачем, так что и врать ему незачем.


TimKruzДата: Суббота, 24 Ноября 2012, 20:35 | Сообщение # 349 | Тема: [2D] Infinite world
старожил
Сейчас нет на сайте
Тщательно проверяй точку спавна. Первый раз появился с башкой внутри кирпича. Мобы тоже в блоках появляются иногда.
Затыкай дырки под океанами, или заполняй такие пещеры водой полностью, а то плыть через океан, накренившийся на 40 градусов как-то неудобно...
Quote (x-and1988)
Блоки можно ставить, когда создаваемый блок граничит хоть с 1 стороны с твердым блоком.

А, точно. Я на фоновую стену ставить пытался. Просто я привык, что в Террарии нельзя ставить блок чисто в воздухе (нужно присоединять к блоку рядом; но есть исключения), но при этом на любую стену (задний фон, как сгенерированный, так и установленный игроком) большинство блоков можно ставить беспрепятственно - удобно в пещерах, где эти стены сплошные, т.е. блок куда хочешь ставишь...
Quote (x-and1988)
На воде блок не ставится, но это можно убрать.

В Террарии блок, установленный на воду, как бы впитывает воду, т.е. она остаётся в нём, пока его не разрушишь... Но можно сделать вытеснение воды вбок или удаление совсем. Бесит просто, когда вода тоненькой струйкой стекает в пещеру, а перекрыть её никак нельзя. angry
Quote (x-and1988)
Пытаюсь исправить выделение блока-цели, но пока не очень успешно.

Да, съезжает от курсора вправо, если идти по карте влево...
Впрочем, это выделение только для тестирования нужно, потом его можно выключить - ясно же, что на какой блок курсор указывает, тот и выбран...
Quote (x-and1988)
Поподробнее можно?
Жду информации по поводу инвентаря\крафта.

Поиграй в Minecraft и Terraria, поймёшь, что не так и в каком направлении двигаться (главное не копировать полностью)... Например, почему-то в панель быстрого доступа перетаскивается только один объект стопки, так что нельзя узнать количества оставшихся предметов в ней... Чтобы держать инвентарь открытым, приходится удерживать tab, а это не совсем удобно, когда нужно много чего скрафтить или просто тщательно рассортировать вещи... Окно крафта вообще убогое, даже для альфа-версии... Окошко справа вверху с информацией лучше заменить или дублировать всплывающей подсказкой под курсором, так привычнее... Выбор активного предмета на панели быстрого доступа должен быть колёсиком мыши, или, как минимум, кликом мыши, как альтернатива клавишам 1-...-9-0.

P.S. Почему тема всё ещё в разделе "идеи для реализации"? smile Думаю, можно уже в "проекты в разработке" переместить.




Сообщение отредактировал TimKruz - Суббота, 24 Ноября 2012, 20:40
TimKruzДата: Пятница, 23 Ноября 2012, 19:50 | Сообщение # 350 | Тема: Файловик на сайт
старожил
Сейчас нет на сайте
25 копеек за ОРИГИНАЛЬНУЮ новость - слишком, слишком мало. Ты бы ещё предложил оригинальные статьи на несколько страниц А4 за 30 копеек писать.
А файлы ты и сам мог бы в сети найти и добавить... Или ты хочешь к ним такое же оригинальное описание? Или вообще эксклюзивные файлы? biggrin
Если нет больших денег - лучше не предлагай копейки, лучше привлекай другими качествами своего сайта...
Кстати, сайт твой мне не понравился. Я бы не стал его наполнять даже за деньги. Очередной скучный сайт, по-быстрому сконструированный на ucoz...
И никогда не трать деньги на то, с чего потом не получишь дохода. Вряд ли твой сайт когда-нибудь начнёт приносить серьёзный доход...
Однако, удачи. wink

***
Посмотри на, например, advego.ru какие там цены на статьи. Конечно, новость - не статья, но хорошая новость это как половина статьи. Плюс новость должна быть своевременной и появиться раньше всех, так что действительно свежая новость выходит намного дороже статьи.




Сообщение отредактировал TimKruz - Пятница, 23 Ноября 2012, 19:54
TimKruzДата: Пятница, 23 Ноября 2012, 19:27 | Сообщение # 351 | Тема: Создание сервера на Delphi
старожил
Сейчас нет на сайте
Quote (Nanotentacle)
Чтобы избежать задержек, обусловленных динамическими массивами

Лучше использовать динамический список, потому что удаление элементов из середины будет быстрее. Правда, доступ к элементу только перебором всех имеющихся элементов (иногда прямого доступа к ячейке вообще не нужно, все они так и так по кругу обрабатываются), но зато быстро меняется длина, занимается памяти ровно столько, сколько нужно, и не нужен целый блок памяти, как для массивов...
Quote (Nanotentacle)
Да, вполне вероятно, что это будет занимать больше оперативной памяти, но для меня на данном этапе это не сильно критично (кстати, если кто-то в курсе, подскажите, насколько это станет критичным при больших нагрузках?).

Зависит от того, сколько памяти занимается другими данными. Можно использовать простой массив (достоинство - высокая скорость доступа к нужной ячейке), если не нужно менять его размер. Если у сервера мало памяти, то использование динамических структур поможет только при малом числе игроков.
Quote (Nanotentacle)
Тут я видел два решения проблемы: либо дать клиенту волю, но ставить жесткие проверки на сервере, либо проводить параллельные вычисления на стороне сервера, который априори не доверяет информации с клиента.

Можно всё обрабатывать на сервере, а клиент только отправляет запросы на действие и получает результат для вывода на экран. Это повышает нагрузку на сервер, зато разгружает игроков и сводит возможность обмануть сервер практически к нулю.
Можно обрабатывать не каждого игрока отдельно, а игровой мир целиком, так нагрузка на сервер должна уменьшится, если правильно подойти к этому... Правда, в случае игровых комнат по 8 человек этот приём неприменим, всё равно дробление получается.
Quote (Nanotentacle)
4) Слегка оптимизировал запросы.

Вот запросы нужно сильно оптимизировать. Чтобы не слать огромные структуры с кучей мусора каждую миллисекунду. Только самое важное, только в свёрнутом виде.
Просто интересно узнать формат запросов. В идеале это должно представлять собой строго определённый код, где каждый байт имеет своё имя и назначение. А то я где-то тут видел, как кто-то шлёт огромные XML-файлы с информацией, которую можно сжать в пару десятков байт. wacko
Quote (Nanotentacle)
Ведь, представьте, переменная типа Boolean занимает всего 1 бит. Для пересылания по сети 1го знака я использую 1 байт информации - а это в 8 раз больше, чем мне требуется!

Переменная типа Boolean занимает 1 байт (потому что меньше нельзя, адресуются только байты), но значение имеет только один бит.
Используй битовый сдвиг. Если, например, используется 8 булевых переменных, их можно свернуть в один байт битовым сдвигом, а потом снова развернуть (для удобства использования). Но если используешь 7 булевых переменных, по-любому останется 1 "лишний" бит, который никуда не используешь, если все остальные данные занимают целые байты. Однако есть ли смысл задумываться о каком-то лишнем бите, когда скорости передачи данных гораздо быстрее?
Quote (Nanotentacle)
Я понимаю, что методы архивирования придуманы уже давно, и их надо изучать, но, согласитесь, до таких вещей лучше дойти своей головой и понимать, зачем оно надо. Так что еще одной задачей для себя я ставлю максимальное сжатие траффика.

Архивировать что-либо имеет смысл только тогда, когда это что-то имеет большой размер. Так что нужно оценить скорости сжатия/разжатия и коэффициент сжатия (сильнее сжатие - меньше скорость, больше скорость - слабее сжатие), потому что может получиться выигрыш в какую-то там жалкую миллисекунду или даже наоборот, убыток...
Quote (Nanotentacle)
На данный момент сервер без труда держит 8 игроков, загружая процессор не более 1% при заполненной комнате (учитывая, что процессор тут отнюдь не самый мощный). Мне пока очень трудно предсказать, как же игра поведет себя не в лабораторных условиях, но радует, что пока все выглядит оптимистично и мне интересно работать над проектом, узнавать новые вещи и решать сложившиеся трудности.

Можно чисто теоретически подсчитать затраты ресурсов, но лучше напиши программу-бота, которая будет симулировать среднюю или максимальную активность игрока плюс теоретический разброс времени ответа (пинг) клиента и проблем соединения (потеря пакетов, лишние/фальшивые пакеты, резкое падение скорости или выброс игрока из игры), и подключай её к серверу (желательно, чтобы она симулировала сразу несколько игроков). Так можно быстро на практике оценить мощность сервера, оценить возможные проблемы... По-любому такой тест придётся делать перед тестом с настоящими игроками.
Quote (Nanotentacle)
Так что следующим этапом изучения для меня стала многопоточность.

Не понимаю смысла многопоточности в таких ситуациях. sad Всё равно реально процессор параллельно обрабатывает столько инструкций, сколько у него ядер, т.е. для двухъядерного процессора реальный прирост скорости может быть только от двух параллельных потоков вместо одного, который выполняет функции этих двух, но подряд. А потоки ещё нужно синхронизировать с ядром программы и вообще контролировать, так что проще без них... wacko


TimKruzДата: Пятница, 23 Ноября 2012, 18:07 | Сообщение # 352 | Тема: [2D] Infinite world
старожил
Сейчас нет на сайте
Система освещения странная. На поверхности вокруг персонажа ореол света есть, но в пещерах он практически не работает. Особенно плохо то, что в пещерах, в боковых ответвлениях, часто невидно блоков, т.е. нельзя определить их тип... Понятно, что там света нет, но ведь персонаж какой-то свет излучает...

Поработай над инвентарём... Сейчас инвентарь никуда не годится. И над крафтом тоже.

Quote (x-and1988)
Опция автоподбора. Выброшенные вещи игроком не подбираются автоматически.
Опция свободного перемещения.

Какие кнопки переключения? Не нашёл что-то.
Quote (x-and1988)
создание блока\ действия над объектом ПКМ.

Глючит. Блоки ставит не всегда и как-то кривовато. wacko Например, рядом с персонажем не ставит, а только на определённом расстоянии.
Кстати, почему нельзя на воду ставить? Например, у меня вода в дырку стекает, хочу её заткнуть - а не получается поставить блок. sad
Quote (x-and1988)
Немного это сколько?

Ну совсем немного, наверное, где-то до края той карты, которая картинкой сохраняется.
Quote (x-and1988)
я надеюсь, если прорисовать их хорошо, чтобы различие было видно - то и будет хорошо

Это верно...
Quote (x-and1988)
Исправлено, поидее. Надо будет её убрать вообще.

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


TimKruzДата: Четверг, 22 Ноября 2012, 22:38 | Сообщение # 353 | Тема: Не могу открыть файл .gmk
старожил
Сейчас нет на сайте
Quote (fireday)
Просто на покупку денег жалко, так как я еще не знаю ГМ. Понравится ли на нем мне делать игры.

В таком случае следует использовать бесплатную версию продукта... Но можно использовать крякнутую полную, всё равно лицензия, по сути, нужна только для коммерческого использования, а изучать среду можно и так...
Quote (fireday)
Дело в том, сможет ли он осилить большие проекты? Такие как 2д ммо?

Смотря как и что делать будешь. 2D MMO - понятие растяжимое. Естественно, супер-пупер игру GM не потянет, но на нём можно делать вполне приличные и конкурентоспособные игры...
Quote (fireday)
И, мне как программисту, не очень привычно совершать некоторые действия через объекты.

Ты что, с ООП не знаком? surprised
Quote (fireday)
Не люблю я кряки, запихивают в них, бывает, лишнего...

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


TimKruzДата: Четверг, 22 Ноября 2012, 18:51 | Сообщение # 354 | Тема: Не могу открыть файл .gmk
старожил
Сейчас нет на сайте
Quote (Gaydar1996)
имеет даже поддержку 3д

3D в GM появилось раньше 8-й версии.
Quote (Gaydar1996)
русифицируй

Нормальный русификатор сложно найти, и вообще лучше оригинальным английским пользоваться, чтобы не путаться в функциях (в уроках часто используют оригинальные названия, а не перевод)...
Quote (fireday)
Ставить lite или качать full и крякнуть?

В бесплатной версии куча функций урезано и полупрозрачный логотип GM в игре весит всё время, плюс сплеш-скрин после закрытия игры.
Quote (fireday)
Хм, кстати, а разве среда так мало весит? Инсталер всего 12 мб... Удивило.

А чего ты хотел? 100 МБ или 1 ГБ? Это же GameMaker...

Quote (fireday)
Пожалуйста можно ссылочку откуда качать гм (и кряк тоже).
Quote (ErrantBug)
Но если что, вот ссылочка.

Просить кряки и публиковать ссылки на крякнутые программы на gcup.ru запрещено. ErrantBug, удали ссылку, пока бан не получил. wink


TimKruzДата: Среда, 21 Ноября 2012, 21:22 | Сообщение # 355 | Тема: Argo Player
старожил
Сейчас нет на сайте

Quote (ErrantBug)
Человек год доводит программу до ума

Можно подумать, он каждый день с утра до вечера пишет код этой программы или рисует новый скин. biggrin Если бы это было так, давным-давно получился бы вполне конкурентоспособный плеер...
А если человек целый год доводит-доводит программу до ума, но не туда доводит - нужно ему подсказать, куда доводить...

***
Quote (EchoIT)
TimKruz, мне нравится твоя любовь к письму, но когда видишь столько текста в одном сообщении - сразу желание читать отпадает. biggrin

Я теперь специально абзацы пустой строкой разделяю, чтобы читать проще было. smile
Quote (EchoIT)
Автор, уважуха тебе за упорство, но за год можно было сделать и получше, ты за работу над плеером по-моему раз в неделю садишься...

Точно. Но, по-моему, не в неделю, а в месяц. biggrin




Сообщение отредактировал TimKruz - Среда, 21 Ноября 2012, 21:23
TimKruzДата: Среда, 21 Ноября 2012, 20:55 | Сообщение # 356 | Тема: [2D] Infinite world
старожил
Сейчас нет на сайте
Quote (x-and1988)
А вот это странно - под водой, персонаж постепенно тонет, но если выплыть на поверхность воды - он будет сам держатся наплаву. И только после этого можно прыгать (из положения над водой).

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

Когда всплываешь и держишь кнопку вверх, персонаж быстро дёргается. Раздражает. Похоже, ты сначала перемещаешь объект вперёд, потом проверяешь столкновение и, если оно есть, возвращаешь назад. Лучше делать проверку столкновения до перемещения, так будет более гладко перемещаться.

Я понимаю, что текстуры чисто тестовые, но сам механизм получения фоновых стен как-то неправилен. В пещерах-расщелинах какой-то отдельный от всего остального фон, а за блоками камня такой фон, что сливается с самим блоком камня. В той же Террарии генерируемых фонов всего несколько, и они располагаются по слоям. Например, сверху весь фон земляной, ниже появляются прожилки камня и т.д. Подразумевается, что в верхней части камни - редкие гости, вокруг них одна земля, тогда как в глубине наоборот, земля встречается меньше и окружена камнем. Я не рекомендую всё чисто копировать, но однородный фон выглядит приятнее, чем фон с вкраплениями уже удалённых блоков... Да и не будет проблем с сливанием уже удалённых блоков с оставшимися... Можно дополнить идею однородного фона, сейчас не могу сразу придумать чего-нибудь такого...

Красная полоска-указатель в последней версии почему-то часто попадает не туда, куда нужно (не охватывает всю окружность, а занимает только определённые положения), так что трудно попасть по нужному блоку... wacko

Quote (x-and1988)
а это картинка сгенерированной карты. миникарта, так сказать.

Ну я имел в виду файлы карты (*.map), а не картинку, но мне показалось.
Немного прошёл вправо и карта уже весит 7 МБ. sad Специально глянул, сколько весят файлы карты малого размера (они сразу генерируются, по выбранному размеру) Террарии - всего 9.5 МБ, с учётом того, что она довольно большая (несколько минут топать до края, если пешком) и глубокая, плюс там куча ресурсов и дырок в ландшафте. Оптимизируй хранение карты, есть к чему стремиться в этом плане. smile

Может быть, не стоит делать карту бесконечной и генерируемой по мере исследования... Пусть в Майнкрафте бесконечные карты, ограниченные только ресурсами компьютера, но кому нужны эти дальние дали? Ландшафт всё равно однообразный, ресурсы и враги одни и те же. А в мультиплеере почти всегда карту ограничивают на сервере, и ничего - сотни игроков уживаются на относительно небольшой карте...




Сообщение отредактировал TimKruz - Среда, 21 Ноября 2012, 20:57
TimKruzДата: Среда, 21 Ноября 2012, 20:12 | Сообщение # 357 | Тема: Argo Player
старожил
Сейчас нет на сайте
Quote (tifaso)
Как понять? Обьясни ка по подробнее порядок твоих действий и полученный результат.

Всё просто. У тебя конкретно глючит список песен и воспроизведение из него. То есть воспроизводит не то, куда кликаешь, постоянно выбирает что-нибудь другое и так далее. Если открыть только один файл - совсем не воспроизводит или воспроизводит "пук-пук-пук". Плеер согласился воспроизвести чего-нибудь только тогда, когда я открыл папку с музыкой (то есть в плей-листе сразу несколько файлов). Однако, как я уже сказал, он выбирает не то, на что кликаешь, хотя воспроизводит нормально... А ещё переход после проигрыша работает фигово, всё время выдаёт не то, что идёт следом в списке, хотя "в случайном порядке" выключено. Ну, надеюсь, ты понял, в каком направлении копать нужно...
По сути, корректный выбор нужного файла производится только кнопками "следующая/предыдущая музыка" - и правда, первая выбирает ровно следующую, а вторая - предыдущую... Даже странно как-то, что не наоборот, учитывая количество остальных багов. biggrin

Так, далее. Как я, кажется, уже писал тут, кнопка "воспроизвести/пауза" и соответствующая ей надпись часто не соответствуют реальности, а иногда даже друг с другом не согласуются. Т.е. иногда музыка молчит, а написано "воспроизведение" и горит кнопка "пауза", после её нажатия - "пауза" и кнопка "воспроизвести"; а потом они и вовсе соответствовать друг другу перестали... wacko Но иногда бывает - исправляются, работают, как им и следует работать...

Во всплывающем меню плейлиста опечатка - "следуящая музыка".

Блин, тут ещё существенный баг - я его остановил уже, чтобы заткнулся, а он выбирает случайную музыку и воспроизводит... surprised Даже если его не трогать, просто смотреть на него и ждать - берёт и воспроизводит. angry Он у тебя что, "с элементами искусственного интеллекта", сам что-то там думает, решает, выбирает? biggrin

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

Во время загрузки сплеш-скрин имеет рамку окна Windows - нужно убрать.
Сразу после загрузки программы окно мышью перемещается сильными рывками - тормозит... Потом (кажется, после воспроизведения чего-нибудь) - нормально.
Сразу после загрузки пишется надпись "Воспроизведение:" и кнопка "Пауза", хотя, конечно, ничего в плей-листе нет и не воспроизводится.

О скинах. Если программа запускается из-под пользователя, Windows не разрешает ей сменить скин, т.е. твоя программа пытается сменить скин, но в итоге остаётся стандартный скин, и ни каких сообщений-предупреждений не выводится. Проблема устраняется запуском с правами администратора.
В остальном скины отображаются нормально, если не считать некоторых дырок в прямом смысле слова; все скины не проверял, но в обоих "Vista"-скинах полоски-уровни (громкость, перемотка) имеют фоновую дырку по всей длине; они же имеют дырки в углах в других скинах; скинах со срезанными углами главное меню не срезает себе уголки, перекрывая основное окно... А ещё у твоих скинов по-прежнему ядовитые цвета, пиктограммы мелких кнопок неразличимы. Иногда совсем неразличимы.

А ещё. Тоже о скинах. Ну не знаю, как ты отреагируешь... НО НАФИГ ПОСТАВЛЯТЬ В КОМПЛЕКТЕ АЖ 12 СКИНОВ BMP-КАРТИНКАМИ ОБЩИМ ВЕСОМ ПОД 18 МБ, ЕСЛИ ПОЧТИ ВСЕ ОНИ ЯРКО-ЯДОВИТЫЕ И С УБОГИМ ГРАДИЕНТОМ, И ПРИ ЭТОМ ЕСТЬ СПЕЦИАЛЬНЫЙ РЕДАКТОР СКИНОВ?!! При этом остальных файлов чуть больше 1 МБ плюс 8.25 МБ программа. Такое ощущение, что эти скины - основная часть программы, а функция воспроизведения музыки чисто бонусом идёт. angry Скины - это бонус, они не очень важны.
Ну если не хочешь удалять лишние скины - хотя бы конвертируй в png, меньше весить будет.
А вообще, советую попросить кого-нибудь нарисовать один-два красивых скина и всё. Больше не нужно - только один-два официальных и, обязательно, красивых скина, остальные пользователь сделает сам, если, конечно, захочет.

Кстати. Почему программа-то весит 8.25 МБ? Хотя нет, сам на этот вопрос отвечу. Потому что у тебя там куча приклеенных и неиспользуемых bmp-картинок, куча неиспользуемых курсоров, куча неиспользуемых иконок. Плюс куча таблиц строк и дофига RC-данных, но, похоже, от них не избавиться. А ещё, видимо, ты компилируешь вместе с информацией для дебагга (смотри ошибку ниже), которая во многих средах разработки весит много, но её можно просто исключить, покопавшись в настройках сборки проекта.
Кстати, судя по таблицам строк - ты зачем-то используешь сокеты Windows (WinSock), т.е. у тебя там есть функции или целые компоненты для передачи данных через интернет. Интересно узнать, зачем - я интернет-функций (типа самообновления) в самой программе не нашёл. huh Я к тому, что, может быть, ты сунул какой-то ненужный компонент, и забыл его удалить, или просто не используешь потенциал какого-то мощного компонента по-максимуму.

На будущее: exe удобно сжимать специальным архиватором типа ASPack - весит меньше, а запускается почти как обычно. Правда, что-то с твоей программой не то, видимо, из-за того, что она на PHP. В обычном режиме сжимается до 11% (в итоге весит примерно 1 МБ), но после запуска почему-то требует php5ts.dll. wacko Если же в ASPack выбрать опцию "сохранять оверлеи" - в итоге программа работает нормально, но сжимается только до 78% (6.45 МБ)... wacko

А ещё ошибка пару раз почему-то вышла. Не заметил - то ли после закрытия программы, то ли во время воспроизведения. Заголовок "APP", а вот текст:
Code
Fatal error: Call to a member function loadFromFile() on a non-object in
C:\Program Files (x86)\Agro Player\-(1): eval()'d code on line 4


Quote (tifaso)
Ну тогда всё должно работать!

Ты настолько уверен в своей программе? wink
Quote (tifaso)
Аха всё ясно на семерке, а у меня её и нету. Была, но я её сразу снёс и вернул XP. А уже кстати были жалобы на совместимость с Windows 7, а вот в Windows XP всё хорошо работает

Кажется, я когда-то давно тестировал её на XP, и там тоже были существенные баги...
Однако дело не в системе. Программа, написанная для XP, должна нормально работать на всех последующих системах (Vista, 7, 8), потому что все они из одного семейства NT и последующие системы поддерживают все (или почти все, но это не важно) функции предыдущих версий для совместимости программ. В любом случае, если твоя программа не работает на более новых (и, главное, более популярных) системах - дело не в системе, а в твоей программе, и ты должен исправить эти ошибки, если считаешь свой проект более-менее серьёзным и хоть чуть-чуть перспективным...
Quote (tifaso)
это всё идёт от автора среды разработки программ Devel Studio. Потому как плеер разрабатывается на ней, а при создании DS за основу была взята XP, все тесты разработчика DS проводились в основном на XP.

Бла-бла-бла, во всём виноват разработчик среды разработки, а он скажет - во всём виноваты разработчики операционной системы, а они скажут - во всём виноваты разработчики персональных компьютеров, а те сошлются на физиков, а те только разведут руками, потому что законы физики не от них зависят. Можно считать, что груз ответственности за ошибки твоей программы успешно сброшен в глубины Вселенной и уже не вернётся.
Ссылаться на разработчика среды несерьёзно. Ты просто не раскрыл всего потенциала этой среды и наверняка наделал ошибок, которые зависят только от тебя. smile
Quote (tifaso)
Так что извени помочь ничем не смогу!

Ну вот. Ты потерял потенциального пользователя своего плеера. А мог бы разобраться в проблеме программы, найти причину и устранить её, тем самым увеличив себе репутацию программиста, улучшив программу и, возможно, получив преданного пользователя в придачу. smile
Quote (tifaso)
И вовсе нет она у меня и была то демка на 30 дней

В Win7 прикол такой - режим демки можно сбрасывать три раза, тем самым пользуясь 4 месяца на халяву. Да и активировать/крякнуть не так сложно...
Quote (ErrantBug)
Поздравляю, ты отстал от жизни этак лет на десять...

Поздравляю, ты тоже отстал от жизни на несколько лет. biggrin Ты пользуешься 7, а я уже пользуюсь 8, которая оказалась в несколько раз лучше 7. cool


TimKruzДата: Понедельник, 19 Ноября 2012, 21:03 | Сообщение # 358 | Тема: [2D] Infinite world
старожил
Сейчас нет на сайте
Quote (x-and1988)
При нахождении на воде\под водой управлять надо и вверх тоже, т.е. зажим вверх + прыжок, и всё ок. Как по мне - вроде удобно.

Удобно - это когда только одну кнопку жмёшь, а не целые комбинации... [W] - только плавать, пробел - прыжок, но только на суше или на поверхности воды... wacko Игроку проще иметь только одну кнопку (пробел или [w]), которая одновременно заставляет персонажа всплывать в воде и подпрыгивать.
Может, в каком-то случае раздельное управление удобнее, но у тебя получается так, что, если не нажимать пробел, персонаж плавает под поверхностью воды. Он же не рыба и задыхается; можно было бы его на половину приподнимать над водой, а только потом заставлять задействовать пробел для прыжка...

Кстати, на счёт удобности. Мне (да и многим другим, наверное), например, неудобно всё время зажимать ctrl/alt для уничтожения/установки блоков, проще сделать как обычно: ЛКМ - ломать, ПКМ - строить (так и в Minecraft, и в Terraria сделано, удобно и логично); двери и остальные предметы используются на ПКМ (ломаются/убираются, соответственно, на ЛКМ), но, в крайнем случае, ещё есть СКМ...
Или предполагается сделать какие-то особые действия кнопкам мыши?

И ещё сделай автоматическое подбирание выпавших предметов - постоянно кликать на них, чтобы подобрать, неудобно (тем более, они вроде бы не всегда реагируют на клик, или это я по ним не всегда попадаю).
Quote (x-and1988)
А вода, действительно, обрабатывается только в ближних от игрока картах

Это правильно, так нагрузки меньше; но когда целый океан сливается в дырку в земле, по бокам могут остаться стенки воды... Думаю, следует обрабатывать фрагменты воды, которые находятся за границей экрана, но при этом взаимодействуют с движущимися фрагментами на экране - нагрузка не сильно возрастёт, зато вода не будет застывать за экраном, когда она должна стекать...
Quote (x-and1988)
В консоли при этом было что-нибудь подозрительное? похожее на ошибку.

Да кто её знает, я в этой консоли не разобрался - куча сообщений... wacko Но явно ошибка была, потому что после перезагрузки игра нормально сохраняла - несколько секунд, дальше титры. А сохранение происходит всей карты или только изменённых игроком фрагментов? Вроде бы игра ещё при генерации карты что-то создаёт в папке map...
Quote (x-and1988)
Прыжки да, проверки, что прыжок начинается с земли, пока что нет. Будет.

Не обязательно делать такую проверку. Можно выделить булеву переменную, если её ещё нет - типа jumping. При нажатии пробела и если jumping=false, включается режим прыжка и jumping выставляется в true, после отпускания пробела или после достижения максимальной высоты прыжок завершается, но jumping сбрасывается на false только после столкновения с землёй. Я так делал, работает нормально, только замечается особенность - при умении можно "прыгать головой" по наклонным (не по горизонтальному потолку или вертикальным стенам) поверхностям... Правда, это всё ещё от обработки самого движения влево-вправо и падения зависит. А, ну тут ещё можно в воздухе подпрыгнуть один раз (в некоторых играх такая фишка есть и может уберечь от смерти от падения, но падение происходит быстро и подпрыгнуть всё равно не успеваешь), но это можно устранить включением jumping в тот момент, когда персонажу придаётся вертикальная скорость...
Quote (x-and1988)
Факелы вообще предметы, которые необязательно прикреплять к чему-то. Видимо, для простоты разработки. Если действительно необходимо, чтобы они крепились на стены, и тд - возможно сделать и так.

Ну если они будут крепиться на фоновые стены (помимо обычных блоков) - пусть будет так, главное чтобы они на небо не прикреплялись. biggrin

Деревья какие-то слишком прочные... wacko И после срубания листва (довольно много, блоков меньше было) падает будто из воздуха...




Сообщение отредактировал TimKruz - Понедельник, 19 Ноября 2012, 21:05
TimKruzДата: Воскресенье, 18 Ноября 2012, 20:06 | Сообщение # 359 | Тема: Проблема с 7.
старожил
Сейчас нет на сайте
Quote (Strateg)
А как тогда там драйвера обновлять?

Как и раньше. У тебя же проблема с одним драйвером...
Слушай, если у тебя сначала не тот драйвер встал - он может конфликтовать. Попробуй сначала вручную его удалить (Диспетчер устройств - Нужное устройство - Свойства - Драйвер - Удалить), а потом снова установи нужный.

В принципе, Windows автоматически устанавливает дрова для всех устройств так, чтобы они выполняли свой базовый функционал. Ну, типа если у тебя мышь или клавиатура с десятью дополнительными кнопками - для их работы нужны специальные драйвера, но базовый функционал мыши/клавиатуры будет выполняться нормально... У тебя что, сетевая карта вообще отказывается работать?

Quote (Strateg)
Хотя сетевая карта 1

Или действительно два разных устройства (хорошо было бы проверить другой системой...), или что-то одно из них ненастоящее. Призрак типа. biggrin

***
Quote (Strateg)
А directX нужно скачивать?

DirectX должен быть установлен по-умолчанию системой, куда уж без него. Проверь так: пуск - выполнить (или WinKey+R) - набери "dxdiag". Выведет окно с информацией о системе и DirectX. Правда, у меня после чистой установки системы (Win8) некоторые игры просто не находят библиотеки DirectX 9, хотя система сообщает об уже установленной DirectX 11...




Сообщение отредактировал TimKruz - Воскресенье, 18 Ноября 2012, 20:10
TimKruzДата: Воскресенье, 18 Ноября 2012, 19:38 | Сообщение # 360 | Тема: Проблема с 7.
старожил
Сейчас нет на сайте
Quote (Strateg)
у меня максимальная версия 7 но она все время что то обновляет.

У меня Win7 базовая первое время очень часто обновлялась, потом значительно реже, а потом я вообще автообновление выключил, чтобы не мешало.
Quote (Strateg)
Сколько уже можно обновлять, ведь так много же не надо наверное?

Надо, Strateg, надо. Виндоус хочет обновляться - Виндоус будет обновляться, и ты не можешь помешать ей. devil
А если серьёзно, обновления Win7 всё ещё часто выходят, в микрософт активно фиксят баги... Но после окончательного распространения Win8 обновлений Win7 должно стать меньше - просто нет смысла (для микрософт) лепить заплатки на старую систему, если есть новая...
Quote (Strateg)
Ну, а 1 раз надо полностью же обновить???

Не обязательно, там мелкие баги исправляются. Так-то и на самой первой версии сидеть можно.
Quote (Strateg)
Все заработало, но как только перезагрузил систему, драйвера опять слетели. Снова установил — работает. Перезагружаю и опять тоже самое.

Точно подходящую версию драйверов устанавливаешь? Может пытаешься старую версию на Win7 сунуть, вот они и конфликтуют... wacko
Может быть, антивирус или встроенный защитник блокирует изменения, или после обновления специально сбрасываются.


Поиск:

Все права сохранены. GcUp.ru © 2008-2025 Рейтинг