|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Как вам игра? | |||
Супер) | 49 | 70.00% | |
Плохо( | 7 | 10.00% | |
Сомневаюсь с ответом... | 14 | 20.00% | |
Голосовавшие: 70. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
16.03.2012, 21:06 | #51 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Неплохо получилось. Я решил тоже сделать игру в жанре MineCraft'а и хотел бы задать вам пару вопросов:
1. Какие оптимизации вы провели для вывода блоков? Я разбил карту на регионы, в каждом регионе хранится буфер вершин кубов. Если прямоугольник региона не пересекается с прямоугольником фрустума, то этот регион не выводится. И ещё сделал ограниченную дальность отрисовки, скрывая выходящие за предел кубы туманом. Также, я удаляю соприкасающиеся стороны кубов, если куб не имеет прозрачные текстуры, как листва у дерева. 2. Я сейчас думаю над организацией основы движка, а именно над хранением всех игровых объектов. Суть в том, что на карте могут быть не только простые блоки, но и, допустим, дверь. Дверь занимает две клетки, может иметь два состояния (открыта/закрыта) и иметь два направления. Есть и другие типы блоков, допустим, рычаг, который имеет два направления и два состояния. Самое простое решение, которое я вижу, это просто разбить эти объекты на обычные блоки. Допустим: - Дверь Вверх Открытая 1 - Дверь Низ Открытая 1 - Дверь Вверх Закрытая 1 - Дверь Низ Закрытая 1 И так далее. Я смотрел декомпилированные исходники MineCraft'a и там вроде сделано по другому. Там каждый блок представляет из себя объект. Базовый класс - Block. А дверь - BlockDoor. Все блоки хранятся в одномерном массиве. И видимо, при записи карты в файл объекты сериализуется, сохраняя данные о себе, вроде состояния и направления. В общем, я думаю, как лучше всё это реализовать. Вы уже думали над этим вопросом?
#include <мозг.h>
|
16.03.2012, 21:49 | #52 | |
Пользователь
Регистрация: 25.12.2011
Сообщений: 17
|
Цитата:
Руслантус, основные моменты оптимизации вы перечислили, они аналогичны моим =) а по поводу двери - как мне кажется, было бы разумным вынести дверь в отдельный класс, а блоку просто напросто передавать проходим он или нет. зы. прикреплю более новую версию =) добавил руды, прототип инвентаря, временно вырезал людишек(т.к. глючат ), теперь динамит взрывается не сразу(ура!!!) |
|
17.03.2012, 10:38 | #53 |
Форумчанин
Регистрация: 23.08.2011
Сообщений: 171
|
Прикольно, но только часто игра крашится, первый раз запустил, только поставил динамит и сразу ошибка вылезла, типо отправлять не отправлять отчет, потом я увидел Что под XP есть отдельный exe (У меня XP). Его запустил, повзрывал немного, потом иду в туман, и опять ошибка вылезла аналагично первой) В общем буду ждать с нетерпением новые версии))
Каждый день узнаю новое...
|
20.03.2012, 00:03 | #54 |
Пользователь
Регистрация: 16.03.2012
Сообщений: 10
|
Ага, ну про исходники ладно, я понимаю, а на тему квартиры с деньгами у меня такой своеобразный интерес, который мы испытывали в детстве разбирая будильник. Мне просто интересно посмотреть.
|
20.03.2012, 15:35 | #55 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Я буду всегда поднимать эту тему среди ищущих, уж извините, халявы. Т.е. в основе не самому почитать книгу, потренироваться, а взять готовое "посмотреть", ...надо бы задуматься. Ответ на замечание может быть подобный "а сам?", ...а сам нормально, проект у меня есть, программы купленные, ОС лицензионный, все всегда делал сам и всем того желаю. Успехов в чтении книг!
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
20.03.2012, 22:18 | #56 |
Пользователь
Регистрация: 16.03.2012
Сообщений: 10
|
Beermonza, я безусловно понимаю ваш комментарий и я бы сам написал это любому другому человеку сказавшему подобное. Но могу откомментировать, что я не любитель чужой проект выдавать за свой. Мне кажется, что люди совершающие это просто слабы и безвольны (в чем их можно пожалеть). Даже если бы я и модифицировал этот проект и выложил бы его в будущем, я бы оставил ссылку на данную тему, или явно обозначил бы имя автора и мое имя (ну если вдруг косяки будут, чтоб не позорить автора). И что я хочу добавить относительно вашего замечания про книги, я читаю книги, и много. Я скачиваю, покупаю их, а смотрю чужое лишь для общего развития (возможно форматирование, изящные решения, которые могут пригодиться в будущем (опять же при этом я испытываю благодарность к автору)). Касательно собственно графики я как раз собирался к ней перейти, я изучил C, C++ и думал затем изучить OpenGL графику, DirectX, затем перейти на сетевые технологии с БД и т.д. (но это не важно). И мне было интересно посмотреть какой нибудь хорошо написанный проект, чтоб понять теорию лучше.
|
20.03.2012, 22:21 | #57 |
Пользователь
Регистрация: 16.03.2012
Сообщений: 10
|
А кстати про будильник - он обычно старый) (Эт не намек на проект)
И еще, я записан еще на нескольких форумах, и часто наблюдал, что вначале выкладывают проект (на тестирование скажем) и после этого, если кто-нибудь попросит, исходник. Только поэтому и спросил. Последний раз редактировалось Policeman; 20.03.2012 в 22:24. |
20.03.2012, 22:35 | #58 |
Пользователь
Регистрация: 25.12.2011
Сообщений: 17
|
Новая версия 0.48
Прикрепил новую версию:
-Добавлено небо. -На ХР теперь не вылетает. -Исправлены мелкие ошибки... |
20.03.2012, 22:40 | #59 |
Пользователь
Регистрация: 16.03.2012
Сообщений: 10
|
Безусловно +. Теперь считай костяк построен)
|
20.03.2012, 22:42 | #60 |
Пользователь
Регистрация: 16.03.2012
Сообщений: 10
|
Все ранние ошибки исправлены, теперь осталось добавить NPC и возможность крафтить + увеличить кол-во блоков и добавить настройки.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оцените игру. | какtus | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 24 | 01.07.2011 18:13 |