3D Mahjong Solitaire in Java
This is my implementation of Mahjong Solitaire in Java using the LibGDX library. LibGDX is "a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux, macOS, Android, your browser and iOS". It allows you to easily load models and textures and present them on the screen with minimal code and minimal OpenGL knowledge. I implemented the tiles as a hash map, where the keys are integer tile coordinates (column, row, layer). The column and row tile coordinates are in half-tile units so that tiles can be partially overlapping each other. LibGDX made it easy to do tile selection; I simply get a "pick ray" from the camera object and let it intersect with the plane associated with each tile layer and convert the coordinates to int. The hash map allows me to locate all 26 potential neighboring tiles to quickly check if a tile is removable.
I have some criticisms about the LibGDX API and its wiki/documentation which I will keep to myself, although I will say that using the particle system/controller was highly unintuitive and annoying. Overall though, I think LibGDX is a great starting point if you want to get 3D graphics running in Java quickly.
All the models and textures (except the wood texture) were created by me in Blender and Paint.net. The wood texture is a procedurally generated and seamless Substance Designer material from ambientcg.com.
Source: https://github.com/FuzzyCat444/3D-Mahjong-Solitaire-Java
Controls:
LMB - Select tiles
RMB - Rotate camera
WASD - Move camera
Mouse wheel/button - Zoom camera
Left/right - Change puzzle layout
F - Go fullscreen
Escape - Exit application
Music: Just As Soon - Kevin MacLeod
https://www.youtube.com/watch?v=ni_XgUJaDtY
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «3D Mahjong Solitaire in Java», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.