Вторник, 19 Марта 2024, 08:03

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Ваши проекты » Готовые проекты » [2D] - Atomicoz (Старая игра. Мой первый проект на C++)
[2D] - Atomicoz
AikidosДата: Вторник, 13 Декабря 2011, 01:42 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Жанр игры: Аркада (немного стратегии)
Пространство: 2D
Вид в игре: сверху наверное
ЯП: C++, AngelScript
Платформа: Windows
API: OpenGL
Лицензия: Freeware
Описание: 2D игра, в которой вы управляете серверными машинами и ваша задача стать лучшим в этом деле. Зарабатывайте деньги за выполнение задач, апгрейдите, покупайте, грабьте корованы.
Управление в игре:
ЛКМ - выбор точки.
ПКМ - отправка ресурсов на другую точку.

Скриншоты:



Скачать.

Моя первая игра на C++. Да и вообще первый нормальный проект на C++. Судите строго, критикуйте и т.п. smile Художник тоже я. Так что можете критиковать и это smile


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
RorschachДата: Вторник, 13 Декабря 2011, 01:50 | Сообщение # 2
участник
Сейчас нет на сайте
Неплохо. Никаких сторонних движков и т.д. не использовалось? ГУИ написано на ВИНАПИ?

Never compromise. Not even in the face of Armageddon.
AikidosДата: Четверг, 15 Декабря 2011, 14:49 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Quote (Rorschach)
Никаких сторонних движков и т.д. не использовалось? ГУИ написано на ВИНАПИ?

На GM'e зафигачил. Ниче вроде вышло так то.

Добавлено (15.12.2011, 14:49)
---------------------------------------------
Пропатчил игру до 0.5.0.1. Мелкие, скорее графические, исправления. Т.к. код писал давно и первый раз на С++, то сейчас в нём разобраться не очень и легко smile


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
RabbitNerdДата: Четверг, 15 Декабря 2011, 20:47 | Сообщение # 4
частый гость
Сейчас нет на сайте
Великолепно! hands
AikidosДата: Суббота, 31 Декабря 2011, 00:47 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Спасибо за похвалу smile Мне это очень льстит. Я на этом форуме новенький, но стараюсь смотреть все ваши игры тоже smile Спасибо что посмотрели мою и поставили такую оценку smile

Добавлено (30.12.2011, 18:37)
---------------------------------------------
Обновил до версии 0.5.5.0.

Добавлено:
* Параметр запуска "-cash=//количество денег//", который устанавливает количество денег при запуске карты (работает только с парой -map=);
* Возможность создавать точки с отрицательным приростом (при 0 точка становится нейтральной).

Исправлено:
* Недочёт с разрешением окна;
* Недочёт с анимацией выделения точек;
* Проведена небольшая оптимизация кода.

Изменено:
* Музыка;
* Небольшие графические изменения.

В качестве небольшого бонуса была добавлена компания от одного человека по имени Scal.

P.s. ссылка на скачку в начале темы.

Добавлено (31.12.2011, 00:47)
---------------------------------------------
Устранена проблема с первым запуском игры (This application requires OpenGL 0.0 or above. Try updating your drivers, or upgrade to a newer graphics card.). Архив перезалит.

