Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

RPG 2D - Prototyp Gry oraz Map Edytora

Ostatnio zmodyfikowano 2025-10-19 14:09
Autor Wiadomość
tBane
Temat założony przez niniejszego użytkownika
» 2025-05-06 21:05:52
Wszystko jest w porządku :-) Nie zwracaj uwagi na te komunikaty. Już wyjaśniam skąd one


Nie można otworzyć pliku: assets\buildings\parts\logo.png
Nie można otworzyć pliku: assets\buildings\parts\roof2.png
-logo - to ma być emblemat nad drzwiami budynku - na razie jest to concept
-roof2 - już nawet nie pamiętam ale raczej po to by generować różne rodzaje dachówek - na chwilę obecną nie kasuje bym pamiętał


Failed to load image from memory. Reason: Image not of any known type, or corrupt
Nie udało się załadować obrazka: assets\                                      .png(2504)
Failed to load image from memory. Reason: Image not of any known type, or corrupt
Nie udało się załadować obrazka: assets\                                      .png(2505)
-tego to sam nie wiem, w najbliższym czasie sprawdzę i obadam


load shader: shaders\empty.frag as: shaders\empty
load shader: shaders\water.frag as: shaders\water
load shader: shaders\circle.frag as: shaders\circle
load shader: shaders\jagged_circle.frag as: shaders\jagged_circle
load shader: shaders\circles.frag as: shaders\circles
load shader: shaders\renderer.frag as: shaders\renderer
load shader: shaders\highlighted.frag as: shaders\highlighted
-logi, że poprawnie załadowano shadery


error - get Texture - Texture: "characters\jack" not exists
error - get Animation - Animation: "characters\jack" is empty
error - get Texture - Texture: "characters\jack" not exists
error - get Texture - Texture: "characters\john" not exists
error - get Animation - Animation: "characters\john" is empty
error - get Texture - Texture: "characters\john" not exists
error - get Texture - Texture: "characters\peter" not exists
error - get Animation - Animation: "characters\peter" is empty
error - get Texture - Texture: "characters\peter" not exists
error - get Texture - Texture: "characters\pit" not exists
error - get Animation - Animation: "characters\pit" is empty
error - get Texture - Texture: "characters\pit" not exists
-muszę dodać nowy typ GameObjectu by nie wczytywać tekstur, bo charactery mają bodysety a nie animację lub pojedynczą teksturę.


Ważne, że sie uruchamia. Program nadal jest "w produkcji" więc nie dziwne, że są komunikaty. Dziś nie miałem czasu programować bo robię animacje :-)
P-182335
nanoant20
» 2025-05-06 21:18:02
good luck. owocnej pracy.
P-182336
tBane
Temat założony przez niniejszego użytkownika
» 2025-05-07 15:27:38
Dzięki przyda się tych grafik jest całkiem sporo :-)


P-182337
tBane
Temat założony przez niniejszego użytkownika
» 2025-05-31 18:34:40
Jednak tak szybko ten edytor nie wyjdzie. Cały czas mam nowe pomysły na nowe funkcjonalności.

Repo:  https://github.com/tBane1995/Editor-RPG2D.git

Obecnie do napisania pozostało:
-Edytor Dialogów
-Zapisywanie i wczytywanie Dialogów z pliku mapy
-Edytor Questów
-Zapisywanie i wczytywanie Questów z pliku mapy
-Edytor Itemów (grafika, atrybuty)
-Edytor GameObjectów ( animacja, parametry collidera)
-Edytor Potworków (statystyki, animacja, parametry collidera)
-Napisać system outfitów - żeby każdy item nie potrzebowałe unikalnego setu tylko, żeby były ogólne np. szary outfit, brązowy outfit, szare szaty, brązowe szaty itp
No i jeszcze dodaje nowe funkcjonalności w obecnych funkcjach takie jak np. Powiększanie Rozmiaru Budynku W Building Edytorze oraz funkcja automatycznego generowania ścian budynku.

