Hej!
Väldigt länge sedan jag uppdaterade denna tråden. Detta för att jag allvarligt talat inte haft varken tid eller ork att fortsätta på spelet innan några veckor tillbaka.
Jag har bestämt mig för att göra om en hel del dock. Av en simpel anledning: Jag kan inte rita.
2D MMORPG spelet som jag höll på med, hade inneburit att jag hade fått söka långt och länge efter folk som velat hjälpa till med att tillverka Sprites till spelet. Detta hade kostat dyrt i både tid och pengar.
Jag satt och funderade för några veckor sedan om hur jag skulle kunna fortsätta med mitt spel, och kom på en ide.
Eftersom jag har en hel del kunskaper inom 3D modellering sedan tidigare i livet, så tänkte jag konvertera om mitt 2D MMORPG till ett 3D. 3D är inte lika mycket jobb när det kommer till det grafiska (Om man ska hålla det simpelt, som i mitt projekt).
Annars egentligen behålla samma idé och spelstil som innan. Så, det blir en "Tibia 3D"
Jag har suttit några veckor nu, och framställt vad jag anser är en väl godkänd bas. Jag har kopierat mycket kod från tidigare 2D projektet, och mycket mer kod kommer kopieras därifrån när jag jobbat mig dit. En hel del jobb att tänka om från 2D till 3D, men inte överdrivet. Mycket av koden (Items, Spells, UI, Combat, osv) kan jag nästan kopiera rätt av från 2D projektet.
Har passat på att förbättra många saker som jag inte var jättenöjd med i förra projektet, t.ex Server Performance vid hantering av många samtidiga Entiteter. Nu fungerar det utmärkt. Har dock gått ifrån att skriva servern i Unity, så skriver en fristående konsolapplikation för servern, detta ökar prestandan en hel del också.
Gjort om min TileEngine till en mer optimerad variant, som bygger ihop många tiles till större partier ("World Slices", för färre GameObjects, och på så vis bättre prestanda på klienten).
Egentligen har första 3 veckorna gått till optimering av systemen. Byggt in massvis av användbara system och klasser som allting kommer baseras på sen. Jag bygger allting mycket mer grundligt denna gången, då vissa missar jag gjorde förra projektet ledde till mycket extra arbete. Så har dessutom gjort en kontrollpanel till servern, där jag har lätt tillgänglighet till en del information (T.ex om vart alla entiteter befinner sig, vilka som är i närheten av den entiteten, position osv).
Jag har även gjort 3D modellerna som jag använder, samt gjort en lätt gånganimation till gubbarna.
Spelet i sig ska vara stilen ni ser i videon, dvs "Blocky", lite Lego stil. På så sätt kommer jag kunna göra många av modellerna själv i början.
Lagt upp en video som visar mina framsteg de första 3 veckorna nedan.
I videon lägger jag in lite Entiteter, en del statiska (dvs, entiteter som senare kommer vara t.ex Träd, stenar, väggar osv) och en del AI styrda NPCs, som då ska representera framtida Monster, NPCs och andra levande objekt.
Självfallet så kommer inte enskilda spelare att se så här många Entiteter samtidigt i det faktiska spelet, men vill ändå testa allting under Worst Case Scenario.
Entiteter som inte är nära spelare ska också inaktiveras tills att en spelar kommer inom rimligt avstånd, men har programmerat så att min spelare nu i testläge, alltid räknas som nära alla entiteter, och därav får alla uppdateringar från alla entiteter på kartan.
Kartan i videon är 400x400x2 meter (dvs, 320 000 tiles, 2 våningar, dock är det bara tomma tiles på våning 2).
Med en 400x400x2 Karta och 10.000 entiteter, tar servern endast runt 250mb RAM, och belastar CPU med 12% (med ALLA entiteter aktiverade).
bandbreddsåtgången är ungefär 72b/s per aktiverad entitet i nuläget. Statiska entiteter tar ingenting i princip (Då dom inte flyttar på sig). Statiska entiteter KAN flytta på sig, då skickas endast nya positionsdata (144 bitar, 18 byte), och den flyttas dit med en gång, utan animationer o dylikt.
Se videon nedan!
Tack för ikväll ! Fler uppdateringar kommer komma inom kort