"Blog o programowaniu" – hmm… to za dużo powiedziane ;-)

Programowanie i takie tam.

Produkty, Surowce i zasoby

Posted by Jerzy Mieczyński on Sierpień 13th, 2010

Zgodnie z umową, a raczej regulaminem przedstawię to co sobie doskrobałem ostatnio jeśli chodzi o założenia projektu, wolał bym raczej to jeszcze trochę rozwinąć więc będę wdzięczny za sugestię. Jak już wspomniałem gra ma kłaść pewien nacisk na ‘ekonomie’ (chociaż to jest za duże słowo na to ;-) ) – tzn. budynki, surowce, zasoby, produkty. W związku z tym, muszę stworzyć pewną listę surowców, produktów tworzonych z tych surowców oraz zasoby które mają być niewydobytym surowcem (np. drzewa są zasobem, który drwal (budynek) ścina tworząc surowiec, który po dalszej obróbce np. w tartaku zostaje deską (produktem)).

W każdym razie, Surowiec i produkt może być jedną klasą, Zasób prawdopodobnie zostanie potraktowany indywidualnie ze względu na konieczność umiejscowienia go gdzieś na mapie i nie widzę sensu dodatkowo rozpoznawać flagi czy to czasem nie surowiec/produkt. Wszystkie dane dotyczące gry będą trzymane w bazie, więc:

Tabela: Good

Pola:

  1. GoodsID : ID będzie używane choćby po to aby wiedzieć jakich składników potrzebuje dany produkt.
  2. Name: nazwa produktu/surowca. Prawdopodobnie użyje również jej do ładowania odpowiednich tekstur
  3. Value: Wartość danego produktu – na potrzeby handlu, zastanawiam się jeszcze nad min i max przy której gracze komputerowi byliby skłonni sprzedawać swoje i kupować nasze.
  4. BuildingID : ID budynku wydobywającego lub produkującego dane dobro
  5. ProductionTime: Czas jaki zajmuje wydobycie/wyprodukowanie jednej jednostki danego dobra.
  6. Typ: Product/Subproduct/Surowiec – tylko dla stworznei awygodniejszego interfejsu (pogrupowanie)
  7. Typ2: Cywilne/Militarne – j.w
  8. DayConsumptionPerCitizen: konsumpcja danego dobra na mieszkańca, podawana na dzień. pewnie coś w okolicach 0.0002 ;)   [jednostką towaru będzie 1tona]

Tabela: ProductComponets:

  1. GoodsID: ID dobra dla którego jest potrzebny jest dany zasób
  2. ComponentID : ID potrzebnego zasobu/produktu/subproduktu
  3. Consumption: Ile zużywa danego dobra dla stworzenia nowego produktu.  (float)

ProductComponents nie ma żadnego indexu, uznałem go za zbędny – żeby pobrać potrzebne surowce będzie trzeba pobrać wszystkie wiersze w których zgadza się GoodsID produktu z GoodsID ProductComponents.

Pozostaje jeszcze tabela dla  budynków i wojska, przede wszystkim będą tam koszty wybudowania/rekrutowania, potrzebne surowce i koszty jakie będzie trzeba ponieść każdego miesiąca. Żołnierz dodatkowo będzie miał informacje nt. siły ataku, zadawanych obrażeń, obrony, punków życia (ale to nie RPG, ranny żołnierz się na dużo nie zda), oraz informacje nt. levelowania (możliwe bonusy), progi doświadczenia.

Prace się trochę wloką, w sporej części przez mało przyjazny klimat – ja strasznie marudny i wybredny jestem, a te słońce mnie zabija no i sporo energii poświęcam na pracę :-)

Przez weekend może posiedzę nad terenem który w końcu w grze musi być i coś skrobnę na ten temat, ale trzeba zrobić zakupy, pojechać nad morze skoro już mieszkam w Gdańsku od ponad miesiąca :-) i koniec końców mogę nie mieć sił – więc skrobnę coś nt. UI a teren zostawię na później.