Як клієнтська / серверна гра за допомогою Google App Engine (Шукаю підручник.)


11

(ПРИМІТКА. Це дублікат запитання, яке я задав на SO, тимчасово забувши про GameDev <повісити голову на сором>. Коли хтось відповість, я зв’яжу його з іншим.)

Я намагаюся зробити свою першу гру клієнт / сервер, використовуючи Google Apps Engine в якості мого заднього кінця (вимога специфікації.) Я робив підручники (Java), але все це здається дуже орієнтованим на браузер.

В основному, я хотів би, щоб мій (мобільний, не важливий) додаток:

  • Дозвольте користувачеві створити ігровий рахунок (НЕ їх обліковий запис Google!)
  • Увійдіть із цим обліковим записом.
  • Натисніть кнопку "MARCO", щоб надіслати запит на сервер, визначений обліковим записом.
  • Отримайте відповідь "POLO" від сервера.
    • Як дані (як об'єкт JSON, XML-DOM чи подібне), а не як веб-сторінка.

Чи може хтось вказати мені на гарний підручник / зразок проекту / детальне читання, щоб допомогти мені досягти цього? Я майже впевнений, що, як тільки я працюю над цим, я можу зробити все інше - але у мене виникає проблема "застряг у стартових воротах", я не маю змоги опрацювати базовий вхід в обліковий запис, і обмін даними без HTML.

Дякую!


Чи буде написана сторона сервера на Java або Python? Буде достатньо простої бази даних на сервері або вам потрібно виконати багато логічних ігор?
Алекс Шерер

@ Алекс: Я пишу на Java. Буде як проста база даних, так і певна логіка гри, хоча я не впевнений, чому це важливо для мого питання. Частина, де я застрягаю, - це налаштування автентифікації користувача. Приклад Марко / Поло був лише тривіальним обміном даними гри, але ключова частина, з якою я маю проблеми, - це дані про автентифікацію користувача.
Оліє

Відповіді:



0

Для чогось такого простого я б рекомендував використовувати python (і взагалі досвід роботи з python GAE дуже хороший.)

Я майже впевнений, що для того, що ви хочете зробити, простий підручник із двигуна додатків та документація вистачить. Ви хочете створити додаток, у якому є 3 контролери (перевірити облікові дані, створити облікові дані та відповісти на марко-поло).

Існує маса відкритих прикладів коду python для програми двигуна в github, і багато документації на офіційному сайті, я б сказав, спробуйте його, і якщо ви зіткнетесь із стіною, задайте конкретне запитання = D

Сподіваюся, що це допомагає!


Вивчення нової мови (python) не в специфіці клієнта; Я знаю Яву і перебуваю на обмеженому часі. Усі ієрархії об'єктів повинні бути схожими, ні? Я розумію, що те, що я прошу, дуже-дуже-просто. Але я робив підручники, і це просто не клацає мене. Крім того, навчальні посібники не показують, про що я прошу, і я не можу точно зрозуміти, як перетворити на "не-Google-акаунт".
Олі

0

Частина, яка не натискала на мене - і, як я підозрював, була дуже простою - полягала в тому, що це лише питання впровадження doPost () (або doGet (), але я використовую POST) і писати повернутися до відповідача.

Були також деякі біти, за якими я не дотримувався зовсім коректно вперше щодо налаштування імен класів та URL-адрес респондента у файлі web.xml (у папці війни).

Після того, як я встановив, що (web.xml) правильно налаштований, програма doPost () була просто чимось у порядку:

public void doPost(HttpServletRequest req, HttpServletResponse resp)
  throws IOException {
    String reqTypeStr = req.getParameter("reqType");
    if (reqTypeStr.equalsIgnoreCase("marco")
        resp.getWriter().println("Polo!");
    else
            resp.getWriter().println("huh?");
}

Є безліч інших деталей, але це були дві, які мене найбільше повісили. Як тільки я зламав простий бар’єр, все інше швидко спливало разом.


ПРИМІТКА. Це все ще не вказує мені на гідний підручник / посібник, про що я спочатку просив так, якщо хтось вкаже мені на блискучий із них, я позначу це правильною відповіддю.
Оліє
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.