Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2013, 20:55   #1
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка Архитектура игры. Разные вопросы.

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

Игру как я думаю можно, начать писать - с низу vs с верху.

С низу, это когда вы написали окно, начали создавать классы текстур, геометрии, звука т.е все составляющие движка, в общем делаете кирпичи и тут же дом, кончились кирпичи прекращаете делать дом, разводите новый замес и вновь делать кирпичи и далее.

С верху, это когда вы не пишите реализаций для функций и классов пока не будете уверены что минимальная необходимая абстрактция написана. после чего переходите к реализации абстракций. Это всерано что с начала нарисовать план дома, сделать кирпичей и только потом выкладывать кладку строения.

Короче как мне кажется, я всегда пользовался первым способом (с низу).
Хочу понять: Как же мне переучить себя на второй способ ? Нужен ли он и какой вообще лучше ? Может есть еще что-то ?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки

Последний раз редактировалось intmain; 29.04.2013 в 22:54.
intmain вне форума Ответить с цитированием
Старый 29.04.2013, 22:20   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Эти два способа применимы не только к играм - а вообще к любым программам.

IMHO планомерно переучивать себя на 2-й способ имеет смысл только для работы в команде. Просто потому, что иначе в команде работать нельзя.

При работе в одиночку мне представляется наиболее продуктивным сочетание этих способов:
- проектирование сверху,
- написание кода снизу*.

* перемежается как бы "из середины" - когда сверху пишется не проект в целом, а некоторый достаточно крупный его блок.
s-andriano вне форума Ответить с цитированием
Старый 29.04.2013, 23:00   #3
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
- проектирование сверху,
- написание кода снизу*.
вот об этом я и думал.

Проектирование в данном и упрощенном виде это что?
Набросал кучу абстрактных классов, связал их как-то и все ?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 30.04.2013, 17:40   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Зачем же в упрощенном виде?

А классы - это уже вопрос реализации, а не проектирования.
s-andriano вне форума Ответить с цитированием
Старый 30.04.2013, 18:39   #5
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
Зачем же в упрощенном виде?
Потому что, мы боимся сложностей. Все должно быть просто, надежно и дешево.

Цитата:
А классы - это уже вопрос реализации, а не проектирования.
Согласен. Можно ж и процедурно. Но в проектировании это как-то отражается наверное ?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 30.04.2013, 19:57   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Потому что, мы боимся сложностей. Все должно быть просто, надежно и дешево.
Просто и надежно - это, нередко, взаимоисключающие требования.
Цитата:
Согласен. Можно ж и процедурно. Но в проектировании это как-то отражается наверное ?
Строго говоря, реализацию, конечно, тоже нужно проектировать, но это самый нижний уровень проектирования.
Примерно так:
1. Цели.
2. Задачи.
3. Функции (не подпрограммы, а "фичи").
4. Пользовательский интерфейс.
5. Реализация (классы - тут).
s-andriano вне форума Ответить с цитированием
Старый 30.04.2013, 21:28   #7
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

Цитата:
Просто и надежно - это, нередко, взаимоисключающие требования.
Разве? Мне кажется это зависит от того, при каких условиях и для чего.
В условиях диких рыночных отношений, нередко, выгоднее делать сложно и не надежно. Хотябы последнее.
Чтобы получать прибыля на продаже и на обслуживании.
Субъекты это понимают и уменьшают общий уровень качества обоих.
И конкуренция на помойке как бы получается.

В условиях марсианской экономической модели. Все отлично.
Субъектов экономических отношений попросту нет.

Цитата:
Примерно так:
1. Цели.
2. Задачи.
3. Функции (не подпрограммы, а "фичи").
4. Пользовательский интерфейс.
5. Реализация (классы - тут).
В ближайшее время попробую в таком виде оформить наброски для двига двигаясь курсом проектирования с верху.
Диаграммы, связи, наверное, придется рисовать в pant.

обнов.
В ворде что-то набросал. Это какой из пяти пунктов 5 ?
Doc1.doc
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки

Последний раз редактировалось intmain; 30.04.2013 в 22:42.
intmain вне форума Ответить с цитированием
Старый 01.05.2013, 11:08   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Разве? Мне кажется это зависит от того, при каких условиях и для чего.
В условиях диких рыночных отношений, нередко, выгоднее делать сложно и не надежно. Хотябы последнее.
Чтобы получать прибыля на продаже и на обслуживании.
Если Ваша игра будет падать при любом удобном случае, то весть об этом распространится раньше, чем Вы успеете продать достаточное количество копий.
Да и следующую Вашу игру захочет купить уже гораздо меньше народа.
Не говоря о том, что исправлять ошибки в проданных копиях Вам нужно будет бесплатно.
Цитата:
В ворде что-то набросал. Это какой из пяти пунктов 5 ?
Вложение 59950
Понятия не имею.
Я не открываю вложения. Особенно в проприетарных форматах.
s-andriano вне форума Ответить с цитированием
Старый 01.05.2013, 18:09   #9
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

Цитата:
Если Ваша игра будет падать при любом удобном случае
Нет, тут будет не про падать, а про - вот на как поиграй ка, понравилось? еще хочешь? Плати! Вот тебе не демка или куча доп. длс.
А в ммо играх игроку достаточно создавать ощущение не комфортности без обладания какого-либо итема из шопа.
Игра как бы не качественная, а с приобретением итема игра качественно меняется.
Цитата:
Я не открываю вложения. Особенно в проприетарных форматах.
они как бы не кусаются. там диаграмма и всего-то.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 03.05.2013, 21:08   #10
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

И снова копыта по рельсам стучат.
Короче, суть моего сегодняшнего вопроса.
В разных движках часто встречается упоминание о том что на верхнем уровне иерархии игровых обьектов, находиться некий класс - Сущность
Код:
class Entity 
{
// туду: бла бла
};
Вопрос для чего?
И можете ли вы привести пример такой простейшей иерархии чтобы даже я разобрался.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Учу WinApi. Разные вопросы x_Alex_x Помощь студентам 45 15.04.2013 18:02
Разные компиляторы - разные результаты Кипящий чайник Общие вопросы C/C++ 3 16.07.2010 14:54
Вопросы по созданию игры unicode Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 09.07.2009 08:54
вопросы по созданию игры blackstersl Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 03.11.2008 21:22
Разные вопросы о Delphi Enko Помощь студентам 21 10.09.2007 05:54