diff --git a/en/news/2024-11_pskov-again.md b/en/news/2024-11_pskov-again.md new file mode 100644 index 0000000..5cbcd1f --- /dev/null +++ b/en/news/2024-11_pskov-again.md @@ -0,0 +1,51 @@ +Title: Back to the development of "PSKOV" +Date: 2024-11-14 00:00 +Category: News +Slug: pskov-again +Lang: en + +![lha][lha] + +# "PSKOV" today + +Now, we have an old "PSKOV" version and we need an improved one. + +First, we should recall what "PSKOV" consists of: + +1. The [generator][pskov-en] itself in the form of HTML page with JavaScript +1. Helper [Python script][lfsa-en] to save generated files to disk + +Helper script is used to bypass web page restriction to access +local file system. + +The script itself is a tiny web server with the following commands: + +| № | Command | Details | +|---|---|---| +| 1 | `GET /path` | Get current working directory path | +| 2 | `POST /list` | Get a list of files in the requested directory | +| 3 | `POST /read` | Get file's contents | +| 4 | `POST /write` | Write file's contents | + +# "PSKOV" tomorrow + +Thus, the simplest way to get back to "PSKOV" development is to rewrite the +helper script. I decided to replace Python with Kotlin because: + +1. Kotlin can be compiled for desktop, mobile, and web +1. Kotlin is strictly typed + +These two factors simplify future work with portable code. + +As of now, I have `GET /path` implemented for JVM, macOS, and Windows (image +in the beginning). + +# November + +I plan to implement the following commands in November: +* `POST /list` +* `POST /read` + +[lha]: ../../images/2024_lha-path.gif +[pskov-en]: https://opengamestudio.org/pskov/en/pskov_1.0.0.html +[lfsa-en]: https://opengamestudio.org/lfsa/en/index.html diff --git a/en/news/index.html b/en/news/index.html index 3c3d8e5..9d9752e 100644 --- a/en/news/index.html +++ b/en/news/index.html @@ -24,6 +24,46 @@
+ 2024-11-14 00:00 +
+Now, we have an old "PSKOV" version and we need an improved one.
+First, we should recall what "PSKOV" consists of:
+Helper script is used to bypass web page restriction to access +local file system.
+The script itself is a tiny web server with the following commands:
+№ | +Command | +Details | +
---|---|---|
1 | +GET /path |
+Get current working directory path | +
- 2024-01-04 00:00 -
-To gain code portability, we have to divide whole code into two parts:
-To simplify portable code construction, we want to be able to place any code - -both repeatable and unique - without hierarchy requirements of operating -systems. Bus design pattern seems to be the best option. The Bus makes all -code chunks equal because they interact through the Bus only.
-Currently we have:
- -. . .
-Page 1 of 8
diff --git a/en/news/index2.html b/en/news/index2.html index aa31ffe..55b06a6 100644 --- a/en/news/index2.html +++ b/en/news/index2.html @@ -24,6 +24,33 @@
+ 2024-01-04 00:00 +
+To gain code portability, we have to divide whole code into two parts:
+To simplify portable code construction, we want to be able to place any code - +both repeatable and unique - without hierarchy requirements of operating +systems. Bus design pattern seems to be the best option. The Bus makes all +code chunks equal because they interact through the Bus only.
+Currently we have:
+ +. . .
+- 2019-01-01 0:01 -
-It was a year of reimagining and rethinking. As some of you may remember, we started this project to make a game development tool. During the years, the idea evolved from one form to another, sometimes the changes were significant, other times we threw away all the code and started anew.
-As a result of all these changes, we came to the end of the year 2018 without a tool, but with a clear understanding of what tool are we making.
-There are plenty of fine game development tools out there. Some of them are even open source. We spent plenty of time trying them, and some are quite good.. . .
-Page 2 of 8
diff --git a/en/news/index3.html b/en/news/index3.html index 302f49d..2f0570b 100644 --- a/en/news/index3.html +++ b/en/news/index3.html @@ -24,6 +24,23 @@
+ 2019-01-01 0:01 +
+It was a year of reimagining and rethinking. As some of you may remember, we started this project to make a game development tool. During the years, the idea evolved from one form to another, sometimes the changes were significant, other times we threw away all the code and started anew.
+As a result of all these changes, we came to the end of the year 2018 without a tool, but with a clear understanding of what tool are we making.
+There are plenty of fine game development tools out there. Some of them are even open source. We spent plenty of time trying them, and some are quite good.. . .
+- 2017-11-22 00:00 -
-It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.
-Brief history
-Opensource Game Studio project is 12 years old now.
-2005. We started the project with a fanatic call to create the best game ever. Probably right after finishing Half-Life 2 or Morrowind. 99.99% of those who wanted to participate weathered during a couple of years leaving only the two of us: Michael (coding) and Ivan (the rest). The project was in a constant turmoil because we had no clear purpose and discipline. Thus, we only got a handful of demonstrations during that period.. . .
-Page 3 of 8
diff --git a/en/news/index4.html b/en/news/index4.html index faee1ea..e05d2ac 100644 --- a/en/news/index4.html +++ b/en/news/index4.html @@ -24,6 +24,24 @@
+ 2017-11-22 00:00 +
+It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.
+Brief history
+Opensource Game Studio project is 12 years old now.
+2005. We started the project with a fanatic call to create the best game ever. Probably right after finishing Half-Life 2 or Morrowind. 99.99% of those who wanted to participate weathered during a couple of years leaving only the two of us: Michael (coding) and Ivan (the rest). The project was in a constant turmoil because we had no clear purpose and discipline. Thus, we only got a handful of demonstrations during that period.. . .
+- 2017-01-25 00:00 -
-This article describes our plans for 2017.
-Our past plans suggested we would have Android platform support by this time. However, we have a long way to go, before we can declare Android support. See for yourself:
- -Some people would consider this a failure. We don't. We see a chance to start low and jump high!
-Having only worked with liberal and forgiving desktop environments, Android was a complete surprise for us. Android punished us for everything: memory, resources, graphics. The usual Android response was either a crash, or an empty screen.. . .
-Page 4 of 8
diff --git a/en/news/index5.html b/en/news/index5.html index a23d355..56da2ba 100644 --- a/en/news/index5.html +++ b/en/news/index5.html @@ -24,6 +24,25 @@
+ 2017-01-25 00:00 +
+This article describes our plans for 2017.
+Our past plans suggested we would have Android platform support by this time. However, we have a long way to go, before we can declare Android support. See for yourself:
+ +Some people would consider this a failure. We don't. We see a chance to start low and jump high!
+Having only worked with liberal and forgiving desktop environments, Android was a complete surprise for us. Android punished us for everything: memory, resources, graphics. The usual Android response was either a crash, or an empty screen.. . .
+- 2016-09-17 00:00 -
-We will hold live session on 25 September 2016 at 12:00 CEST -It's time to create simple Mahjong solitaire game.
-. . .
-Page 5 of 8
diff --git a/en/news/index6.html b/en/news/index6.html index 638d7c7..1f2bf11 100644 --- a/en/news/index6.html +++ b/en/news/index6.html @@ -24,6 +24,23 @@
+ 2016-09-17 00:00 +
+We will hold live session on 25 September 2016 at 12:00 CEST +It's time to create simple Mahjong solitaire game.
+. . .
+- 2016-01-25 00:00 -
-We're glad to annouce that the LiveCoding session will take place on 31 January 2016 at 12:00 CET. Join us!
-. . .
-Page 6 of 8
diff --git a/en/news/index7.html b/en/news/index7.html index daea854..7e066e7 100644 --- a/en/news/index7.html +++ b/en/news/index7.html @@ -24,6 +24,21 @@
+ 2016-01-25 00:00 +
+We're glad to annouce that the LiveCoding session will take place on 31 January 2016 at 12:00 CET. Join us!
+. . .
+- 2015-06-28 00:00 -
-We completed Editor 0.6.0. You can see 0.6.0 in action here.
-Editor 0.6.0 got the following new features:
-We don't have 0.7.0 completion date at the moment, because we decided to take some time to set up a roadmap for Shuan and Mahjong 2. Once done, we will share 0.7.0 completion date and its feature list along with the roadmap.. . .
-Page 7 of 8
diff --git a/en/news/index8.html b/en/news/index8.html index 6606dd5..49e7a39 100644 --- a/en/news/index8.html +++ b/en/news/index8.html @@ -24,6 +24,31 @@
+ 2015-06-28 00:00 +
+We completed Editor 0.6.0. You can see 0.6.0 in action here.
+Editor 0.6.0 got the following new features:
+We don't have 0.7.0 completion date at the moment, because we decided to take some time to set up a roadmap for Shuan and Mahjong 2. Once done, we will share 0.7.0 completion date and its feature list along with the roadmap.. . .
++ 2024-11-14 00:00 +
+Now, we have an old "PSKOV" version and we need an improved one.
+First, we should recall what "PSKOV" consists of:
+Helper script is used to bypass web page restriction to access +local file system.
+The script itself is a tiny web server with the following commands:
+№ | +Command | +Details | +
---|---|---|
1 | +GET /path |
+Get current working directory path | +
2 | +POST /list |
+Get a list of files in the requested directory | +
3 | +POST /read |
+Get file's contents | +
4 | +POST /write |
+Write file's contents | +
Thus, the simplest way to get back to "PSKOV" development is to rewrite the +helper script. I decided to replace Python with Kotlin because:
+These two factors simplify future work with portable code.
+As of now, I have GET /path
implemented for JVM, macOS, and Windows (image
+in the beginning).
I plan to implement the following commands in November:
+POST /list
POST /read
+ 2024-11-14 00:00 +
+Итак, у нас есть старая версия «ПСКОВа», а нам нужна новая с улучшенными +характеристиками.
+Первым делом стоит вспомнить, из чего состоит «ПСКОВ»:
+Вспомогательный скрипт нужен по одной причине: веб-страницам запрещено общаться +с локальной файловой системой по соображениям безопасности.
+Скрипт представляет из себя крошечный веб-сервер со следующими командами:. . .
+- 2024-01-04 00:00 -
-Для достижения портируемости кода необходимо разделить весь код на две части:
-Для упрощения конструирования портируемого кода нужна возможность размещать -любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы. -Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски -кода делает равными, т.к. они взаимодействуют друг с другом через Шину.
-На текущий момент получился следующий результат:. . .
-Страница 1 из 8
diff --git a/ru/news/index2.html b/ru/news/index2.html index 0e09db9..8f7bb29 100644 --- a/ru/news/index2.html +++ b/ru/news/index2.html @@ -24,6 +24,31 @@
+ 2024-01-04 00:00 +
+Для достижения портируемости кода необходимо разделить весь код на две части:
+Для упрощения конструирования портируемого кода нужна возможность размещать +любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы. +Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски +кода делает равными, т.к. они взаимодействуют друг с другом через Шину.
+На текущий момент получился следующий результат:. . .
+- 2019-01-01 0:01 -
-Этот год во-многом стал для нас годом переосмысления и определенности. Как некоторые из вас помнят, мы начинали этот проект, для создания среды для разработки игр. В течение многих лет идея развивалась от одной формы к другой, иногда изменения были значительными, в других случаях мы отбрасывали весь код и начинали заново.
-В результате всех этих изменений мы подошли к концу 2018 года без готового инструмента, но с четким пониманием того, что за инструмент мы создаем.. . .
-Страница 2 из 8
diff --git a/ru/news/index3.html b/ru/news/index3.html index 1c529c1..80016f3 100644 --- a/ru/news/index3.html +++ b/ru/news/index3.html @@ -24,6 +24,22 @@
+ 2019-01-01 0:01 +
+Этот год во-многом стал для нас годом переосмысления и определенности. Как некоторые из вас помнят, мы начинали этот проект, для создания среды для разработки игр. В течение многих лет идея развивалась от одной формы к другой, иногда изменения были значительными, в других случаях мы отбрасывали весь код и начинали заново.
+В результате всех этих изменений мы подошли к концу 2018 года без готового инструмента, но с четким пониманием того, что за инструмент мы создаем.. . .
+- 2017-11-22 00:00 -
-Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.
-Краткая история
-Проекту Opensource Game Studio уже 12 лет.
-2005. Мы начали проект с фанатичного призыва к созданию самой лучшей игры. Видимо, сразу же после прохождения Half-Life 2 или Morrowind. 99.99% тех, кто хотел участвовать, отвалились в течение первых двух лет. Остались лишь два человека: Михаил (программирование) и Иван (всё остальное). Проект находился в стадии постоянного беспорядка, т.к. у нас не было ни чёткой цели, ни дисциплины. Неудивительно, что за этот период мы можем похвастаться лишь небольшим набором сумбурных демонстраций.. . .
-Страница 3 из 8
diff --git a/ru/news/index4.html b/ru/news/index4.html index 4a58a3a..02b7067 100644 --- a/ru/news/index4.html +++ b/ru/news/index4.html @@ -24,6 +24,24 @@
+ 2017-11-22 00:00 +
+Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.
+Краткая история
+Проекту Opensource Game Studio уже 12 лет.
+2005. Мы начали проект с фанатичного призыва к созданию самой лучшей игры. Видимо, сразу же после прохождения Half-Life 2 или Morrowind. 99.99% тех, кто хотел участвовать, отвалились в течение первых двух лет. Остались лишь два человека: Михаил (программирование) и Иван (всё остальное). Проект находился в стадии постоянного беспорядка, т.к. у нас не было ни чёткой цели, ни дисциплины. Неудивительно, что за этот период мы можем похвастаться лишь небольшим набором сумбурных демонстраций.. . .
+- 2017-01-25 00:00 -
-Эта статья содержит наши планы на 2017 год.
-Наши предыдущие планы предполагали, что сейчас у нас уже будет поддержка платформы Android. Тем не менее, у нас впереди ещё очень много работы, прежде чем мы сможем объявить о поддержке Android. Судите сами:
- -Кто-нибудь может посчитать это неудачей. Но не мы. Мы видим шанс начать с низкого старта и прыгнуть высоко!
-Т.к. ранее мы имели опыт работы лишь с либеральным и всё прощающим настольным ПК, Android стал для нас полной неожиданностью. На каждом шагу нас ожидало наказание за фривольное использование памяти, ресурсов, графики. Чаще всего в ответ на наши действия мы получали либо падение приложения, либо пустой экран.. . .
-Страница 4 из 8
diff --git a/ru/news/index5.html b/ru/news/index5.html index 8b4330c..c2c31f9 100644 --- a/ru/news/index5.html +++ b/ru/news/index5.html @@ -24,6 +24,25 @@
+ 2017-01-25 00:00 +
+Эта статья содержит наши планы на 2017 год.
+Наши предыдущие планы предполагали, что сейчас у нас уже будет поддержка платформы Android. Тем не менее, у нас впереди ещё очень много работы, прежде чем мы сможем объявить о поддержке Android. Судите сами:
+ +Кто-нибудь может посчитать это неудачей. Но не мы. Мы видим шанс начать с низкого старта и прыгнуть высоко!
+Т.к. ранее мы имели опыт работы лишь с либеральным и всё прощающим настольным ПК, Android стал для нас полной неожиданностью. На каждом шагу нас ожидало наказание за фривольное использование памяти, ресурсов, графики. Чаще всего в ответ на наши действия мы получали либо падение приложения, либо пустой экран.. . .
+- 2016-09-17 00:00 -
-25 сентября 2016 в 13:00 MSK мы проведём прямой эфир. -Самое время создать простой пасьянс Маджонг
-. . .
-Страница 5 из 8
diff --git a/ru/news/index6.html b/ru/news/index6.html index 5a4344a..8389a1c 100644 --- a/ru/news/index6.html +++ b/ru/news/index6.html @@ -24,6 +24,23 @@
+ 2016-09-17 00:00 +
+25 сентября 2016 в 13:00 MSK мы проведём прямой эфир. +Самое время создать простой пасьянс Маджонг
+. . .
+- 2016-01-25 00:00 -
-Мы рады сообщить, что трансляция LiveCoding состоится 31 января 2016 в 14:00 MSK. Присоединяйтесь!
-. . .
-Страница 6 из 8
diff --git a/ru/news/index7.html b/ru/news/index7.html index 672a371..7a17752 100644 --- a/ru/news/index7.html +++ b/ru/news/index7.html @@ -24,6 +24,21 @@
+ 2016-01-25 00:00 +
+Мы рады сообщить, что трансляция LiveCoding состоится 31 января 2016 в 14:00 MSK. Присоединяйтесь!
+. . .
+- 2015-06-28 00:00 -
-Мы завершили работу над версией 0.6.0 редактора. Вы можете увидеть 0.6.0 в действии здесь.
-Список новых возможностей Редактора 0.6.0:
-Страница 7 из 8
diff --git a/ru/news/index8.html b/ru/news/index8.html index bc7db6d..4da5f44 100644 --- a/ru/news/index8.html +++ b/ru/news/index8.html @@ -24,6 +24,30 @@
+ 2015-06-28 00:00 +
+Мы завершили работу над версией 0.6.0 редактора. Вы можете увидеть 0.6.0 в действии здесь.
+Список новых возможностей Редактора 0.6.0:
++ 2024-11-14 00:00 +
+Итак, у нас есть старая версия «ПСКОВа», а нам нужна новая с улучшенными +характеристиками.
+Первым делом стоит вспомнить, из чего состоит «ПСКОВ»:
+Вспомогательный скрипт нужен по одной причине: веб-страницам запрещено общаться +с локальной файловой системой по соображениям безопасности.
+Скрипт представляет из себя крошечный веб-сервер со следующими командами:
+№ | +Команда | +Детали | +
---|---|---|
1 | +GET /path |
+Получение пути к текущей рабочей директории | +
2 | +POST /list |
+Получение списка файлов переданного в теле запроса пути | +
3 | +POST /read |
+Получение содержимого файла | +
4 | +POST /write |
+Запись содержимого файла | +
Самым простым способ вернуться к разработке «ПСКОВа», таким образом, является +перераработка вспомогательного скрипта. На замену Python я выбрал Kotlin +по двум причинам:
+Оба этих фактора упрощают в будущем работу c портируемым кодом.
+Что касается переработки, то на текущий момент готова команда GET /path
+на платформах JVM, macOS и Windows (изображение в начале).
В ноябре я планирую реализовать две команды:
+POST /list
POST /read