Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - zajmundov

Strony: [1] 2 3 4 5
1
Projektowanie kodu / Odp: Klasa reprezentująca przedmioty w prostej grze 2D...
« dnia: Październik 28, 2018, 20:43:50 »
Ogólnie jescze nawet nie ruszyłem z przedmiotami w mojej grze, lenistwo ehh. Rozmyślałem o tym na sucho i wpadłem na pomysł, że mógłbym skorzystać z patternów

http://gameprogrammingpatterns.com/type-object.html

2
Szkółka / SDL 1.2 - wlączenie full screena przy uruchomionej aplikacji
« dnia: Październik 19, 2018, 22:21:45 »
witam
czy da się w tej wersji SDL przejść do trybu full screen. kiedy jest ona już uruchomiona ale w trybie windowed?

3
Projektowanie kodu / Odp: Klasa reprezentująca przedmioty w prostej grze 2D...
« dnia: Październik 08, 2018, 18:50:40 »
o coś mi się przypomniało przy pokazji funkcji wirtualnych, myślę ze ta klasa wystarczy w prostej grze 2D

4
Projektowanie kodu / Klasa reprezentująca przedmioty w prostej grze 2D...
« dnia: Październik 07, 2018, 21:06:30 »
witajcie! tworzę prostą grę RPG i przechodzę do projektowania klasy, która będzie tworzyć bronie, przedmioty itp.

Wstępnie to wygląda tak. Jak myślicie czy to jest w miarę OK zrobione?
https://paste.ofcode.org/sjCj2zwnGByXhMGS6GXXJS

#ifndef ITEM_H
#define ITEM_H

#include "GameObject.h"

enum itemType_t
{
WEAPON_MALEE = 1,
WEAPON_DISTANCE,
ARMOR,
HEALTH_KIT
};

class Item : public GameObject
{
public:
void OnUse( void );
void OnEquip( void );
void OnRemove( void );

void SetItemID( int id )
{
m_itemID = id;
}

int GetItemID() const
{
return m_itemID;
}

void SetItemName( std::string name )
{
m_itemName = name;
}

std::string GetItemName() const
{
return m_itemName;
}

void SetDescription( std::string description )
{
m_itemDescription = description;
}

std::string GetDescription() const
{
return m_itemDescription;
}

private:
int m_itemID;
int m_attackDamage;
int m_defense;
std::string m_itemName;
std::string m_itemDescription;
};

#endif

5
Szkółka / Odp: [C++] xml dla ustawien gry i savów, jaka biblioteczka?
« dnia: Październik 04, 2018, 11:42:43 »

6
Szkółka / Odp: [C++] xml dla ustawien gry i savów, jaka biblioteczka?
« dnia: Październik 03, 2018, 02:11:32 »
hmm.. przeglądam json i jego składnie, wygląta to ciekawiej niż xml :]
A jaki parser polecacie?

7
Szkółka / [C++] xml dla ustawien gry i savów, jaka biblioteczka?
« dnia: Październik 02, 2018, 13:44:09 »
witam, co teraz "rządzi" jeżeli chodzi o XML? Znalazłem kilka bibliotek i wyszczególniłem dwie: rapidxml i tinyxml. Chciałbym mieć możliwość wczytania/edycji.
Może jeszcze jest jakaś alternatywa dla xml'a?

8
Projekty rozpoczęte / Odp: [SDL][2D][C++] survival turowy...
« dnia: Wrzesień 29, 2018, 12:03:10 »
Witam. Zmieniły się założenia gry... odchodzę od pomysłu gry turowej. Zmienię opis w temacie.

Krótki gameplay z gry.
https://www.youtube.com/watch?v=oVy7t0iVMmQ

Ostatnio stworzyłem kilka spritów do gry:



Próby oddejścia od "spłaszczonego 2D" do czegoś przyjemniejszego. Grafika ludzika nie jest moja. Resztę sam robiłem.

9
Problem chyba prosty, tylko ja jakiś niekumaty. U mnie tile ma rozmiary 50x50, w ogóle to było główne załozenie mojej gry top-down. Postanowiłem do gry wprowadzić większe obrazki, np. ludzika tylko, że jest on rysowany za nisko, fakt postać w programie jest na swojej pozycji tylko obrazek źle rysowany.
Myślałem nad tym aby po prostu dopisać do pozycji Y -50 ale wtedy reszta obrazków co ma 50x50 też się przesunie..




