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

Kursy tworzenia gier RTS 2D w SDL/SFML

Ostatnio zmodyfikowano 2024-04-29 17:16
Autor Wiadomość
DejaVu
» 2024-04-26 23:22:11
Odpowiedź ChatGPT na Twoje pytanie, które skopiowałem do GPT 4:
Oczywiście, wybór struktury danych dla zarządzania zasobami w grze zależy od wielu czynników, w tym od specyfiki projektu, preferencji programisty oraz od skomplikowania mechaniki gry. Oto kilka rozważań na temat korzyści i potencjalnych problemów obu podejść:

### 1. Użycie struktury `Resource` z enumem `ResourceType`

**Zalety:**
- **Elastyczność:** Dodanie nowego rodzaju zasobu jest prostsze i może być wykonane w jednym miejscu (w enumie `ResourceType`). Nie wymaga modyfikowania klasy `Player` ani innych klas używających zasobów.
- **Ogólność:** Umożliwia łatwe iterowanie po wszystkich zasobach, co jest przydatne, na przykład, przy wyświetlaniu statystyk zasobów lub przy implementacji funkcji, które operują na wielu typach zasobów jednocześnie.
- **Bezpieczeństwo typów:** Użycie enuma zapewnia, że nie można przypadkowo przypisać wartości jednego typu zasobu do innego, co zwiększa bezpieczeństwo typów.

**Wady:**
- **Złożoność kodu:** Kod może stać się bardziej skomplikowany i mniej przejrzysty, zwłaszcza gdy trzeba operować na zasobach w wielu miejscach w kodzie.
- **Wydajność:** Może wystąpić niewielkie obniżenie wydajności związane z dodatkowymi wywołaniami funkcji i operacjami na mapach czy innych strukturach danych.

### 2. Bezpośrednie przechowywanie zasobów w klasie `Player`

**Zalety:**
- **Prostota:** Prostsza implementacja i łatwiejszy dostęp do poszczególnych zasobów. Można bezpośrednio odwołać się do zasobu, np. `player.gold`, co jest intuicyjne i szybkie.
- **Wydajność:** Dostęp do zasobów jest szybszy, ponieważ nie występują dodatkowe warstwy abstrakcji, jak w przypadku użycia enuma i mapy lub innej struktury kontenerowej.

**Wady:**
- **Skalowalność:** Dodawanie nowych typów zasobów wymaga modyfikacji klasy `Player` oraz potencjalnie wielu innych części kodu, co utrudnia skalowanie i utrzymanie kodu.
- **Ograniczona ogólność:** Trudniejsze jest wykonanie operacji, które powinny obejmować wszystkie zasoby, ponieważ każdy zasób musi być obsłużony indywidualnie.

### Wybór odpowiedniego podejścia

Wybór między tymi dwoma podejściami zależy od specyfiki projektu. Jeśli liczba zasobów jest stała, nie planuje się dodawania nowych zasobów i większość operacji na zasobach jest prostym dostępem do wartości, to drugie podejście (bezpośrednie przechowywanie zasobów w klasie `Player`) może być bardziej odpowiednie. Jeśli jednak gra może ewoluować, dodawane mogą być nowe zasoby, lub istnieje potrzeba wykonania operacji na zasobach w bardziej złożony sposób, pierwsze podejście (używanie enuma `ResourceType`) jest bardziej elastyczne i łatwiejsze w utrzymaniu na dłuższą metę.
P-180991
skovv
» 2024-04-29 00:41:32
Apropo chatu gpt - płatna wersja nie pisze tak ułomnego kodu(np nie wymyśla sobie funkcji)? Jaki jest koszt miesięczny? Widać dużą różnicę względem bezpłatnej wersji?
P-180992
DejaVu
» 2024-04-29 10:30:03
Moja historia z ChatGPT jest taka:
- używałem darmowej wersji przez jakiś czas (próbowałem zobaczyć co da się z tego 'wycisnąć')
- darmowa wersja ChatGPT 3.5 nie potrafiła mi jakiegoś problemu rozwiązać i w necie nie mogłem znaleźć rozwiązania
- zdecydowałem się kupić ChatGPT 4 i... zaczął sugerować nieco inne rozwiązania (nie pamiętam czy finalnie zaproponował jakieś 'good enough' czy uzasadnił, że jest coś nieosiągalne)
- po przejściu na ChatGPT 4, pierwsze co mi się rzuciło w oczy to, że pisze 'dużo dłuższe odpowiedzi' (co było irytujące na początku)
- na pierwszy rzut oka nie widać jakiejś specjalnej różnicy między ChatGPT 3.5, a ChatGPT 4
- jednak im dłużej się używa i się pozna różne funkcjonalności np. tworzenie własnego asystenta ChatGPT, to zaczyna się doceniać ChatGPT

