Re: Хто бажає створити власну гру в команді?
Можна двічі не повторювати )
Може тоді ви щось запропонуєте, поки я буду склеювати свої розтоптані рожеві окуляри?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Python → Хто бажає створити власну гру в команді?
Можна двічі не повторювати )
Може тоді ви щось запропонуєте, поки я буду склеювати свої розтоптані рожеві окуляри?
Можна двічі не повторювати )
Може тоді ви щось запропонуєте, поки я буду склеювати свої розтоптані рожеві окуляри?
Може й запропоную. Приведу в порядок думки, запишу, причешу - і тоді, якщо воно буде того варте, покажу.
Пивіт. В мене є ідея. Це стратегія, Типу є база (в моїй інтерпритації це мурашник бо стратегія про мурах але тут хочу виділити саму механіку гри). База з кількома мурахами (юнітами).
Кожен юніт має стати наприклад: сила, швидкісь, проворність(ловкасть), витривалість.
Сила для нанесення урону
Швидкість для пересування по ігровому полі, і швидкості нанесення урону ворогам, і добуванні ресурсів.
Ловкість для уникнення ударів.
Витривалість щоб оприділити як довго зможе мураха ефективно виконувати якісь дії, чи наприклад юзання скілів. І для кожного юніта стати генеруються окремо і випадково з певними умовами.
наприклад
Speed-8,0-12;
Live - 20,0-28,0;
Agility 6,0-12,0;
Srteing 2,0-8,0;
тобто щоб получилось так:
Unit № 1
Speed-11.9;
Live - 25;
Agility 9.3;
Srteing 5.6;
Unit № 1
Speed-9.3;
Live - 28;
Agility 11.5;
Srteing 3.6;
Тобто ніхто не зможе сказати з якимим статами буде мураха; І зробити дуже маленьку ймовірність що згенерується мураха наприклад з епічними статами, назвемо її мураха герой.
Unit Hero
Speed-19.9;
Live - 40;
Agility 18.5;
Srteing 15.6;
чи наприклад один зі статів епічний, а якщо всі стати згенерувались епічні (з нереально маленькою ймовірністю)
то це якась мураха герой нагібатор.
Але шанс настільки маленький що герой може згенеруватись там один на 1000 мурах. Тобто починаючи баталію ніхто не буде знати з яким військом йому прийдеться воювати.
Мурахи зі старту гри в певному радіусі від мурашника починають збирати якісь ресурси при умові досягнення певної кількості рисурсів можна купити ще юніта, чи тюнити мурашник, чи там ще щось.
Юніти бігають трудяться збирають реси хавчик і всяке таке і все носять в мурашник. При умові якщо мураха замітить в діапазоні своєї видимості ворожу мураху в неї буде вибір якщо близько є мурахи з її мурашника вона може покликати їх на домомогу щоб вальнути ворога, напасти самому, або втікнути до своїх. Це можна реалізувати за допомогою порівнняня статів мурах, вирахунку відсоток ймовірної перемоги. Мурахи яких покликали на допомогу можуть самі прийняти рішення чи допомогти чи зайнятись чимось іншим.
Якщо наприклад на допомогу кличе мураха георй шанс що їй союзники допоможуть значно вищий, також такі мурахи можуть піднімати бойовий дух союзників. Союзник може відмовитись якщо він взагалі краб (слабак).
тоді і починається розподіл обовязків краби в основному збирають реси, там чи трудяться на благо інших. І тільки вже в крайніх випадках вступають в бій або коли кількість ворогів значно домінують над кількістю союзників.
Контроль над грою заключається тільки в тому щоб розвинути базу, чи поповнити військо, ну чи відправити когось/всіх в атаку. Якщо гравесь не дав ніякої команди юніту він автоматично відповідно до своїх статів і ситуації сам вирішує що йому робити збирати реси, чи йти будувати мурашник чи прийти на допомогу союзникам, чи організуватися з мурахами бійцями і спробувати вламати тягла мурасі герою ворогу.
Щодо ресів може бути наприклад їжа чим більше є популяція мурах тим більший запас їжі поинен бути на складі. їжі не хватає мурахи дохнуть.
І в результаті фінальна битва щоб відбулась там за кількістю кількох тис мурах з кількома героями з обох сторін.
От така от механіка. Я думаю це булоб цікаво.
І в загалі я теж хочу взяти участь в розробці якоїсь гри. Давайте щось придумаєм.
І якщо комусь цікаво ось я потрошки в міру своїх можливостей почав щось таке кодити.
Ого, серйозна річ. Я в дечому схожу маю ідею, але покрокову стратегію. Навіть не знаю за що братися
Досить цікаво. Можете зробити проект на гітхабі, так буде легше кооперуватись.
Ні, дякую, для себе треба робити щось цікаве. А "ще один тауердефенс" добре підійшов би для якогось аппстора при наявності хорошого видавця, щоб рубати бабло. Не грати ж у нього самому, чесне слово.
+100500 )
Вже виклав https://github.com/StoBF/Life_of_ANTS.git
Там правда вся реалізація в main.cpp, там бардак повний, треба зробити якийсь рідмі по функціях? якшо шо та я спробую трошки пояснити що до чого.
Для запуску проекту потрібна якась OpenGL бібліотека я використовую freeglut. Ігрове поле реалізовано в 2D (Декартова система координат X та Y). Є дві бази по 20 мурах які посинають шукати їжу, якщо є їжа в певному радіусі від них вони за нею йдуть якщо нема то сидять в мурашнику, якщо мураха підібрала їжу нова їжа генерується з новими координатами, а юніт несе свою їжу на базу. Навігацію в мене примітивна в майбутньому планую реалізувати алгоритм пошуку шляху Lee. Він тут підійде ідеально. Але коли буде кілька тисяч юнітів я навіть не уявляю що це буде, можливо її требабуде зробити покроковою хз. Шо думаєте?
http://codearena.eu/en/ref/vovikfirst - можете побавитись з програмування ШІ отам. Якраз підходящий варіант, щоб контролювати ваших мурах.
1. Нащо там <windows.h>? Я видалив цей рядок і в мене все зібралось під лінуксом. Чи ви хочете зразу відсіяти альтернативні вісі?
2. Функції дійсно варто причесати, або взагалі переписати заново. Одна функція може використовувати терміни OpenGL, GLUT, терміни базових операцій над мурахами і терміни їхніх цілей одночасно. Треба абстрагуватись.
3. Цікавий порядок чисел: 123456789:;<
4. Skype?
згідний <windows.h> зайвий, функції причесати/переписати однозначно треба бо там чорт голову зломе,
там неповинно бути такого : 123456789:;<, мабуть доця допомагала писати код)
Скайп завтра буде.
А хтось знайомий з бібліотекою SDL? Почав реалізовувати свою задумку з початку, Але вже з підєднанням спрайтів. На даний момент реалізував промальовку ресурсів на ігровому полі у вигляді спрайту, юніт теж спрайтовий вже рухає рукамиі ногами, може найти найближчий ресурс, переміститись до нього, і віднести його на базу, і піти за наступним. В SDL мені сподобалась система координат, з нею можна легко реалізувати переміщення не тільки по осі Х, чи Y, а одночасно по обидвох, дуже реалістично дивиться). Спрайти взяв з war craft 2.
1. Нащо там <windows.h>? Я видалив цей рядок і в мене все зібралось під лінуксом. Чи ви хочете зразу відсіяти альтернативні вісі?
Як вам вдалось зібрати? Я поставив g++, але воно какає цілий ряд помилок типу undefined reference!
Цей с++ повсюди такий різний і дикий, тому люблю пайтон )
quez написав:1. Нащо там <windows.h>? Я видалив цей рядок і в мене все зібралось під лінуксом. Чи ви хочете зразу відсіяти альтернативні вісі?
Як вам вдалось зібрати? Я поставив g++, але воно какає цілий ряд помилок типу undefined reference!
Цей с++ повсюди такий різний і дикий, тому люблю пайтон )
А точніше що за помилки? Підозрюю що ліби OpenGL не підключені.
Так, в основному матюгає функції openGL, але також є
undefined reference game::game(), block::block, та деякі інші... повний вивід зможу показати вже вдома ввечері
Так, в основному матюгає функції openGL, але також є
undefined reference game::game(), block::block, та деякі інші... повний вивід зможу показати вже вдома ввечері
Скомпілюйте всі файли, а не тільки мейн, з флагами -lGL -lGLU -lglut
Ех... я колись стільки різних ігор хотів написати.... Деякі написав, а деякі не дописав........
Дописав: Гру карткову Вірю-Не-Вірю.
Недописав: Гру карткову Екзотична Четвірка.
Частково написав (демо версію): аналог гри Вир (Маелструм) під Вінду.
Дописав: Сірнички-палички (Гра з телевізійного шоу Форт Буярд). Під Вінду (екзешка), під будь-яку вісь (джарка), веб-версія, версія під андроїд (і теоретично під айОс тільки там треба було ліцензію айОс дівелопера купляти щоб просто збілдати гру).
Написав: Забавочку дівочу Гадалку.
Недописав: Гру мафію для Вінди. Думав розробляти веб-аналог.
Починав писати: якусь мінімальну стратегію, де були легкі танки і важкі танки, і які могли рухатися.
Починав писати: іншу стратегію, де були персонажі з серіалу Всі жінки відьми, які мали знищувати демонів...
І ще багато чого іншого...
На великий проект ніколи не хватало часу.
А маленькі проекти були занадто маленькі, щоб їх популяризувати.
Якщо комусь цікаво, розшарював сурси до своїх забавок на ґуґл.код.
Було б цікаво взяти участь в написанні якоїсь нормальної гри, чи то браузерки, чи то чогось іншого.
Написане в цій темі надихнуло на ідею зробити щось типу війни джедаїв з сітхами. Або щось подібне.
А колись я мріяв написати якусь гру, яка б розвивала дітей. Наприклад, де під час проходження місії треба було б давати відповіді на якісь запитання. Або якщо давати правильні відповіді, були б бонуси до ресурсів чи характеристик юнітів чи щось таке...
Master_Sergius написав:Так, в основному матюгає функції openGL, але також є
undefined reference game::game(), block::block, та деякі інші... повний вивід зможу показати вже вдома ввечеріСкомпілюйте всі файли, а не тільки мейн, з флагами -lGL -lGLU -lglut
Угу, помилки, пов'язані з опенгл зникли, але тепер ось:
$ g++ -lGL -lGLU -lglut main.cpp
/tmp/ccUMLFm1.o: In function `main':
main.cpp:(.text+0x1993): undefined reference to `R_ant::R_ant()'
main.cpp:(.text+0x19b4): undefined reference to `B_ant::B_ant()'
main.cpp:(.text+0x19d5): undefined reference to `food::food()'
/tmp/ccUMLFm1.o: In function `__static_initialization_and_destruction_0(int, int)':
main.cpp:(.text+0x1cb7): undefined reference to `game::game()'
main.cpp:(.text+0x1cc3): undefined reference to `B_base::B_base()'
main.cpp:(.text+0x1ccf): undefined reference to `R_base::R_base()'
main.cpp:(.text+0x1ce5): undefined reference to `block::block()'
main.cpp:(.text+0x1d06): undefined reference to `block::block()'
main.cpp:(.text+0x1d27): undefined reference to `block::block()'
main.cpp:(.text+0x1d48): undefined reference to `block::block()'
collect2: error: ld returned 1 exit status
$ g++ -lGL -lGLU -lglut r_ant.cpp
/usr/lib/gcc/i686-redhat-linux/4.8.3/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
/tmp/ccc6Yj01.o: In function `R_ant::R_ant()':
r_ant.cpp:(.text+0xd): undefined reference to `Ant::Ant()'
collect2: error: ld returned 1 exit status
ну і так далі, якесь замкнуте коло )
а хідери всі підключені?
Пане StoBF, можете вміст файлу проекту для Qt показати?