Tak wygląda kod:
void Sprite::Draw( SDL_Surface* screen, Position& position )
{
if( m_surface )
{
SDL_Rect rect;

rect.x = position.x * Globals::tilesize - Globals::camera->GetCameraX();
rect.y = position.y * Globals::tilesize - Globals::camera->GetCameraY();

SDL_BlitSurface( m_surface, NULL, screen, &rect );
}
}

edit:
Dopisałem - m_sprite.GetSDLSurface()->h + Globals::tilesize
narazie coś działa, zrobię więcej testów


I wygląda to tak:
void Sprite::Draw( SDL_Surface* screen, Position& position )
{
if( m_surface )
{
SDL_Rect rect;

rect.x = position.x * Globals::tilesize - Globals::camera->GetCameraX();
rect.y = position.y * Globals::tilesize - Globals::camera->GetCameraY() - m_surface->h + Globals::tilesize;

SDL_BlitSurface( m_surface, NULL, screen, &rect );
}
}

10
Projekty rozpoczęte / Odp: [SDL][2D][C++] survival turowy...
« dnia: Czerwiec 19, 2018, 07:57:55 »
Witam! Dawno nie aktualizowałem tematu. Projekt jest wciąż żywy. Kiedy pozwala mi czas to pracuję nad tą grą. Wkrótce opiszę o nowościach.



11
Szkółka / Pozyskanie sąsiednich współrzędnych kafelek?
« dnia: Maj 01, 2018, 22:36:40 »
witam
chciałbym aby do tablicy zostały wpisane współrzędne (x i y), które będą sąsiadować z kafelkiem położonym na  np. x = 5 y = 6 w odleglości 1 kafelka. Czy jest jakiś prosty algorytm na to?

12
witajcie, mam prośbę
poszukuję kodu na prosty pathfinding w języku C++, chciałbym aby była możliwość odnalezienia drogi z punkty A do punktu B, omijając mury-kafle. Kod miałby wprowadzić wszystkie współrzędne ruchu do np. pojemnika vector, a potem bym sobie to jakoś zrobił z potworkami na mapie.

Mapa to tablica.
0 to tile przez który można przejść, 1 to kolizja. Nie można poruszać się na skos.

Znalazłem na google takie coś: https://github.com/quantumelixir/pathfinding
Czy będzie to dobre na początek?

13
Projekty rozpoczęte / Odp: [SDL][2D][C++] survival turowy...
« dnia: Październik 15, 2017, 09:34:15 »
spoko dzięki, rzucę spojrzeniem na Wesnoth

jeżeli chodzi o mój projekt to teraz prace trwają (a właściwie googlowanie....) nad pathfindingiem

14
Projekty rozpoczęte / [SDL][2D][C++] Technik 2D
« dnia: Październik 08, 2017, 16:04:29 »
edit:
Od pewnego, nieokreślonego czasu tworzę grę. Mam w planach prostego RPG'a, gdzie akcja dzieję się na różnych planetach. Póki co nie jest za dużo tego - lenistwo. Można chodzić ludzikiem, bić się z potworkami, działa wczytywanie mapy itp. Grafiki staram się sam robić, oprócz postaci i portretów. Ściany i podłogi robiłem w Blender 3D, a potem je przerobiłem na płasko. W grze planuję wprowadzić jakaś rozminę na tematy, które poruszał Lem: maszyny i ich inteligencja oraz nasz sens we wszechświecie xD
W planach jest teraz prosta animacja spritów i jakieś proste zarządzanie ekwipunkiem. Chcę stworzyć jakieś sprity krzeseł, stołów itp. żeby urozmaicić pierwsza mapę. Stworzyłem również prosty edytor map, który jest wbudowany w grze, w zupełności mi wystarcza.
Gra jest pisana od zera, bez korzystania z gotowych enginów. Sam C++ i SDL. Temat założyłem aby mieć motywację do pracy nad tym "dziełem".

