Приветствие

Привет! Меня зовут Игорь. Пишу о разработке компьютерных игр и программировании.

Happy New Year!  

31.12.2013  23:10

Поздравляю всех с Новым Годом! По ссылке небольшой подарок =)

http://www.ingvarr.caesararts.com/2014.htm





SkyNet++  

08.11.2012  19:48

Всем привет!

Давно здесь ничего не писал. Да и особо нечего было. Прогресс шёл рывками во время которых было некогда что-то писать сюда, а в перерывах между ними были какие-то другие заморочки. Несчитая того периода когда я проходил TES V: Skyrim. =)

...Но теперь смело можно сказать, что скриптовик проходит последние незначительные доработки. Полных переработок, как это было раньше, не предвидится. После последней переработки изменилось многое. Удалось избавиться от многих ошибок предыдущих (одна из них была особенно ужасна) и добавить гибкости самому скриптовику. В общих чертах:


Касаемо виртуальной машины:

 - Структура скрипта была переработана с массивов на связные списки. Теперь можно добавлять сколько угодно функций не редактируя константы в исходнике.
- Стек стал динамическим. Тоесть при нехватке ячеек массива он увеличивает свои размеры до определённого предела, который можно установить просто поправив константы.
- Работа с массивами была полностью переработана, для лучшей производительности.
- От таблиц пришлось отказаться из-за сложностей с реализацией в самой машине. К тому же они легко заменяются всторенными функциями.
- Инстансинг. Есть возможность обрабатывать объекты одним и тем же скриптом. Реализовано это путём подстановки значений в переменные типа public. Это экономит используемую память.


Компилятор почти готов! Это уже не тот ассемблероподобный язык, в котором даже я иногда путался. Нет... Теперь он куда более лёгок в освоении. Синтаксис во многом похож на Ruby, JavaScript и Python.

Помимо скриптовика была сделана ещё одна вещь - смешиваетель анимации (чистый Blitz3D без сторонних библиотек). Очень полезная штука когда хочется бегущую 3D модель заставить ещё и перезаряжать оружие и смотреть в сторону игрока. В ближайшее время постараюсь выложить большую часть всего, что здесь понаписал.

Ух. Сколько ж времени на всё это ушло... Теперь хоть можно сказать, что не зря. Хотя всё это дикие костыли к Blitz3D, но оказалось, что некоторыми моими исходниками пользуется часть блицевского русскоязычного сообщества.

После Нового Года планирую доделать bWidgets.





SkyNet++  

25.01.2012  10:58

За последние три месяца произошли существенные изменения в скриптовике:

1. Он сменил название, и теперь называется не Mini Script, а SkyNet++. Название появилось после того как несколько человек (совершенно не знакомых друг с другом), которые узнали о нём - говорили что я пишу Скайнет который был в фильме Терминатор. =) Я в свою очередь пугал их что запущу его 21 декабря 2012 года. =D

"++" добавлено для того, чтобы было более похоже на название языка.

2. Были добавлены два новых типа данных: массив и таблица. Последняя представляет собой список пар "ключ"-"значение". Эти два нововведения дают большую гибкость программам скриптов.

3. Так же был переработан процесс самой компиляции. Теперь проверка синтаксиса идёт перед компиляцией, а не параллельно с ней (что кстати является распространённой ошибкой).

4. Одним из главных нововведений является JIT (Just In Time) компиляция. Она позволяет налету компилировать исходный текст скрипта и перводить его в код виртуальной машины. Таким образом можно будет грузить скрипт хоть из блокнота.





Mini Script 1.2.8  

10.10.2011  11:26

Время не стоит на месте. На дворе уже осень. Не стоит на месте и разработка игры. Всё идет полным ходом...

Но пост как можно догадаться из названия о новой версии Mini Script. В этот раз улучшения глобальные. Появилась поддержка указателей на переменные, несколько функций обеспечивающих рефлексию. Но главная новость - начат новый компилятор. Старый ассемблероподобный синтаксис уже задолбал... Новый синтаксис будет похожим на Ruby. Также возможно будет JIT компиляция. Как только будет готов компилятор - можно будет всё пощупать в действии. =)





Mini Script 1.1.6  

30.07.2011  17:18

Доброго времени суток. Коротко о главном:

В связи с разработкой компьютерной игры, начать новую версию компилятора я так и не могу, но кое-что всётаки добавляю. Вторая цифра в номере версии означает что изменения коснулись не только API как обычно, но и виртуальной машины. Были добавлены три новых опкода дающих доступ к аргументам вызова функции. Это нужно в случаях когда функции может быть передано неопределённое количество аргументов и их всех нужно обработать.

API тоже был дополнен функцией SE_ExecExternal() для вызова функции внешнего скрипта из другого скрипта.

На этом пока всё. Понятное дело что программистов на Blitz3D здесь всего двое, но всё равно спасибо за внимание. =)





Igor на сайте
Аватар Igor
Мистер Игорь
из города Подольск
30 уровень 7779 опыта

RSS

Портфолио
Particle System
bWidgets
О себе
Программист-самоучка
Навыки и умения
Программирование на Blitz3D, BlitzMax, Разработка игр

Учусь гитаре =)
Работаю над
Полезными кодами для Blitz3D
Профессиональные метки
Комментарии
Аватар Igor IgorСнег. Прошла ...  08.06.13  11:11

Скорее бы август))))

Аватар Igor IgorMedal for ...  03.01.13  21:35

ОГРОМНОЕ СПАСИБО, Цезарь! В начале просмотра не подумал, что словлю столько лулзов! ...

Аватар Igor IgorSkyNet++  13.11.12  09:53

Теперь хоть системы не надо доделывать. Обычно вся разработка стопорилась из-за них. ...

Аватар Igor IgorSkyNet++  13.11.12  09:41

Пока всё ещё в процессе. Для неё пока только сюжет написан и концепция ...

Аватар Igor IgorМой первый ...  08.11.12  21:09

Очень интересные технические моменты описаны. Даже представить не мог, что хлопушка ...

Нет интернет соединения! Сохраните данные.