Ще изпълним всеки смислен скрипт, който учениците ни изпратят, върху основния ни Майнкрафт сървър. Дали за да разчистят всички блокове под земята, които не са руда, или за да си построят летище/пристанище/замък/магистрала си е тяхна работа. Въпросът е да напишат програма и да получат предимство в играта от това.
На повечето хора звучи несериозно да поддържаме Майнкрафт сървър с образователна цел, но за случващото се вътре ще ви разказвам в друга статия. Важното е, че по един или друг начин поддържаме контакт с учениците и им влияем по малко.
По същество: В Играта има режим, в който можеш да си летиш насам-натам и да редиш блокчета. При нас този режим не е активен, за да може сървърът ни да е реалистична симулация на свят, в който за да се премесиш трябва да ходиш, и за да строиш трябва да си осигуриш материалите.
Но.
От известно време на сървъра работи плъгин, с който можете да манипулирате света с помоща на езика Python. Може да се слагат и премахват блокчета, да променят цели области и да създават сложни фигури или структури.
Няколко примера:
- Система от бункери от под земята подобни на лабораториите от филма Resident Evil;
- Пирамиди с настроеваема големина и наклон на стените (възможност за минути да си направим платото Гиза);
- Лабиринти, в които да оставим играчите да се лутат в търсене на съкровища;
- Блок на множество етажи;
Всичко това може да се комбинира, както направихме за целите на демонстрацията:
На запад от основния град в сървъра има джунгла, а в нея е Храмът на Обречените – златна пирамида с 10 етажа лабиринти и множество съндъци със съкровища.
Освен структурите има интересни примери с интерактивни програми като например играта “Топло-студено” или пък напълно функциониращи електронни и аналогови часовници със стрелки.
Каква е идеята зад цялото това описание?
Идеята е, че ще изпълним всеки смислен скрипт, който учениците ни изпратят върху основния ни Майнкрафт сървър. Дали за да разчистят всички блокове под земята които не са руда, или за да си построят летище/пристанище/замък/магистрала си е тяхна работа. Въпроса е да напишат програма и да получат предимство в играта от това.
А какво ни трябва, за да напишем такава програма?
- Да си инсталирате Питон 2.7 от сайта https://www.python.org/download/
- Да си поправите инсталацията под Windows (Windows, какво да го правиш) – http://vimeo.com/70504477
- Да си изтеглите и разгледате нашите скриптове, които са разработени специално за целта: https://github.com/minetonight/mcpipy
Повечето скриптове са разработени от други хора, които са ги споделили със света, а тези които започват с aleks_ са писани от наш преподавател по роботика и програмиране. Можете да изтеглите всичко като архив от бутона Download ZIP долу в дясно. Разархивирайте ги в папка на компютъра си. С
- Активиране на скриптовете – просто изпълнете скрипт с двойно щракване или от конзола с команда python ime_na_script.py.
Скриптовете са настроени и зависят от файла server.py и папката mcpi, за да се свържат по интернет със нашия тестов сървър и да му изпратят поредица от команди.
- Започнете своя програма като създадете нов файл със разширение .py и препишете шаблона robopartans_template.py
mc.setBlock(x, y, z, id) поставя блокче на координати x,y,z
mc.setBlocks(x0, y0, z0, x1, y1, z1, id) запълва област от-до със дадения блок.
id = 0 е кода на въздъха и е полезно за разчистване на сгрешени опити.
Кодовете на останалите блокчета можете да видите във файла mcpi/blocks.py, а ако там липсват, да използвате wiki-то на Майнкрафт.Уловка – Pi версията на майнкрафт използва spown-а за координати 0, 0, 0. Това значи, че трябва да извадите 200 от х, 63 от y, и 200 от z за да работят програмите ви с координатите от играта. За примери вижте файловете с имена aleks_***.py, например aleks_pyramideBuilder.py около ред 83
- За да опитате резултатите от тези и от вашите бъдещи скриптове можете да влезете във специалният за целта майнкрафт сървър на адрес mcpy.robopartans.com
Архивът е настроен да манупулира света в този сървър и можете да влезете в него така, както влизате в основния ни сървър. Там можете да виждате, какво причинява вашия скрипт на света и да рушите на воля. За съжаление за момента не може да се манипулират Nether и the End.
- Да напишете своя програма, да се убедите, че си върши работата и да ни я пратите на mc at robopartans dot com
При затруднения можете да ни пишете на mc at robopartans dot com и ще ви помагаме.
А през лятото, както вече писахме и е обявено във формите за регистрация, ще проведем курсове специално насочени към програмиране на игри с Python!
А след този курс, възможностите са безгранични, всичко по реда си.