Я через практику изучаю, как писать браузерные игры с мультиплеером. Пока что показать мне нечего. Сейчас я пишу Крестики-Нолики по сети. Потом Морской Бой напишу. Что я могу из собственного скромного опыта сказать. Сеть - это сложнее, чем одиночная игра, но очень интересно. Я выбрал Node.js, язык TypeScript (на сервере и клиенте) и библиотеку socket.io. Для базы данных выбрал MySQL. Клиента я решил писать без движок, а на WebGL/GLSL и библиотека для математики glMatrix. Без движков, потому что мне так хочется. Если вам захочется использовать для сервера JavaScript/Node.js/socket.io, то можете посмотреть, как начать в этом видео: 1- Making Multiplayer HTML5 Game: Setup & Sending Files. NodeJs Tutorial Guide
Сообщение отредактировал 8Observer8 - Четверг, 05 Декабря 2019, 08:56
Оказывается у разработчиков WarCraft 3 свой бинарный формат ".mdx". Я думал, будет текстовый формат, тогда бы можно было понять, как хранятся кости и написать плагин на Python для импорта в Blender. Я разобрался, как хранятся кости моделек из игры Resident Evil. Начинаю писать плагин и думал у вас такая же история. По вашей теме, я в поисковике набрал "mdx to blender" и нашёл вот такой плагин, попробуйте может сработает: https://github.com/PavelBlend/Blender_WarCraft-3
Сообщение отредактировал 8Observer8 - Вторник, 26 Ноября 2019, 15:43
sparda9000, та на которую вы дали ссылку сделана на Adobe Flash (можно узнать, если правой кнопкой тыкнуть) Лично я изучаю для серверной части Node.js + SocketIO, а для клиентской части супер быстрый браузерный 2D графический движок PixiJS и игровой фреймворк Phaser. Они используют HTML5 <canvas> элемент для отображения графики.
sparda9000, та на которую вы дали ссылку сделана на Adobe Flash (можно узнать, если правой кнопкой тыкнуть) Лично я изучаю для серверной части Node.js + SocketIO, а для клиентской части супер быстрый браузерный 2D графический движок PixiJS и игровой фреймворк Phaser. Они используют HTML5 <canvas> элемент для отображения графики.
У меня очень много всего установлено, в том числе и SP2, ZBrush, 3DsMax и много чего ещё. Я смотрел туторы по SP2, импортировал тектуры в Unity, поэтому представляю, как в нём легко, так как там много готовых материалов. Хочется бесплатного аналога. Есть подозрение, что у Quixel есть беcплатная версия. С другой стороны для моей программерской графики и моделей достаточно будет всё делать в Blender'е. Надо регулярно практиковаться.
Добавлено (27 декабря 2016, 15:40) --------------------------------------------- Orlangor, вы не могли бы скинуть ссылку, где можно скачать ваши модели с текстурами? Хочу попробовать, как они будут смотреться в движках Unity и Babylon.js
В SP2 много готовых материалов и говорят несложно в нодовом режиме сделать свои в Substance Designer. Конечно, я такое не сделаю, я программист, а графику и моделирование изучаю, чтобы делать простые прототипы и мне это очень интересно. Я понял, что нужно быть виртуозом, чтобы сделать не хуже, чем в SP2, невыходя из Blender. Я никак не пойму у Quixel есть бесплатная урезанная версия или у них триал? А что ещё есть из бесплатного типа SP2 и Quixel?
Сообщение отредактировал 8Observer8 - Вторник, 27 Декабря 2016, 14:28
Пока что я никакой тонкой настройки не увидел, потому что я новичок. В списке, где "Object Mode" и "Edit Mode" есть пункт "Texture Paint", где можно рисовать прямо на 3D модели и при этом использовать слои, как гимп и фотошоп. Для запекания нужно в Bake выбрать "Textures" и нажать кнопку Bake, тогда все слои запекаются в одно изображение. Видимо, я далёк от реального положения дел и художникам намного удобнее другие редакторы. Это я не спорю, а просто делюсь своим видинием.
Ещё есть пункт "Sculpt Mode" для создания Normal Map. Нужно создать копию модели, сделать её высокополигональной и тогда можно в этом режиме создавать детали, чтобы запечь Normal Map. Я не представляю, как можно создать Normal Map не в Blender'e, а в фотошопе или гимп, потому что проще это делать в "Sculpt Mode", видя как это на 3D модели будет. Конечно, можно в ZBrush, но тогда и Blender вообще не нужен, потому что, вроде ZBrush лучше работает в компании 3DsMax - у них более тесная связь.
Ambient Occlusion Map вроде часто запекают в Blender'е. Насколько я видел по урокам.
Ну а для создания Specular Map тоже не вижу проблем создания его в Bledner'e, потому что есть разные кисти, можно покрутить под светом. А что есть из бесплатного для создания Specular Map, такое же как Substance Painter?
Сообщение отредактировал 8Observer8 - Вторник, 27 Декабря 2016, 14:09
Orlangor, вы умеете создавать текстуры в Blender'е? Я имею ввиду, не выходя из Blender'а слои Diffuse Map, а так же запекать Normal Map, AO, Spacular Map? Если да, то у меня вопрос такой: можно ли в Blender создавать текстуры не хуже чем в Substance Painter? Как считаете?
У меня мелькнула мысль, что до нас эту задачу решали. Выяснил, что у Кнут'а есть 4-й том разбитый на части: Искусство программирования, том 4А. Комбинаторные алгоритмы , часть 1 Искусство программирования, том 4, выпуск 2. Генерация всех кортежей и перестановок Искусство программирования, том 4, выпуск 3. Генерация всех сочетаний и разбиений
Если для автора темы всё ещё актуальна эта проблема, то возможно в книге он найдёт что-то полезное для себя.
falcoware, хорошо, для тройного + двойной + одинарный алфавитов - ваш подход работает. Напишите, пожалуйста, подробнее, как быть со строками произвольной длины.
Вот что сейчас выдаёт программа: abc bc acb cb bac ac bca ca cab ab cba ba a b c
Код
using System; using System.Collections.Generic;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { char[] arr = { 'a', 'b', 'c' };
List<string> result = getCombinations(arr);
// Show result foreach (var item in result) { Console.WriteLine(item); }
// Delay Console.ReadKey(); }
public static List<string> getCombinations(char[] arr) { List<string> resultList = new List<string>(); string sStringResult1; string sStringResult2;
for (int ix = 0; ix < arr.Length; ix++) { for (int iy = 0; iy < arr.Length; iy++) { for (int iz = 0; iz < arr.Length; iz++) { if (ix == iy) { continue; } if (ix == iz) { continue; } if (iy == iz) { continue; }
foreach (var item in arr) { resultList.Add(item.ToString()); }
return resultList; } } }
Добавлено (24 декабря 2016, 20:13) --------------------------------------------- Rean, отличная работа! Маленькое замечание. У меня VS ругнулся на строку "if (!lStr.Contains(ch))", что не может преобразовать "char" в "string", я добавил преобразование в строку "if (!lStr.Contains(ch.ToString()))"
Сообщение отредактировал 8Observer8 - Суббота, 24 Декабря 2016, 20:14
Вот этот комментарий "тут все комбинации порядковых номеров. от нуля до 3" (точнее, будущий код под ним и что там должно быть?) как влияет на результат sStringResult?
Сообщение отредактировал 8Observer8 - Суббота, 24 Декабря 2016, 16:31
Как следствие, 2D игры сделанные на обоих движках весят неприлично много даже по меркам некоторых трехмерных игр
От 25 МБайт и выше на Untiy - это сейчас мало кого пугает, даже для Android и iOS. Неприлично много - это если делать 2D игру на Unreal Engine 4. Я помню делал демку Super Mario на UE4, когда собрал в Exe, то сборка весила толи 300, толи 600 МБайт. Если CryEngine 5 позволяет делать 2D игры, то там вообще нужно включать в сборку все файлы движка целиком, а это свыше 3 ГБайт.
Сообщение отредактировал 8Observer8 - Среда, 14 Декабря 2016, 16:02