|
|
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat Разрабатываю "Игровой движок". Возникла необходимость сохранять все Игровые объекты на сцене. ИГРОВОЙ ОБЪЕКТ помимо стандартных данных содержит нетипизированный указатель. В этот момент появляется ощущение кривого дизайна и необходимости лучшего изучения основ ООП. При грамотной реализации здесь поставленный вопрос просто не возникнет. Думаю, Вам стоит рассказать, как Вы строите свой "игровой движок" и спросить, как его стоит переделать. UtoECat Вопрос: Что лучше в данной ситуации : БД или список строк? Скажем так, тащить в проект лишнюю сущность незачем. БД не исправит ошибок, допущенных при проектировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2020, 20:44 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECatесли не выйдет тогда уж прибегну к строкам. Двигаться надо от простого к сложному, а не наоборот. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2020, 21:12 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov UtoECatесли не выйдет тогда уж прибегну к строкам. Двигаться надо от простого к сложному, а не наоборот. Нужно двигаться к максимально возможно эффективному и хорошему... На простом далеко не ускачешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 00:39 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat Dimitry Sibiryakov пропущено... Двигаться надо от простого к сложному, а не наоборот. Нужно двигаться к максимально возможно эффективному и хорошему... На простом далеко не ускачешь. Тебе говорят, что делать, а ты какую-то хрень несёшь. Зачем спрашиваешь тогда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 00:50 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
softwarer В этот момент появляется ощущение кривого дизайна и необходимости лучшего изучения основ ООП. При грамотной реализации здесь поставленный вопрос просто не возникнет. Думаю, Вам стоит рассказать, как Вы строите свой "игровой движок" и спросить, как его стоит переделать. 1. ООП - зло, если будет использоваться слишком часто. Думаю вы это понимаете. 2 . С ООП как с концепцией я знаком хорошо, т.к первые шаги в программировании делал на C#. И с его синтаксисом и функционалом в дельфи соответственно тоже. 3.Что-ж вы сами это попросили. Мой движок представляет из себя средство по обеспечению хранения, доступа к ИГРОВЫМ ОБЪЕКТАМ ( ЭТО НЕ ООП!!!) , обеспечивает возможность взаимодействия объектов друг с другом и взаимодействие пользователя с ними соответственно, способ установки и контроля поведения объектов, а так-же обеспечивает (по крайней мере должен будет в будущем) обеспечивать оптимизацию алгоритмов происходящих под капотом. Движок я уже переписываю третий раз и в основном это я делал для достижения более удобного и красивого распределения кода по юнитам и исправлению ошибок, а так-же для добавления в будущем новой системы присвоения и выборке текстур. Движок использует для отрисовки игрового пространства библиотеку OpenGL и в будущем будет поддерживать работу со звуком через bass.dll . Игровой объект , это рекорд тип . Пока он реализован так : Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Функционал объектов, их отрисовка и прочее устанавливается объектом родителем. В объекте указан индекс родителя в МАССИВЕ РОДИТЕЛЕЙ. Сам родитель - абстрактный класс. Его финальная реализация (+\-) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Игровая сцена - рекорд тип, состоящий из массива игровых объектов, а так-же массивов идентификаторов объектов : Массив идентификаторов сортированных по Z объектов в поле зрения, Массив id объектов, родители которых имеют реализацию objProcess, И массив id объектов с которыми МОЖЕТ производится коллизия (объектов недекораций); Концепция движка подразумевает лишь необходимость описать родителей и написать дополнительные внешние факторы добавления \изменения\удаления некоторых объектов для получения готового игрового проекта. Код потихоньку пишется, функционал растёт. Необходимость сохранения загрузки - вещь очень необходимая, и я уже нашёл способ того как это сделать о чём написал выше. Сейчас я в основном посиживаю в low level модулях движка, где дописываю код, т.к сел переписывать буквально неделю назад ( когда компилятор запутался в моём коде в прямом смысле этого слова) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 00:59 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, Я же сказал, что уже решил как делать ! Сначала тесану TFILESTREAM, а если не выйдет, то уж ваши строки буду юзать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 01:01 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat Нужно двигаться к максимально возможно эффективному Тогда прежде всего следует отказаться от Delphi и не трахать людям мозг. Чемпионом эффективности Delphi не будет никогда. UtoECat ООП - зло, если будет использоваться слишком часто. Выберите что-нибудь одно: либо Вы новичок, который задаёт тривиальные вопросы, либо Вы знаток, который рассказывает как надо делать. Попытка сочетать то и другое показывает лишь невменяемость. UtoECat В объекте указан индекс родителя в МАССИВЕ РОДИТЕЛЕЙ Красота. В начале шестидесятых, во времена Фортрана, программировали именно так. Мой научный руководитель, один из первых советских программистов, настойчиво склонял меня на этот стиль, объясняя, что указателей он не понимает и пользоваться ими опасно. UtoECat Сам родитель - абстрактный класс. Его финальная реализация (+\-) Теперь объясните, какая разница, куда пихать результат метода objSAVE - в стрим, в текстовый файл или в БД? Исходный вопрос продолжает быть актуальным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 05:35 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
Да уж. Тяжело новичку в этом обществе старых троллей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 05:54 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
"новичок" случаем не такой же старый тролль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 08:11 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений "новичок" случаем не такой же старый тролль? тут вобщем-то 2 варианта - или от еще старее и толще, либо самое время начинать разбивать лицо в кровь ладонями, раз он пишет такое серьезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 09:32 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat, превращение объекта или целого дерева объектов в то, что можно записать в файл называется сериализация и есть много готовых решений для этого. Я бы сначала рассмотрел возможность использовать встроенные средства Delphi (для формирования DFM, есть бинарный и текстовый варианты). Древняя статья: https://rsdn.org/article/delphi/serialization.xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 12:02 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
L1G, нет у него объектов, которые классы. Рекорды у него, смотри его последнее сообщение. Вообще непонятно, что он хочет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 12:13 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений "новичок" случаем не такой же старый тролль? Кодит, похоже, на терминале ЕС - 7927: нижний регистр символов отсутствует... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 12:22 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Вообще непонятно, что он хочет. Как раз вполне понятно. Во-первых, он откопал какую-нибудь книгу конца девяностых типа "Секреты программирования игр" (помнится, выходила такая в издательстве "Питер" с примерно таким же содержимым). Во-вторых, раскопал какое-нибудь доисторическое говно типа KOL и решил, что это очень круто. Теперь пытается скрестить ежа с ужом кривыми руками, дабы получить немерянный рулез. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 12:37 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
Капсовый код, о майн готт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 13:14 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
softwarer, 1.А разве учиться на ошибках это плохо? 2. Я понимаю что такое указатели и массив родителей нужен для упрощения процесса сохранения 3. Данная тема закрыта 4. Не надо устраивать срач. Я же вас не заставляю использовать то, что я делаю, верно? Мой проект держится лишь на шестилетнем интузиазме и делается для собственного пользования и всю эту ох какую историю я рассказывать не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 13:37 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
softwarer, 1.Хотел бахнуть я вообще-то сначала на С++, но меня мой знакомый уговорил на дельфи. 2. Я не совсем новичок.Первые вообще успехи я делал в ... А собственно не важно где. 3. Вопрос закрыт. Я опять же ЗАБЫЛ ПРО TFILESTREAM, потому что 1. Устал 2. Я про него мало чего читал. 4. Большая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 13:45 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
Vizit0r, Softwarer, книги тут не причём. Это полностью самостоятельно придуманная концепция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 13:50 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat 1.А разве учиться на ошибках это плохо? Смотря на чьих. UtoECat 3. Данная тема закрыта Замечательно. И всего-то потребовалось вспомнить про ООП. UtoECat Мой проект держится лишь на шестилетнем интузиазме То есть, после шести лет работы и троекратного переписывания Вы задаёте такие вопросы и продолжаете быть уверены, что всё делаете правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 13:52 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
softwarer, 1. На своих-то 2. ИМХО вы вообще не читали здесь все сообщения. Мой вопрос был ЧТО ЛУЧШЕ ДЛЯ ХРАНЕНИЯ ДАННЫХ ОБ ИГРОВЫХ ОБЪЕКТАХ: Список строк или БД, но потом Я НАШЁЛ ТFILESTREAM и СКАЗАЛ :авторТема закрыта. Буду использовать TFILESTREAM, а если не выйдет, то тогда уж Список строк. Про ООП НЕ БЫЛО НИ СЛОВЦА (вообще мне стоило сразу сказать что такое игровой объект, как я понял из за этого были недопонимания). 3. С самого начала я полез в такую вещь как HiASM (основной пакет которого на дельфе кста), на нём просидел ПЯТЬ ЛЕТ, но осознал, что это всё фигня и каши на нём не сваришь; и потом перелез на C#, где мне не понравилось, а потом на дельфу собственно. Разработка кода этого движка ведётся где-то всего 4-5 месяцев. Учил дельфи Три месяца до начала написания движка, т.е владею всеми основными понятиями ( только кроме дженериков, т.к посчитал их пока ненужными) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 14:09 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat т.е владею всеми основными понятиями ( только кроме дженериков, т.к посчитал их пока ненужными) нет, не владеешь. Ничем не владеешь. Ни пониманием ООП, ни пониманием правильного кода, ничем вообще. Вообще это дело наживное, но ощущение что ты четко двигаешься сильно неправильной дорогой, думая что это круто и здорово. Я когда взялся, точнее подхватил полудохлый проект - с первых же дней старался сделать его лучше, используя правильные технологии, и не стеснялся слушать и воспринимать чужие идеи, а не следовать первоначальной концепции говнокода. Да, с тех пор почти весь код был переписан чуть менее чем полностью несколько раз, но это явно пошло ему на пользу. А ты упираешься в тупиковый подход, и тупо отрицаешь все остальное. Ну, дело хозяйское. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 18:19 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat Три месяца Почему прописными буквами код пишешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 18:27 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
UtoECat Я НАШЁЛ ТFILESTREAM Нет, используй TMemoryStream (MemoryStream.LoadFromFile) А когда нужно сохранить в файл, делай MemoryStream.SaveToFile. К нему же используй вдогонку TWriter с TReader. Получишь самые быстрые сохранения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 20:57 |
|
||
|
Вопрос что лучше?
|
|||
|---|---|---|---|
|
#18+
А можно сразу всю структуру сохранять https://github.com/KrystianBigaj/kblib ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2020, 21:01 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40018431&tid=2037866]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
150ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 434ms |

| 0 / 0 |