Moje przemyślenia są takie:
- jeżeli ktoś w wieku 'szkolnym' zastanawia się 'jak przekonać rodziców' do płacenia za ChatGPT 4, to porównałbym do korepetycji. Za korepetytora np. do programowania zapłaci się ogromne pieniądze za znikomą ilość godzin, więc taki ChatGPT 4 jest 'jak za darmo' w porównaniu do tego, co oferuje.
- rynek idzie do przodu i warto się zastanowić czy "lepiej być ignorantem" i patrzeć jak "wagonik AI" odjeżdża oraz obudzić się za kilka lat, że większość ofert IT wymaga znajomości używania AI, albo wsiąść do niego i wykorzystać z niego dla siebie tyle ile się da (czytaj: AI może być albo Twoim sojusznikiem albo wrogiem)
- osobiście nie cofnąłbym się do ChatGPT 3.5, bo widzę jak dużo informacji z ChatGPT 4 jestem w stanie wyciągnąć i znacznie rzadziej są sytuacje w stylu "wymyśliłem Ci coś co nieistnieje"
- obecnie bardzo rzadko używam Google, bo już się przyzwyczaiłem do tego, że wpisuję "co mnie interesuje" i dostaję odpowiedź na postawione pytanie. W Googlu musisz przebijać się przez kilogramy reklam, cookiesów, różnej jakości artykułów, które nie często nie odpowiadają na pytanie, na które poszukujesz odpowiedzi

Mogę też dodać od siebie, że:
- nie ma co się oglądać na darmowe/alternatywne rozwiązania do ChatGPT 4. Różne firmy próbują 'przekonać', że istnieje coś lepszego, ale nie oszukujmy się... to Microsoft teraz pcha miliardy dolarów w tą technologię, w serwery itp. Nikt nie ma szans dorównać zasobami finansowymi firmie OpenAI, która ma miliardy dolarów finansowania, bo zrobili potężny model biznesowy, który finansuje aktualnie rozwój AI.
- wydaje mi się, że obecnie najbardziej ucierpią na tej technologii Juniorzy, dla których znalezienie pierwszej pracy w IT to pewnie nie lada wyzwanie, ale... z drugiej strony wejdzie następnej generacji pokolenie na rynek IT, które będzie używało AI do rozwiązywania większości problemów koncepcyjnych i część problemów implementacyjnych.
- nowi programiści (juniorzy) na rynku pracy bez znajomości AI raczej nie będą mieli szans na to, aby wejść na rynek pracy (bo każdy junior z AI będzie nieporównywalnie lepszy niż junior bez AI).

Odpowiadając więc na postawione pytanie "czy płatna wersja nie pisze tak ułomnego kodu jak GPT 3.5", to odpowiedź brzmi: ChatGPT 4 produkuje znacznie lepszy kod niż ChatGPT 3.5, ale to nie znaczy, że jest on idealny. Niemniej jednak jeżeli czekasz na 'doskonałe' narzędzie, które zastąpi Twoje kodowanie i myślenie, to w praktyce programista jako wykwalifikowany pracownik straci na znaczeniu, a tego chyba nikt w IT nie chce, bo prędzej czy później zarobki w IT zjechałyby do poziomu pracowników każdego innego zawodu.

Ja polecam ChatGPT 4 nie dlatego, że to rozwiązanie jest idealne, ale dlatego, że daje możliwości znacznie szybszej nauki i zdobywania wiedzy aniżeli jakiekolwiek inne istniejące narzędzia. Za głupi kurs/szkolenie/certyfikat zapłaci się znacznie więcej niż za roczną subskrypcję ChatGPT 4, natomiast wiedza na szkoleniach będzie omawiała podstawy, a ChatGPT można wykorzystać do pozyskania wiedzy zarówno podstawowej, jak i zaawansowanej, której nie znajdziesz w żadnych szkoleniach IT za które trzeba zapłacić ciężkie pieniądze.

Przykładowo: jak teraz wygooglałem, to kurs Python Developer kosztuje od 10 tysięcy złotych. Za tą cenę możesz kupić sobie subskrypcję ChatGPT na kilka lat. Możesz poprosić najpierw o spis treści do nauki (lub wkleić ze szkolenia Internetowego agendę), a potem oczekiwać, aby na każdy punkt z agendy napisał Ci szczegółowy plan i pisał lekcje dla Ciebie do nauki. To jest jak kupno indywidualnego eksperta w każdej dziedzinie, który udziela profesjonalne odpowiedzi na każde pytanie za relatywnie małe pieniądze.

/edit:
Dodam jeszcze, że: opłacalność kupna ChatGPT 4 może być mocno wątpliwa, jeżeli nie planuje się go używać regularnie.
P-180993
tBane
Temat założony przez niniejszego użytkownika
» 2024-04-29 17:16:33
no i namówiłeś mnie :-)
P-180994
1 « 2 »
Poprzednia strona Strona 2 z 2