Screen z obecnej wersji gry (30/09/2018)


Edytor map:


witajcie od czasu do czasu odpalam sobie visuala i coś tam próbuję napisać. Wpadłem dawno temu na pomysł survivala w system turowym. Rozgrywka będzie polegać na tym, że mamy do wykorzystana punkty akcji, kiedy zrobimy co mamy zrobić możemy oddać turę i w tym momencie na mapie będą losowo generowane potwory, przedmioty itp. Oczywiście po oddaniu takiej tury stracimy 1 szt jedzenia, a kiedy spadnie żarcie do 0 zaczniemy tracić punkty życia :O

W planach jest zrobienie małego elementu budowania, będziemy mogli stawiać drukarki 3D, które nam przygotują jedzenie i inne przedmioty. Oczywiście będziemy potrzebować materiałów do tego.
Głównym celem w grze jest uruchomienie silnika myśliwca kosmicznego. Do tego będziemy musieli zebrać wymagane materiały.
Napisałem prosty edytor mapy, działa również scrolling mapy, losowe respawny przedmiotów też. Jeżeli chodzi o ruch postaci to nie zaimplementowałem animacji (brak czasu i wiedzy) i zrobiłem proste przeskakiwanie sprita po tilach.
Potwory, które się pojawiają stoją w miejscu, aby zaatakować musimy poprostu na niego wejść :)
Większość grafik robię sam, ściany, podłogi itp był robione w blender 3d i przerobione na 2d.
Właście to kładę silny nacisk na losowość na mapie, żeby rozrywka nigdy nie była taka sama, staram się to wszystko dobrze zbalansować i wyważyć.


Ogólnie to kiepsko z motywacją, może jak ktoś odwiedzi i napisze jakiś pomysł to się ruszę :)
ps. jeszcze w dziale grafika 3D, mam swój temat z prackami, zapraszam :)

15
Szkółka / warunek if - czy jest wszystko sprawdzane?
« dnia: Październik 02, 2017, 19:48:28 »
witajcie!
mam taką funkcję, która sprawdza czy na pozycji x,y znajduję się jakaś rzecz.

no i idzie to tak mniej więcej:

if( cośtam1 == false && cośtam2 == false && cośtam3 == false )
{
          return true;
}

czy w tym warunku If będzie sprawdzał wszystko nawet gdyby na samym początku było true?

bo zastanawiam się czy nie przebudować takiej funkcji i zrobić to tak:
if( cośtam1 == false )
return true;

if( cośtam2 == false )
return true;


(...)


moje spaghetti wygląda tak:
void Map::GenerateRandomObjectsOnMap( void )
{
for( std::vector<Tile*>::const_iterator cit = m_tiles.begin() ; cit != m_tiles.end() ; ++cit )
{
Tile* tile = ( *cit );
Player* player = Globals::player;

int random = std::rand() % 500 + 1;
std::cout << "GenerateRandomObjectsOnMap: " << random << std::endl;

if( !tile->IsProtectionZone() && !UseItemExistsAtPosition( tile->GetPosition().x, tile->GetPosition().y ) &&!StaticItemExistsAtPosition( tile->GetPosition().x, tile->GetPosition().y ) && !MonsterExistsAtPosition( tile->GetPosition().x, tile->GetPosition().y ) && !FoodGeneratorExistsAtPosition( tile->GetPosition().x, tile->GetPosition().y ) && player->GetPosition().x != tile->GetPosition().x && player->GetPosition().y != tile->GetPosition().y )
{
switch( random )
{
case 1:
m_monsters.push_back( Globals::factory->CreateMonster( "Wild Dog", Position( tile->GetPosition().x, tile->GetPosition().y ), 10, 10, 10, "monsterinfo" ) );
break;

case 2:
m_useItems.push_back( Globals::factory->CreateUseItem( tile->GetPosition(), HEALTH_KIT ) );
break;

case 3:
m_useItems.push_back( Globals::factory->CreateUseItem( tile->GetPosition(), FOOD ) );
break;

case 4:
m_useItems.push_back( Globals::factory->CreateUseItem( tile->GetPosition(), TOOL_BOX ) );
break;
}
}
}
}

Strony: [1] 2 3 4 5