Projekt na Githubie zaktualizowany więc można zerknąć na kod - ostatnio poprawiałem wysokości linii (we szystkich TextArea i Tip'ach), zaprogramowałem zapisywanie Characterów zarówno jako skrypt w pliku mapy oraz binarnie (domyślnie wszystko będzie zapisywane binarnie) i przełączanie dialogów poprzez kliknięcie w CharacterPanelInfo->Dialogues->Change(na razie są 4 dialogi w tym jeden to intro do gry). Dodałem możliwość przesuwania kamery w Building Edytorze oraz przycisk po lewej stronie centrujący kamerę. No i jeszcze usunąłem logi dla zbędnego wczytywanie tekstur dla Characterów - teraz logów nie wyświetla :-)

Zapisywanie Binarne poprzez:
C/C++
if( event.key.code == sf::Keyboard::G ) {
   
mapa->binary_save( L"world\\test_world.wrd" );
   
std::cout << "saved\n";
}

if( event.key.code == sf::Keyboard::H ) {
   
mapa->binary_load( L"world\\test_world.wrd" );
   
std::cout << "loaded\n";
}

Uwaga! Nie należy wczytywać pliku "world\\test_world.wrd" poprzez zwykłe wczytywanie Menu->Load. Bo wystąpią błędy ...

Screen z normalnie ubranymi Characterami wczytywanymi z pliku mapy
P-182422
termistor
» 2025-06-03 21:43:07
termistor  
Dzięki za szczegółowy opis i kod. Projekt wydaje się ambitny i dobrze zaplanowany. Poniżej kilka uwag i propozycji:  

1. **Zapis binarny i ładowanie**  
W kodzie
if (event.key.code == sf::Keyboard::G)
 i podobnych, warto rozważyć abstrakcję zapisu/ładowania. Na przykład:  
void save_map_binary(const std::string& path) {  
    mapa->binary_save(path);  
    std::cout << "Zapisano do: " << path << std::endl;  
}
 
to uprości powtarzające się fragmenty i ułatwi debugowanie.  

2. **System outfitów**  
Propozycja: Zamiast tworzyć osobne atrybuty dla każdego koloru, rozważ użycie map (np. `std::map<std::string, Outfit>`) z kluczami typu "szary", "brązowy" itp. Pozwoli to na dynamiczne przypisywanie zestawów do itemów bez nadmiaru kodu.  

3. **Edytor Dialogów i Questów**  
Zapisywanie tych danych w pliku mapy wymaga starannego doboru struktury. Jeśli obecnie używasz binarnego zapisu, rozważ dodanie wersji formatu (np. `uint32_t version` jako pierwszy bajt w pliku). Pomocne przy ewentualnych zmianach struktury w przyszłości.  

4. **Logi i błędy**  
Chociaż deklarujesz, że logi są "zbędne", warto zachować podstawowe ostrzeżenia (np. o brakujących teksturach), np. w trybie debugowania. Możesz je włączać/wyłączać flagą `#define DEBUG_MODE`.  

5. **Kod źródłowy**  
W kodzie z binary_save i binary_load warto dodać obsługu wyjątków (np. `try/catch`) dla błędów I/O. Przykład:  
try {  
    mapa->binary_save(L"world\\test_world.wrd");  
} catch (const std::exception& e) {  
    std::cerr << "Błąd zapisu: " << e.what() << std::endl;  
}
 

6. **Interfejs użytkownika**  
Dla funkcji typu "przesuwanie kamery" w edytorze budynków, rozważ dodanie klawiszy skrótów (np. `W/A/S/D` dla ręcznego przesuwania) – poprawi to ergonomię.  

Podsumowując, projekt ma potencjał. Dalsza praca nad modularnością kodu i obsłudą błędów pomoże uniknąć problemów w przyszłości. Powodzenia z animacjami i rozwojem!
P-182448
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-16 15:56:50
Chciałbym poinformać, że obecnie prace nad programem Editor RPG2D są zawieszone. Nie wiem kiedy wrócę do tego programu, ale pewne jest to, że będę musiał go przepisać raz jeszcze.
Nauczyłem się wiele od czasu rozpoczęcia prac nad nim i wiele jest do poprawy. Poza tym planuję dodać wiele funckjonalności, które są w zasięgu moich możliwości. Kod nadal będzie dostępny na githubie. Więc jakby ktoś chciał przejrzeć to można śmiało:

https://github.com/tBane1995/Editor-RPG2D.git
P-183160
nanoant20
» 2025-10-19 13:20:47
Chciałbym poinformać, że obecnie prace nad programem Editor RPG2D są zawieszone. Nie wiem kiedy wrócę do tego programu
zakładam, że się nie zniechęciłeś? zrodził ci się pomysł i dokończysz projekt.
tak, z czystej ciekawości, co będzie Twoim najbliższym priorytetem? na co poświęcisz swój czas? / skoncentrujesz swoją uwagę?
pewne jest to, że będę musiał go przepisać raz jeszcze
migracja ze standardu SFML 2.x na SFML 3.x czy portowanie (porting)?
może planujesz redevelopment, jeżeli tak, to z wykorzystaniem jakiej technologi?
P-183174
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-19 14:08:30
Nie zrezygnowałem z tego projektu. Po prostu pisząc inne programy nabyłem umiejętności i kod jest do poprawy. Poza tym wpadłem na kilka pomysłów i łatwiej będzie napisać kod od początku niż edytować obecny. Projektu nie porzucam i planuję do niego wrócić od razu jak tylko skończę pisać program Anim Paint. No i jeszcze planuje napisać Edytor w nowym SFMLu :-)
P-183175
1 2 3 4 « 5 » 6
Poprzednia strona Strona 5 z 6 Następna strona