Я так понял, что в эту игру никто не играл? Если да, то плз напишите почему. Буду хоть знать, почему smile


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
ScalДата: Воскресенье, 01 Января 2012, 01:26 | Сообщение # 6
был не раз
Сейчас нет на сайте
Игра отличная) Радует глаз! Оставлю на компьютере( (=D (Кто внимательный тот поймёт))

Я думаю сделаю компанию на +50 уровней =D

Добавлено (01.01.2012, 01:26)
---------------------------------------------
и так
МИНИ ВИдео по моей компании
Видео (Ютуб)

(Всё плохо, снималось быстро! НО - Гемплей увидить можно (+ долгие миссии сразу пропусакал))


Сообщение отредактировал Scal - Воскресенье, 01 Января 2012, 01:27
AikidosДата: Воскресенье, 08 Января 2012, 16:03 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Вот и закончена работа над новой версией (0.6.0.0a)

Добавлено:
1. Точки, которые приносят деньги тому, кто их контролирует;
2. Новая функция - соединение двух точек (необходимо выделить 2 точки и нажать соответствующую кнопку на панели (между точками не должно быть преград));
3. Эффект уничтожения пакетов;
4. Звук уничтожения пакетов
5. Музыка при показе лого команды;
6. Иконка окна игры;
7. Вывод номера текущей карты:

Изменено:
1. Улучшена прорисовка соединений между точками;
2. Изменён интерфейс игры;
3. Музыка;
4. Паузу в игре теперь можно включить нажимая P (англ.) или Пробел;
5. Старый редактор карт был полностью вырезан и вместо него был встроен новый.

Исправлено:
1. Метод Points.Control() для нейтральных точек теперь возвращает "none" (раньше ничего не возвращал);
2. Исправлен баг, при котором чтобы что-то купить нужно иметь больше денег, чем было необходимо;
3. Исправлена работа флага -cash=;
4. Исправлен баг, при котором оставалось выделение на нейтральной точке с отрицательным приростом;
5. Оптимизация производительности (хотя атомикоз не особо страдал маленькой производительностью smile );
6. Окно игры теперь вновь можно свернуть и оно отображается в панели;

Так же была переделана Demo компания, чтобы показать новые возможности.

Скачать можно тут или по ссылке в начале темы.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
-MaX-Дата: Воскресенье, 08 Января 2012, 16:57 | Сообщение # 8
частый гость
Сейчас нет на сайте
А так же скрин новой версии smile


TheApKoTДата: Понедельник, 09 Января 2012, 00:23 | Сообщение # 9
GML ProgrammeR
Сейчас нет на сайте
Эм, можете объяснить, как пройти второй уровень demo кампании. Сколько бы я ни накопил денег, одна из красных точек ничего не имеет и ничего не производит. А когда зеленые захватывают эту точку, я автоматически проигрываю. Что я не так делаю?

Посоветуйте, где скачать VB6 :C
AikidosДата: Понедельник, 09 Января 2012, 00:32 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Quote (TheApKoT)
Эм, можете объяснить, как пройти второй уровень demo кампании. Сколько бы я ни накопил денег, одна из красных точек ничего не имеет и ничего не производит. А когда зеленые захватывают эту точку, я автоматически проигрываю. Что я не так делаю?

*Прыгает от счастья что кто-то таки сыграл*. Во второй карте надо использовать соединение точек (третья кнопка внизу). Соединение стоит 10$ (если не ошибаюсь). Т.е. надо захватить точки со знаком $, которые находятся рядом, накопить 10$ и соединиться с той точкой, которую когда захватывают происходит проигрыш.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.

Сообщение отредактировал Aikidos - Понедельник, 09 Января 2012, 00:32
TheApKoTДата: Понедельник, 09 Января 2012, 00:46 | Сообщение # 11
GML ProgrammeR
Сейчас нет на сайте
Спасибо. А вообще интересная игра, мне понравилось, побольше бы таких.

Посоветуйте, где скачать VB6 :C
AikidosДата: Понедельник, 09 Января 2012, 00:50 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Quote (TheApKoT)
Спасибо. А вообще интересная игра, мне понравилось, побольше бы таких.

Спасибо за оценку. Я рад что вам понравилась игра smile



Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
noTformaTДата: Понедельник, 09 Января 2012, 00:57 | Сообщение # 13
Ukrainian independent game developer
Сейчас нет на сайте
Quote (Aikidos)
ЯП: C++, AngelScript

ммм, энгелскрипт это скриптовый яп (КЭП), тогда вопрос... Она чисто на с++, или движек на с++, а весь код на энгелскрипт?

В целом, отличная идея....


@noTformaT
AikidosДата: Понедельник, 09 Января 2012, 01:06 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
Quote (noTformaT)
ммм, энгелскрипт это скриптовый яп (КЭП)

В правилах написано, что надо указывать ЯП, который использовал при разработке. Я использовал и AS для скриптования карт, ботов. Внедрял его в C++. Тут нет повода меня поправлять.

Quote (noTformaT)
Она чисто на с++, или движек на с++, а весь код на энгелскрипт?

Вся игра написана на C++. Редактор карт был создан -MaX-'ом на GM. Карты и боты скриптуются на AS.

Quote (noTformaT)
В целом, отличная идея....

Спасибо за оценку.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
123dima321Дата: Понедельник, 09 Января 2012, 08:35 | Сообщение # 15
почетный гость
Сейчас нет на сайте
Необычная игра, +10 cool
VinchensooДата: Понедельник, 09 Января 2012, 08:56 | Сообщение # 16
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Поиграю 24 числа,если не забуду. Щас- не до того(

TheApKoTДата: Понедельник, 09 Января 2012, 23:25 | Сообщение # 17
GML ProgrammeR
Сейчас нет на сайте
Хорошо бы сделать кнопку полноэкранного режима, ибо у меня не видно части экрана.

Посоветуйте, где скачать VB6 :C
AikidosДата: Вторник, 10 Января 2012, 17:23 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
Quote (TheApKoT)
Хорошо бы сделать кнопку полноэкранного режима, ибо у меня не видно части экрана.

Ок. Учту в след. версии.

Quote (123dima321)
Необычная игра, +10

Спасибо за оценку smile

Добавлено (10.01.2012, 17:23)
---------------------------------------------
Решил написать мини урок по созданию таймера на карте в данной игре.

Как вы знаете, игра поддерживает скриптование. Как карты, так и ботов можно скриптовать под свои нужды. Сегодня мы рассмотрим создание простого таймера для своей карты.
Для начала создадим новую карту в редакторе карт и нажмём кнопку MAP, для просмотра скрипта карты. Я не буду тут выкладывать скриншоты редактора. Буду обсуждать только скрипт.

Мы увидим следующий код:

Code
void Init()
{
  Cash.SetCostUp(50);
  Cash.SetCostRes(25);
  Cash.SetCostConnect(10);
}

void Update()
{
  int c = 0;

  for(int i = 0; i < Points.Count(); i++)
   if(Points.Control(i) == "player") c++;   

  if(c == Points.Count())  
  {
   Cash.Add(0);
   System.SetMapStatus(MAP_STATUS_WIN);
  }
  if(c == 0) System.SetMapStatus(MAP_STATUS_FAIL);
}


Это шаблон для созданных карт. При таком скрипте карта будет пройдена, только если игрок захватит все точки или проиграет, если у него не останется ни одной. Довольно примитивно.
Как же нам создать таймер?

Для начала создадим глобальную переменную. Она будет содержать время, которое будет отведено игроку на прохождение определённого задания.

Code
// Время на выполнение задания (в мс.)
int g_Timer = 60000;


Хочу сразу объяснить чем отличается часть скрипта с функции Init и Update. Функция Init вызывается всего 1 раз при инициализации карты, а Update вызывается каждый тик.
И так. Нам нужно запомнить время запуска карты.

Code
void Init()
{
  // Сохраняем текущее время
  Memory.Push(Time.GetTime());
}


Memory.Push() - добавляет в стек памяти определённое значение. В данном примере это время. Так же, данный метод, возвращает индекс ячейки, куда было занесено значение.
Time.GetTime() - возвращает текущее время (в мс.)

Теперь переходим к функции Update.

Code
void Update()
{

  // Просчитываем сколько времени прошло
  int lTimeLeft = Time.GetTime() - Memory.Get(0);
   
  // Просчитываем сколько времени осталось
  int lTimer = g_Timer - lTimeLeft;
   
  // Если времени прошло больше, чем установлен таймер, то игрок проиграл
  if (lTimer < 0)
   System.SetMapStatus(MAP_STATUS_FAIL);
    
  // Выводим сколько времени осталось
  int lSeconds = lTimer / 1000; // Общее количество секунд
  int lMin = lSeconds / 60; // Количество минут
  int lSec = lSeconds - (lMin * 60); // Количество секунд
   
  // Подготавливаем текст сообщения
  string sTime;
  if (lMin < 10) sTime += "0" + Convert.IntToStr(lMin);
  else sTime += Convert.IntToStr(lMin);
   
  sTime += " : ";
   
  if (lSec < 10) sTime += "0" + Convert.IntToStr(lSec);
  else sTime += Convert.IntToStr(lSec);
   
  // Выводим сообщение
  System.SetMapMessage(sTime);
   
  ........................
}


Комментировать тут особо не чего. Только некоторые методы.

System.SetMapMessage() - Выводит сообщение в правом-верхнем углу игры.
Convert.IntToStr() - Конвертирует число в строку.
Memory.Get() - Возвращает значение из указанной ячейки памяти.

Вот вроде бы и всё. Посмотрим, что у нас получилось.


Всем спасибо за внимание. Если что не понятно, то спрашивайте и я с радостью отвечу. Так же буду рад выслушать любую критику.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
TheApKoTДата: Вторник, 10 Января 2012, 21:23 | Сообщение # 19
GML ProgrammeR
Сейчас нет на сайте
Quote (Aikidos)
Если что не понятно, то спрашивайте

Угу. Как связывать точки?


Посоветуйте, где скачать VB6 :C
AikidosДата: Вторник, 10 Января 2012, 22:02 | Сообщение # 20
постоянный участник
Сейчас нет на сайте
Quote (TheApKoT)
Угу. Как связывать точки?

Скриптом или во-время игры кнопкой?


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
Форум игроделов » Ваши проекты » Готовые проекты » [2D] - Atomicoz (Старая игра. Мой первый проект на C++)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг