forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопросы о архитектуре языка (http://forum.boolean.name/showthread.php?t=3786)

totm 29.06.2007 23:41

Вопросы о архитектуре языка
 
Здраствуйте форумчане! Я один из многих начинающих - любителей Блитца. И вот в процессе самообучения, у меня возник один вопрос - Существует ли литература, статьи о общей архитектуре построения программ на Блиц Бейсик? Дело в том, что наличие множества уроков для начинающих, исходников и т. д., это конечно замечательно. И для написания несложных программ вполне достаточно. Но ведь большие и сложные программы "крутых игр" даже на простом Блиц Бейсике будут иметь большой размер и соответственно достаточно сложную архитектуру. А именно по общей архитектуре построения программ на Блиц Бейсик, я пока ничего не встречал. Для опытных програмистов, возможно это и лишнее, но для начинающих - это так же нужно, как и написание палочек и кружочков в первом классе школы. Ведь без знания общих принципов, простое заучивание команд - безперспективно в принципе.
Прошу всех, неравнодушных и заинтерисованых, откликнуться.

impersonalis 30.06.2007 01:26

Re: Вопросы о архитектуре языка
 
"крутых игр" на б3д и не жди - язык не такого плана.
А вообще архитекутра - это стиль - смотри на примеры, вырабатывай свой и http://blitzetc.boolean.name/ тебе в помощь

totm 30.06.2007 01:55

Re: Вопросы о архитектуре языка
 
Да нет, я не о стиле написания программ. и не о "крутых играх" спрашиваю. Попробую объяснить по другому: С одной стороны, одну и ту же программу, можно писать, используя несколько вариантов расположения кода - это да, использование разных стилей. С другой стороны, это самое расположение подчиняется конкретным законам построения программы, ведь инициализацию графики или циклы не поставишь в любом месте. Вот эти законы меня и интересуют. Не может быть, чтобы Марк Сибли не имел общей концепции построения программ.
А то у нас выходит, что все нужно постигать на чужих примерах "методом научного тыка".

alcoSHoLiK 30.06.2007 02:00

Re: Вопросы о архитектуре языка
 
Правильно, необходимо изучить общие принципы. Для этого подойдет книжка по программированию на С, С++, Pascal, может, еще что-то. Конкретно об играх убеника нет, но есть хорошие книжки по технической реализации на том или ином движке или графическом АПИ. Есть книжки и по структуре игрового движка, в инете даже найти можно.
Чтобы научиться правильно проектировать архитектуру будущей игры, надо иметь опыт. Начинай с простого, изучай исходники игр, движков с открытым исходным кодом. Само собой ничего не получится, нужно постепенно идти вперед.

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

totm 30.06.2007 02:16

Re: Вопросы о архитектуре языка
 
Это означает, что специальной "общеконцептуальной" литературы чисто по Блиц Бейсику нет? В отличии от С, Паскаля и т.д.? Это очень печально. Похоже на ситуацию с мобильными телефонами - самый распостраненный электронный прибор, а ни специалистов по мобилкам нигде ни готовят, ни документов по тех. обслуживанию не существует.
Может кто встречал что-то на неруских сайтах? Думаю, этот пробел нужно устранять. Может кто займется? Из настоящих спецов по Блиц Бейсику.

alcoSHoLiK 30.06.2007 02:22

Re: Вопросы о архитектуре языка
 
Игры не только на Блиц Бейсике пишут)

totm 30.06.2007 02:31

Re: Вопросы о архитектуре языка
 
А на Блиц Бейсике пишу не только игры

alcoSHoLiK 30.06.2007 02:38

Re: Вопросы о архитектуре языка
 
Я пытаюсь сказать, что никто не учит писать игры на Блиц Бейсике, так же, как никто не учит писать их на Borland C++ Builder version 1.0 build 7647834.
Если хочешь понять архитектуру, ищи книжки по архитектуре движка, игровым и графическим движкам. Конкретно по блицу есть статьи и туториалы, остальное не привязано к платформе.

jimon 30.06.2007 08:15

Re: Вопросы о архитектуре языка
 
играм в принципе нигде толком не учат .... если программированию уже чучуть учат... то разработке игр - нет
но в любом случае самообучение всегда было первым :)

totm
то что ты спрашиваеш называется "алгоритмами"
и к блицу критического отношения не имеет

я тут еще подумал в теории ...
вот у нас есть задача A
и множество способов ее решить B
нужно выбрать такой способ чтобы он позволял решить еще и не определенное множество задач C
вот ето и есть программирование :)

ps. так что давай по тихоньку по тихоньку
после 3-4 проектов поймеш что к чему

johnk 30.06.2007 15:01

Re: Вопросы о архитектуре языка
 
Лично я склоняюсь к такой:
1) Инициализация
2) Главный Цикл
3) Функции

totm 30.06.2007 16:11

Re: Вопросы о архитектуре языка
 
1) Инициализация
2) Главный Цикл
3) Функции
Так построены простые программы, это понятно. А если нужно сделать что то более сложное? Например, 2D UI, несколко уровней в 3D, плюс внешние библиотеки и т.д. Как организовать структуру программы так, чтобы получить максимум быстродействия при минимуме затрат? Ведь сделать это можно, как я понимаю разными способами. А какой оптимальный? Не может быть, чтобы не было статей на эту тему.

johnk 30.06.2007 16:40

Re: Вопросы о архитектуре языка
 
Цитата:

Так построены простые программы
Ага, кочнечно, так построены многие программы на б3д.

HolyDel 30.06.2007 20:27

Re: Вопросы о архитектуре языка
 
1. преконфиг (загрузка настроек, инициалиация констант)
2. инициализация основных рессурсов
3. меню
4. загрузка ресурсов для уровня
5. оснеовной цикл
6. выгрузка ресурсов уровня, переход к меню

+ всякая всячина в заинклюденных bb файлах.
+ выносить константы (если их будет много) и массивы, значения в которых будеш прописывать сам(а) в отдельный файл и инлюдить его. (ибо будут мешаццца)

ЛысыЙ_Чук-Иванчук 30.06.2007 23:30

Re: Вопросы о архитектуре языка
 
Только опыт тебе скажет каким будет у тебя архетектура,
И скаждым разом она будет лутше старой, и более гибкой!

moka 01.07.2007 21:59

Re: Вопросы о архитектуре языка
 
Именно опыт, т.к. тут для каждого жанра игры, и типа программы огромные отличия этой вот структуры кода. Можно придерживаться чужих советов, а так-же способом тестирования разных алгоритмов реализации той или иной задачи, таким способом и будет получаться опыт в построении архитектуры кода.

Я например для оптимальной работы кода разделяю рендеринг (3д и 2д отрисовка), и остальное, что должно быть привязано к UPS (Update Per Second, обычно 60), таким образом техническая производительность всегда под контролем.

Например чтобы использовать много уровней, тут нужно использовать массивы и "классы"(Type в блице, но на самом деле от классов С++ это Огромнейшая разница), в них мохно хранить все объекты и информацию о уровнях, а при загрузки нового уровня, отчищять эти массивы и "классы", и грузить новый уровень из внешних файлов хранения данных.

Вообще Только опыт и устремлённость - это успех.


Часовой пояс GMT +4, время: 09:23.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot