• Что можно приготовить из кальмаров: быстро и вкусно

    Решил посмотреть, а что собственно есть на эту тему - накопал страницу википедии - само-собой на аглицком языке. Итак начнем! Движки рассматриваются только бесплатные и открытые.

    Agar - написан на C и C++, есть связь с языком Ада, с другими - в разработке. Последнее обновление 30 октября 2008 года.
    - разработан Open Source сообществом на основе исходных кодов игры Marathon 2: Durandal, разработанной компанией Bungie Software в 1995 году. Поддержка основных операционных систем. Есть собственный язык Marathon Markup Language, поддержка Lua. Обновлялся последний раз 22 июля 2008 года.
    Allegro - библиотека для разработки игр. Написана на С/С++, кросплатформенная. Есть связь практически с большинством языков - Ada, C++, C#, D, LISP, Lua,Mercury, Pascal, Perl, Python, Scheme и др.
    Blender GE - ну думаю в представлении не нуждается.
    - движок на основе Doom
    Box2D - кросплатформенный игровой физический движок, написан Erin Catto на С++. Известен тем, что использовался при создании игры Crayon Physics Deluxe (пазлы). Взял премию в IGF (Independent Game Festival).
    CranLib - кросплатформенная объектно-ориентированная библиотека на C++. На форуме сайта видно движение - проект актуальный.
    Crystal Entity Layer - расширение движка Crystal Space
    Crystal Space - хорошая среда разработки. Работают совмество с разработчиками Blender.
    Cube - кросплатформенный движок одноименной игры для создания шутеров.
    DarkPlaces - сильно модифициоранный движок Quake с поддержкой современной графики.
    Delta3D - кросплатформенный, хорошо развивается, свежий релиз вышел совсем недавно.
    Doom - теперь уже открытый и бесплатный движок.
    DXFramework - движок по Win (использует DirectX) для скорее образовательных целей.
    EternityEngine - еще один модифицированный Doom движок.
    открытая реализация популярного движка Ultima IV.
    FIFE - дфижок для создания 2D изометрических игр.
    GZDoom - еще один модифицированный Doom.
    Genesis3D - 3D движок реального времени под Windows
    GenesisDevice - мощный движок, написанный на Object Pascal под Windows платформу.
    Horse3D - маленький и мощный движок.
    - кросплатформенный, написан на С++, поддерживает языки #NET,java, perl, ruby, basic, python, lua, и другие.
    jMonkeyEngine - Java - движок.
    - основанный на Java клиент-серверный движок для создания он-лайн игр типа шашки, шахматы и тд.
    KallistiOS - среда разработки для игровых консолей Dreamcast(tm), Gameboy Advance(tm), Playstation 2(tm), and x86-based компьютеров.
    Lightfeather - кросплатформенный, отличный движок!
    Nebula Device - 3D движок реального времени разработанный студией Radon Labs. Обновлялся в сентябре 2008. Расчитан на Windows, но есть порты на Mac и Linux.
    OGRE Engine - очень популярный обьектно-ориентированный графический движок. Также известен как OGRE3D. Написан на С++. Существует поддержка Windows, Linux и Mac OS.
    ORX - портативный легкий игровой 2D-ориентированный движок. Написан на С с архитектурой плагинов (на С++) - кросплатформенный.
    Panda3D - относительно легкий в использовании python-управляемый игровой движок созданный Carnegie Mellon University . Его использует Disney для производства своих игр.
    RealmForge - движок для.NET
    - движок для создания шутеров от первого лица (Windows).
    Sauerbraten модифицированный кросплатформенный Cube (aka Cube2) движок.
    SDL - библиотека SDL. В комментировании не нуждается.
    SFML простая и быстрая мультимедиа библиотека.
    Spring - мощный игровой движок реального времени.
    - хороший движок для создания 2D игр. В 2007 году разработчики перешли в проект Bos Wars
    Xilon II - непримечательный 2D движок под Visual Basic .NET

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

    В следующий раз рассмотрим просто бесплатные движки.

    Обзор бесплатных open-source игровых движков. дата: 08:12 Оценка: 5

  • Жанровая направленность: 2D/3D игры любого жанра;
  • Платформа: Windows, Linux, Mac, Solaris, Windows CE, FreeBSD, Android и т.д;
  • Лицензия: бесплатная;
  • Языки программирования: Java;
  • Открытый исходный код: предоставляется;
  • Мультиплеер: возможен;
  • Достоинства: кроссплатформенный, оптимизированный, бесплатный, открытый и свободный;
  • Недостатки: не передовые по нынешним меркам графические возможности;
  • Разработчики движка: Helge Foerster.

    jPCT - это свободный 3D-движок для Java, который позволяет использовать OpenGL и Software рендеры на выбор. Данный движок подходит для разработки мощных 3D-приложений для десктопа, Интернета и Android. А небольшие игры на нём пишутся весьма просто и удобно. Движок разрабатывается с 2002 года.

    Для разработки под мобильные устройства на базе операционной системы Android имеется специальный билд движка - PCT-AE (Android Edition). Данный вариант сборки движка заточен под Android, имеет всё те же элементы за исключением некоторых особенностей, которые были устранены или упрощены из-за специфики платформы.

    В jPCT имеется система обнаружения и обработки столкновений - простейшая обработка физики. Имеется возможность подключения библиотек, например, физической библиотеки jBullet, если не хватает простых физических законов.

    Как уже было упомянуто, jPCT поддерживает работу с Software рендером и с OpenGL, что позволяет создавать приложения на разные платформы. Используются аппаратное ускорение, различные режимы экрана и разрешения. Можно использовать Swing/AWT как AWTGLRenderer.

    У движка имеются уже готовые классы для обработки пользовательского ввода. Например, для ввода с клавиатуры используется класс KeyMapper. Вы просто создаете новый объект KeyMapper а потом можете в любое время получить состояние клавиш с помощью вызова poll(). Также jPCT предоставляет классы Object3D, Сamera, World, поддерживает несколько форматов 3D-моделей, удобный их импорт и т.д.

    Получаемые игры можно распространять под нужные вам платформы, например, для отображения в окне браузера можно использовать java-апплет через Java Webstart. Также с минимальными изменениями кода игр их можно портировать под мобильную систему Android. На jPCT разрабатываются игры любой сложности и любого типа. Например, разрабатывается MMORPG "Technopolies", произведён порт "Quake3". Игра работают через LWJGL или JOGL на Windows, MacOS X, Linux (x86) и Solaris. Запускаются и функционируют на Windows CE, FreeBSD, MacOS 9 и на многих других платформах, поддерживающих Java.

    Вместе с движком поставляются необходимые дополнительные материалы: документация и необходимые нативные библиотеки. Получаемые приложения совместимы с Java 1.1 и с прочими старыми виртуальными машинами, типа Microsoft VM и Netscape 4 VM.

    Официальный сайт: http://www.jpct.net




    JPCT is a powerful solution for bringing 3D into the Java world. You want to write a fullscreen game that makes use of hardware acceleration? No problem, jPCT can render into a native (optionally fullscreen) OpenGL window. You may even distribute your game as an OpenGL powered desktop application via Java Webstart and offer an applet version in addition.

  • jMonkey Engine . Отличная производительность, кроссплатформенность, свой SDK+редакторы, дружелюбное сообщество (вот только англоязычное). Частые обновления и отличная поддержка со стороны разрабов самого движка не может не радовать. Есть модификация версии от 2009 года, её авторы гордо именуют свой мод отдельным движком - Ardor3D (но вот только проект загнулся, какая досада). Даже официальный сайт модификации уже не работает, а перенаравляет на личный блог разработчиков. "Под капотом" стоит LWJGL (Light-Weight JavaGL), поддержка OpenGL v2+ и шейдеров. Плюшки - поддержка всякой лабуды типа Oculus Rift; возможна разработка Android-приложений.

    Мой вывод: если готовы приступить к более-чем-любительской разработке серьёзных проектов, то jME - ваш выбор.

    Bonzai Engine . Великолепные утилиты для разработки, но нет как и документации, так и сообщества. Немного отойду от темы и проведу небольшое сравнение сообществ движков jME и Bonzai Engine: в одном только Твиттере у jMonkey Engine 1725 подписчиков, а у Bonzai Engine всего 12. Продолжу: кроссплатформенность (Windows/Linux/Android), OpenGL v2+. Плюшки: редакторы есть даже на Android. Также движок обещает поддержку большого количества форматов моделей.

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

    Мой вывод: обёртка классная, а начинка оставляет желать лучшего.

    Приложения на Bonzai Engine: ???

    jPCT . Врядли библиотеку размером в 300 кб можно назвать движком, но всё же это лёгкий инструмент для создания простейших приложений. Есть неофициальный редактор, куча подробной документации и довольно большое дружелюбное(!) сообщество (был случай, что на форуме мне помогал сам создатель движка). Также есть поддержка Android (версия jPCT-AE). За "плечами" движка имеется куча приложений, созданных пользователями (лично я сам залипаю в одну игрушку). Прошу учесть, что такой "движок" не даст такую великолепную картинку, как, например, jME и Bonzai Engine, но тут FPS держится выше и стабильнее. Плюшки: поддержка скелетной анимации.

    Мой вывод: "дёшево и сердито".

    2D Движки

    Slick2D . Хороший производительный движок с открытым исходным кодом (лицензия BSD). Кроссплатформенность (Windows/Linux/Mac), поддержка OpenGL v2+. Плюшки: модуль физики jBox2D; легко делается GUI.

    Для кого эта статья: кое-что будет интересно новичкам, которые изучают квест Java Syntax, но в основном изложенный материал лучше зайдёт тем, кто уже перевалил за экватор курса (разбирается с квестами Java Collections и Java Multithreading) и начинает интересоваться технологиями, выходящими за рамки Java Core. За время своего существования Java изрядно обросла библиотеками. Но как понять, какие из них стоит использовать, а какие - нет? Отделить зёрна от плевел вечно занятому разработчику крайне непросто. В этой статье Мартин Пацов (Martin Patsov), Full Stack Developer компании Dreamix, расскажет о своей любви к библиотекам с открытым исходным кодом (open source), и предложит вам те из них, которые считает особенно полезными. Быть иль не быть, вот в чём вопрос: Спасеньем обернётся иль провалом Та самая библиотека Java… Смелей! «СиньйОры» уже были там И опыт их тебе я передам. Пусть вас не вводит в заблуждение моё поэтическое отступление. Библиотек в Java действительно очень много, и разбираться с ними ох как непросто. Тем не менее, я их очень люблю. Меня даже можно назвать «библиотечным евангелистом» (под «евангелистом» в сфере ИТ понимают вовсе не составителя канонический евангелий, а того, кто профессионально пропагандирует ту или иную технологию. Не путайте с обычными пиарщиками: чаще всего ИТ-евангелист досконально разбирается в продвигаемой им технологии. - прим. ред. ). Библиотеки - очень важная часть экосистемы open source. Вокруг них вырастают большие сообщества, которые их развивают и поддерживают. И это здорово. Главное достоинство библиотек в том, что они позволяют нам не изобретать велосипед всякий раз, когда мы пишем код. Используйте библиотеки - уже написанный для определённых задач код - как можно чаще! Вы сэкономите время. Серьезно, лучше потратить его на общение с семьей и друзьями.

    1. Стандартные библиотеки Java

    Да-да, вам не показалась! Очень многие люди недооценивают, более того - не знают массы возможностей - стандартных библиотек Java (Java Standard Libraries), и не в курсе, как раскрыть их потенциал в программировании… а то и вовсе не используют их. Вот краткое описание некоторых из них:
    • java.lang . Эта библиотека всегда импортируется в любое Java-приложение, поскольку содержит всё то, без чего вы в принципе не сможете программировать (String , Double , Enum , Math и так далее).

    • В java.util вы можете найти все коллекции и структуры данных, доступные в Java.

    • Далее, у нас есть java.io для чтения файлов, работающих потоками, объектами класса Pipe и так далее.

    • О первых трёх вы, скорее всего, уже слышали. А вот с java.nio , альтернативой java.io , знают уже не все. Эта библиотека отвечает за неблокирующий ввод-вывод, позволяя, как вы могли догадаться, интенсивно использовать операции ввода-вывода.

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

    • В Java у нас также есть библиотеки для работы с GUI: javax.swing (довольно устаревшее расширение ещё более старого java.awt ).

    • Мы даже можем воспроизводить музыку и создавать MIDI-файлы с помощью java.sound .

    2. JHipster

    JHipster - это платформа для быстрого развертывания, разработки и создания масштабируемых веб-серверов с высокой нагрузкой и использованием самых современных и модных технологий таких как Spring, Spring-MicroServices, Netflix,Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Cassandra, ElasticSearch.

    Честное слово, этот «Java-хипстер» определённо спас мне месяцы жизни. Я могу точно сказать, что именно JHipster - мой личный фаворит в списке и он занимает особое место в моем сердце. Этот инструмент - практически незаменим для генерирования эскиза проекта распределенного веб-сервера. Он умеет генерировать pom-файл с зависимостями, настраивать Elastic Search и Connection, вам остается только добавить бизнес-логику архитектуры. Основными и наиболее важными библиотеками, включенными в сгенерированный проект, являются:

    • Spring Boot - помогает ускорить и облегчить разработку приложений
    • Angular / AngularJS - инфраструктура JavaScript
    Здесь вы можете найти больше информации о JHipster .

    3. Maven

    Maven - один из трёх самых популярных инструментов для сборки проектов на Java. Он отвечает за компиляцию, создание jar-файлов (Java-архивов), создание дистрибутива программы, генерацию документации. Структура проекта (зависимости, конфигурации, документация) описывается в файле pom.xml (POM – Project Object Model), который должен находиться в корневой папке проекта. Честно, Maven - просто отличная штука, хоть поначалу и не очень понятная. Если вы никогда не использовали Maven раньше, вы многое потеряли. Откровенно говоря, я вообще не понимаю, как создавались Enterprise-приложения до появления Maven. Почитать о Maven на русском можно .

    4. Apache Commons

    Apache Commons - фактически целый проект, ориентированный на создание библиотек Java. Или «большой набор маленьких Java-утилит» самого разного предназначения. К слову, утилиты Apache Commons лежат в основе нескольких очень известных проектов, например, Tomcat, Hibernate и других. Вот краткий список некоторых из наиболее часто используемых библиотек Apache Commons:
    • Commons Math . Математическая библиотека Apache Commons, имя говорит само за себя: она содержит компоненты для сложных математических и статистических операций и вычислений.

    • Commons CLI . Предоставляет API для анализа аргументов командной строки. Вряд ли стоит даже в мыслях допускать создание приложения без возможности передавать параметры и контролировать его поведение!

    • Commons CSV . Независимо от того, что вы разрабатываете, в какой-то момент вам придется столкнуться с необходимостью использования csv-файлов. То есть, их придётся открывать, читать, редактировать, сохранять и создавать. Я предлагаю использовать формат RFC 4180 из класса CSVFormat и кодировку UTF-8 при сохранении / создании файлов.

    • Commons IO . Используется для упрощения выполнения операций ввода-вывода. Присмотритесь, по крайней мере, к ReversedLinesFileReader, он того стоит!
    Почитать об Apache Commons (на английском) можно .

    5. Guava

    Guava - набор основных библиотек Google для Java. Они содержат новые типы коллекций (например, multimap и multiset), неизменяемые коллекции, библиотеку графов, функциональные типы? утилиты для параллелизма, ввода/вывода, хэширования, обработки строк и многое другое. Все эти инструменты используют специалисты Google в своей работе, а это уже хорошая рекомендация.

    В какой-то мере Guava является альтернативой Apache Commons. На самом деле, о Guava можно говорить долго (обязательно обратите на неё внимание!), но здесь я упомяну только одну полезную штуку из этой библиотеки. Возможно, вы уже сталкивались с задачами упорядочивания своих коллекций или сравнения содержимого в них? А что насчёт расширенной сортировки и сравнения по нескольким столбцам с несколькими условиями? Компонент ComparisonChain используется для реализации расширенной и сложной сортировки для коллекций. Почитать о Guava (на английском) можно .

    6. google-gson

    Библиотека google-gson полезна для преобразования объектов Java в JSON и наоборот. Она особенно пригодится при разработке мобильных приложений и создании/использовании REST API, а также в любом случае, когда вам нужно преобразовать объект Java в его представление JSON и наоборот.
    О JSON (JavaScript Object Notation), Guava, Apache Commons и прочих интересных вещах вы узнаете из квеста .
    Почитать о google-gson (на английском) можно .

    7. Hibernate-ORM

    Hibernate - библиотека, предназначенная для решения задач объектно-реляционного отображения (ORM). Hibernate ORM используется для хранения данных в реляционных базах данных. Она обеспечивает более простой и абстрактный способ сделать это для разработчиков. Он использует JDBC в своей реализации. Hibernate также является реализацией спецификации JPA.

    8. Mockito

    Пусть название Mockito не вводит вас в заблуждение. Речь не о коктейле, а о библиотеке для mock-объектов. Mock-объекты - это объекты, которые имитируют поведение реального объекта по какой-то заданной схеме. Например, для модульного тестирования такие «поддельные» объекты могут симулировать поведение бизнес-объектов. Ну а mock-библиотека Mockito повышает удобство создания и использования mock-объектов.

    Больше информации о