Permalänk
Medlem
Skrivet av Wiffler:

Jäklar vad grymt det börjar se ut! Har följt ditt .....
Skickades från m.sweclockers.com

Väldigt kul att höra ! Det är precis det jag siktar på, ett grafiskt simpelt spel med fokus mer på bra RPG aspekter och mycket innehåll.

Jag kommer posta här när en test kommer. Har bestämt mig för att använda Sweclockers för mina första tester, så alla som vill testa kommer få möjlighet till det ! Jag tror faktiskt inte att det är så långt ifrån en test. Ska bara få in lite mer innehåll i form av Quests och konversationer samt fixa inloggningssystemet. Vi ser ju gärna att det iaf finns lite att göra när man kommer in som Spelare så man kan spela och bilda sig en någorlunda uppfattning.

Permalänk
Medlem

Pathfinding Update

Jag ville snabbt dela med mig av en grej som jag fixade för några dagar sedan som gjorde stor skillnad på servern.

I tester jag gjorde så spawnade jag in 1000 spindlar, som alla var aktiva. Dom gick runt och slogs mot NPCs som de kom nära. CPU användningen låg då på mellan 25-40%, och det skedde rätt mycket GC. Jag undersökte saken, och såg att den största boven var helt klart Pathfinding. Den tog runt 85% av den totala CPU belastningen.

Så jag började rota lite i min kod, och fixade en del saker som hade med GC att göra. Fick ner GC väldigt mycket, men CPU belastningen höll sig på samma. Jag skapade då lite counters så jag skulle kunna hålla reda på hur många beräkningar som gjordes.

Lade in så denna nya informationen syntes under Pathfinder Status i Kontrollpanelen på servern.
Då såg jag direkt vad orsaken till den höga belastningen var. Dum som jag är, hade jag inte lagt in någon break ifall det tog väldigt långt tid att hitta en Path. Så om datorn försökte räkna ut en Path från A->B, så kunde den i vissa fall testa upp emot 300.000 tiles innan den skickade tillbaka att en Path inte var valid.

Before

Som ni ser på Total Fail Count, vilket är hu många Tiles som servern har testat totalt, så uppgår den till extrema siffror, väldigt fort.

Jag lade då in en break om den inte hittade en path efter 2500 tiles som standard. Detta gör så dom kan hitta paths som är relativt långa, men inte superlånga, då får man öka siffran för just den uträkningen, om man i vissa scenarion kanske vill hitta en path över en längre sträcka.
Efter justeringen så sänktes CPU belastningen till runt 14% med 1000 aktiva monster. Average Path calculation time sänktes till 1.6ms, och longest calculation time från 147ms till 38.
Average Fail Count, gick från massiva 14000 ner till 200 !!

After Changes

Detta gjorde en enorm skillnad på server performance!
Blev väldigt nöjd med resultaten, och kände att jag ville dela med mig av det

Mer uppdateringar inom kort!

/R

Permalänk
Skrivet av BlasteRs:

Lade in så denna nya informationen syntes under Pathfinder Status i Kontrollpanelen på servern.
Då såg jag direkt vad orsaken till den höga belastningen var. Dum som jag är, hade jag inte lagt in någon break ifall det tog väldigt långt tid att hitta en Path. Så om datorn försökte räkna ut en Path från A->B, så kunde den i vissa fall testa upp emot 300.000 tiles innan den skickade tillbaka att en Path inte var valid.

Skrattade gott åt det där, skönt att du hittade det. Har kikat på den här tråden lite till och från och måste säga att jag är imponerad! Riktigt bra jobbat med allt.

Permalänk
Medlem

Worlds & Logins

Hej !

Har precis slutfört det mesta på mitt inloggningssystem. Jag satte mig ner och tog en funderare på hur exakt jag ville göra, och då jag tänkte mig in i scenariot att det kan komma att behövas mer än 1 server i framtiden (förhoppningsvis xD) så måste jag ju ha ett system som hanterar detta. I dagsläget loggade man bara direkt in på spelservern med sitt konto, valde sin karaktär och loggades in.

Men, tanken på flera servrar tvingade mig att tänka lite mer storskaligt.

Så, nu har jag designat ett server-system som hanteras av en central inloggningsserver.
Inloggningsservern, eller Serverhanteraren snarare, sköter allting som har med inloggning att göra, samt registrerar Spelservrar.

När en Spelserver startar upp, kontaktar den Loginservern, och registrerar sig med ett "World Name". Loginservern skickar tillbaka till spelservern en ledig port, och spelservern startar nätverksservern som klienterna ska ansluta till med den tilldelade porten.
Då vet loginservern vilken IP-Address samt port som den spelservern använder.

klientsidan så startar man vid en inloggningssida. I det skedet är man endast uppkopplad mot Inloggningsservern. Man loggar in med sitt konto, och får en lista på sina karaktärer, med lite snabbfakta (Namn, Level, Vocation och World). När man väljer en karaktär, så skickar Loginservern information om vilken IP och port som klienten ska ansluta till.
Loginservern skickar samtidigt ett meddelande till spelservern, och säger till den att en spelare är påväg in, med en karaktär.
Spelservern noterar detta, och tillåter anslutningen när spelaren ansluter några ms senare. Skulle Spelservern inte ha någon information om att en spelare är påväg in med det användarnamnet, så tillåter den inte anslutningen och klienten kommer inte in.

Login

Character Select

Även när man Skapar en Karaktär så sköts all kommunication mot Inloggningsservern. Inloggningsservern kontaktar Spelservern man valt under "World" och säger till den att skapa en Karaktär, sen skickar den tillbaka det till klienten igen.

Create Character

Har också hållt på mycket med Serialisering av Spelare. Så Spelare sparas när man loggar ut.
Det är under utveckling, men fungerar bra.

Tack för ikväll !
Mer uppdateringar snart förhoppningsvid

/R

Permalänk
Medlem

Character Costume

Glömde Nästan nämna att jag håller på med ett Outfit Fönster.
Detta för att Spelarna ska kunna ändra sitt utseende. Man kommer inte kunna ändra Gender efter att man skapat sin karaktär, men det andra.

Man väljer mellan Outfits som är Standard, dvs finns för alla, samt Outfits som man fått på annat vis, t.ex genom Quests eller Loot.
Tanken är att man börjar med rätt få outfits och bygger upp en garderob allteftersom.

Permalänk
Medlem

Uppdatering

Hej Hej!

En Snabb liten uppdatering på vad jag jobbar med:

Jag håller på med den i dagsläget sista planerade Editorn, Status Effect Editor.
En Status Effect är en status ändring på en Entitet, alltså Buffs/Debuffs o liknande.

T.ex har jag skapat några Pre-Defined Status Effects, så som "Well-Fed" samt "Overweight".
Well-Fed läggs på en Entitet som hög Food Stash, alltså ätit mycket och Overweight läggs på spelare som har för hög vikt i sin inventory.
Overweight drar då ner Movementspeed med 80%, så man går extremt långsamt.

Well-Fed ger 2hp var 2.5e sekund, och 2mp var 3.5e sekund.

Jag har inga bilder att visa på Editorn ännu då jag precis börjat med den, så tar nog helgen ut innan den är helt klar.
Reworkar samtidigt Status Effects systemet, då jag inte rört det på väldigt länge.

Jag uppdaterade också Vatten Shadern ! Det kan jag iaf lägga upp en bild på!
Updated Water Shader

Innan va vattnet bara stilla och tråkigt. Nu är det lite mer levande

Skapade också Info Bars i vänstra hörnet där man ser sitt hp/mana, samt vilken target man har.

Entity Panels

Som ni kanske ser så har jag tagit bort Mana från Entity Info Bars ovanför gubbarna, det blev lite renare så.

Jag återkommer när min Status Effects Editor är färdig

Tack o hej!

Permalänk
Medlem
Skrivet av BlasteRs:

Hej Hej!

En Snabb liten uppdatering på vad jag jobbar med:

Jag håller på med den i dagsläget sista planerade Editorn, Status Effect Editor.
En Status Effect är en status ändring på en Entitet, alltså Buffs/Debuffs o liknande.

T.ex har jag skapat några Pre-Defined Status Effects, så som "Well-Fed" samt "Overweight".
Well-Fed läggs på en Entitet som hög Food Stash, alltså ätit mycket och Overweight läggs på spelare som har för hög vikt i sin inventory.
Overweight drar då ner Movementspeed med 80%, så man går extremt långsamt.

Well-Fed ger 2hp var 2.5e sekund, och 2mp var 3.5e sekund.

Jag har inga bilder att visa på Editorn ännu då jag precis börjat med den, så tar nog helgen ut innan den är helt klar.
Reworkar samtidigt Status Effects systemet, då jag inte rört det på väldigt länge.

Jag uppdaterade också Vatten Shadern ! Det kan jag iaf lägga upp en bild på!
Updated Water Shader
https://i.imgur.com/bzxCWjl.gif

Innan va vattnet bara stilla och tråkigt. Nu är det lite mer levande

Skapade också Info Bars i vänstra hörnet där man ser sitt hp/mana, samt vilken target man har.

Entity Panels
https://i.imgur.com/bvfzyDd.jpg

Som ni kanske ser så har jag tagit bort Mana från Entity Info Bars ovanför gubbarna, det blev lite renare så.

Jag återkommer när min Status Effects Editor är färdig

Tack o hej!

Swe9 väldigt välgjort ut! Ser fram mot att få testa. Bra jobbat!

Skickades från m.sweclockers.com

Visa signatur

Outtröttlig, löpartokig besserwisser!

Bli vegan! För djuren, planeten, hälsan och våra barns skull!

Permalänk
Medlem

Har följt sedan starten, ser grymt ut och verkar gå åt rätt håll. Bra informativa inlägg hur du tänker och löser problemen vilket gör det extra kul att följa!
Är du själv på detta eller är ni ett gäng som kör?

Visa signatur

Bara gammalt skräp...

Permalänk
Medlem

Dags för en Uppdatering!

Hej!

Har dröjt lite med denna uppdateringen, inte för att jag slutat jobba på projektet utan snarare tvärtom
Gjort rätt mycket Behind the Scenes grejer senaste veckorna, och tänkte skriva en liten sammanställning på det intressanta för de som bryr sig

Det största jag arbetet på, är ett sätt att synka projektet mellan användarna, på ett smidigt sätt.
Jag har använt Unitys Collaboration innan, och det har fungerat Ok. Inte 100%, men godkänt. Har känts extremt långsamt, och dessutom så kunde projektet ibland få för sig att "Checking for Updates", och detta kunde ibland ta upp till 10 minuter...
Detta hände några gånger per dag. Men största anledningen till att jag ville hitta ett annat sätt var för att Collaboration endast stödjer 3 personer, 1GB Cloud Space om man inte betalar för Pro (runt 1000:- / Månad).

Då vi snart ska bli 5 personer som kommer arbeta på projektet, och eftersom spelet inte drar in en enda slant, så försökte jag skapa ett billigare alternativ.
Jag vet inte om jag har nämnt utökningen i vårt "Team" innan, men i slutet av April, så kommer vi samlas 5 personer, och ha ett "Uppstartsmöte". Där kommer vi ha en utbildning av mina verktyg som finns tillgängliga, som dessa personer då kommer använda för att börja skapa världen och storyn. De kommer även skapa alla Items, Spells osv. Vi kommer tilldela personer olika ansvarsområden så vi vet vem som gör vad.
Vi har personer med bra erfarenheter inom t.ex Rollspel och liknande, som jag vet kommer kunna leverera en bra grund för Storyn.

Åter till Synkningen av projektet:
Jag testade att använda GitHub, men stötte på en del problem, och dessutom inte jättelätt att använda ihop med Unity (Kanske missade jag någon bra lösning?) så jag tog några dagar och gjorde en egen, liknande GitHub lösning. Jag tog sen detta och implementerade direkt in i Unity.

SyncProject Window
Enkelt: Denna ansluter till en server som har en "master" av hela projektet. Jag som programmerare, kan välja att skicka alla ändringar jag gjort till servern. Den jämför filerna jag har, med de som finns på servern och uppdaterar "master"-datan så den matchar. Servern körs på min Filserver som en tjänst. Den lagrar dessutom alla projekt som synkas (Byggde in stöd för fler projekt, så jag kan använda det även i framtiden) på Dropbox, så jag vet att jag får en Cloud Backup på den automatiskt.

Användarna kan sedan "Fetcha" ändringar. Den gör då samma sak, ansluter till servern, jämför lokala filer med master-datan och uppdaterar klienten med de filer som är ändrade. (Commit Knappen syns endast för användare som har rättigheter att skicka filer till servern, just nu är det bara jag).

Mitt Nätverksbibliotek är inte speciellt designat för att skicka filer, men jag har funktioner för det. Jag bryr mig inte om överföringshastigheten sådär jättemycket, så jag lade inte ner alltför mycket tid på att optimera det.
I en test där jag skapade ett helt nytt Unity Projekt på en av mina andra datorer, och Fetchade hela projektet från Mastern, så skickade den i runt 300Mbits som snabbast (nästan 40mb/s). Projektet med 1.6gb data, 23.200 filer tog ca 2-3 minuter.
Jag tyckte att det fick duga, även om det går att kräma ut mer med lite optimering.

Status Editor
Förra inlägget skrev jag att jag höll på med en Editor för Status Effects (Buffs, debuffs o liknande). Denna blev färdig rätt fort. Kunde nästan Copy-Paste det mesta från Spell Editorn.

Den fungerar utmärkt.

Load Status Effect

Status Effect Settings

En status Effect har, förutom de vanliga Triggers som allt annat har, dessutom inställningar för Entity Modifiers.
Detta är Modifiers som påverkar Entiteten som är påverkad av Status effekten.

Så i Exempelt ovan, så har vi en Strenght Modifier, som ökar strenght med X. En Movementspeed modifier samt en Attackspeed modifier.

Denna Status Effekten implementerar också 3 Triggers. OnStatusAdded, OnStatusRemoved och OnInterval.
OnInterval Triggar 1 gång per interval, som man själv bestämmer per trigger.
Så i nedan exempel ser ni att denna är inställt på att trigga 4ggr per sekund, och gör en Heal på Entiteten med 2 Hp.

Trigger Example, OnInterval.

Övriga Editor Ändringar
En annan snabb liten grej jag gjorde är att jag lade in stöd i Editorerna så dom automatiskt Grupperar ihop fält baserat på deras gruppering på servern.
Detta ger en bättre översikt över alla inställningar. Har gjort det med Spell Editorn och Entity Editorn just nu, ska också göras på övriga editorer. En liten grej som gör rätt stor skillnad.

New Spell Editor, With Groups

New Entity Editor, With Groups

Permalänk
Medlem

@bardbard: Jag är ensam kodare, men snart är vi fler som jobbar på projektet i helhet. Jag kommer dock fortsatt vara ensam på programmeringen

Permalänk
Medlem

Nu kanske din egen "Github-lösning" fungerar för ert ändamål, men en av styrkorna med att köra en riktig repositorylösning som Git (Github/Bitbucket) och Subversion är ju just versionshanteringen och att få upp om eventuella konflikter i filer. Jag har inte använt Unity men nog måste det gå att lösa det på något sätt. Om Unity inte har stöd för Git bör du bara kunna sköta incheckningar respektive utcheckningar utanför.

*edit*
Nu har jag så klart ingen aning om hur avancerad din lösning är, men jag får känslan av att den är ganska primitiv. I ert fall kanske den fungerar alldeles utmärkt som sagt, men jag slår ändå ett slag för ordentlig versionshantering

Visa signatur

Stationär: Fractal Design Meshify 2 Compact, Ryzen 7 5700x, MSI MAG B550 Tomahawk, Kingston HyperX Fury 32GB 3600Mhz CL18, Sapphire Radeon RX 5700 Pulse, Kingston A2000 1TB (x2), Seasonic Focus GX 650W, Noctua NH-U14S

NAS: Fractal Design Define R5, Ryzen 3 1200AF, Asus Prime B450M-A, 32GB ECC DDR4 @ 2133Mhz, 5x WD Red 4TB (Raidz2), WD Red 2TB (stripe), TrueNAS 12.0

Permalänk
Medlem

Annars kan du kolla om Git LFS är något för er. Alltså vanliga Git + assets. LFS står för Large File Storage. Finns att läsa mer om här: https://git-lfs.github.com/. Om någon i ditt Team gör en ny stad i editorn så kan det pushas upp och synkas på Git LFS så kan du "hämta hem" den nya staden genom en vanlig

git pull

förutsatt att LFS är installerat. Installation görs först genom att köra

git lfs install

Se mer här hur man installerar https://help.github.com/en/articles/installing-git-large-file-storage

Detta är gratis och bör stödja över hundra användare. Kika gärna på det och se om det är något för er

Permalänk
Medlem

@Alotiat: Git-lfs är bra, Perforce brukar fungera riktigt bra också. Jag hade personligen aldrig vågat mig på att göra min egen hantering av projektdata. Möjligtvis för synkning endast, men använt git eller perforce för versionshanteringen.

Sjukt coolt projekt förresten!

Permalänk
Medlem

@Alotiat: Tack för tipsen Nu är det enda som vi egentligen behöver synka mellan Unity just Scripten och sånt. Det man "Ritar" i kartan ritas ju direkt på servern. Där behöver ingen kontroll eftersom allt sånt görs i realtid. Samma gäller allt man skapar, Spells, Triggers, Items, NPC, Monsters etc. Det skapas också direkt på servern, därav är en Versionskontroll inte nödvändig. Dom gångerna som det behövs är ju när jag t.ex uppdaterat script och liknande, eller om någon av de andra importerat en ny Modell och riggat den. Egentligen, allt som endast påverkar Klienten.

Jag har ju en simpel form av Versionshantering, så om man ändrat en fil, som har ändrats en gång på servern av någon annan, frågar den vilken av dessa man ska använda.

Permalänk
Tangentbordskonnässör

Nu vet jag inte hur ni kom in på versionshantering, men visst har du riktig (GIT, TFS eller liknande) versionshantering på all kod iaf @BlasteRs ?

Använder BitBucket själv för privata repos när jag sitter med mina egna projekt hemma. Funkar hur bra som helst och man slipper vara rädd för att hårddiskar krashar eller huset brinner ner. Hade tidigare en egen Gitserver hemma, men blev nojig över att om huset brinner ner så brinner allt jag gjort ner med huset.

Permalänk
Medlem
Skrivet av Netzone:

@Alotiat: Git-lfs är bra, Perforce brukar fungera riktigt bra också. Jag hade personligen aldrig vågat mig på att göra min egen hantering av projektdata. Möjligtvis för synkning endast, men använt git eller perforce för versionshanteringen.

Sjukt coolt projekt förresten!

Tack Alltid kul att höra att folk gillar det man håller på att skapa!

Egentligen är ju inte versionshantering speciellt avancerat... Är filen Uppdaterad? Om Ja, Är det samma som jag precis uppdaterat? Om ja, Fråga vilken vi ska använda, annars Uppdatera filen.

^^

Permalänk
Tangentbordskonnässör
Skrivet av BlasteRs:

Tack Alltid kul att höra att folk gillar det man håller på att skapa!

Egentligen är ju inte versionshantering speciellt avancerat... Är filen Uppdaterad? Om Ja, Är det samma som jag precis uppdaterat? Om ja, Fråga vilken vi ska använda, annars Uppdatera filen.

^^

Hur löser du det när du bygger nya features och ska lösa buggar i prod-branchen samtidigt? Eller om du håller på med en större uppdatering, typ en "DLC" eller liknande, och ska hantera buggar och mindre features till prod-branchen samtidigt?

Håller du på med en feature i en branch, men vill synca den med en annan branch?
Hur ska det hanteras? Med git: "git pull master" eller "git merge <branch>" osv.

Med git skapar du bara brancher för varje sak genom några snabba kommandon, ska man hålla koll på alla filer själv kommer det snabbt bli ett clusterfuck utan dess like, speciellt nu när du har kommit så långt och faktiskt byggt något grymt med (vad jag antar) en rätt stor kodbas.

Permalänk
Medlem
Skrivet av huttala:

Hur löser du det när du bygger nya features och ska lösa buggar i prod-branchen samtidigt? Eller om du håller på med en större uppdatering, typ en "DLC" eller liknande, och ska hantera buggar och mindre features till prod-branchen samtidigt?

Håller du på med en feature i en branch, men vill synca den med en annan branch?
Hur ska det hanteras? Med git: "git pull master" eller "git merge <branch>" osv.

Med git skapar du bara brancher för varje sak genom några snabba kommandon, ska man hålla koll på alla filer själv kommer det snabbt bli ett clusterfuck utan dess like, speciellt nu när du har kommit så långt och faktiskt byggt något grymt med (vad jag antar) en rätt stor kodbas.

Jag får väl implementera Branches sen om det behövs lite senare, borde inte vara speciellt avancerat. Får avsätta en dag för det troligen.
Så kan man kanske även tillåta de andra att skapa egna branches om de vill Experimentera lite

Permalänk
Medlem
Skrivet av huttala:

Med git skapar du bara brancher för varje sak genom några snabba kommandon, ska man hålla koll på alla filer själv kommer det snabbt bli ett clusterfuck utan dess like, speciellt nu när du har kommit så långt och faktiskt byggt något grymt med (vad jag antar) en rätt stor kodbas.

Jo det börjar bli lite kod nu,
Server: ~35000 Lines
Client: ~30000 Lines
Dock delar Servern och Klienten ca. 3000 Lines med varandra så dom är dubbelräknade.

Permalänk
Tangentbordskonnässör
Skrivet av BlasteRs:

Jo det börjar bli lite kod nu,
Server: ~35000 Lines
Client: ~30000 Lines
Dock delar Servern och Klienten ca. 3000 Lines med varandra så dom är dubbelräknade.

Dåså, en repo för klienten och en för servern. Sen är det bara att kötta.

Tar max 1h att fixa, och sen kan jag sova gott om nätterna vetandes att 3D-Tibia snart kommer kunna avnjutas utan att de läggs ner för att någon tappa en cola i servern och all kod försvann.

PS. Ser verkligen fram emot att kunna testa detta spel sen. All aboard the hype train!

Permalänk
Medlem

@huttala: Hahaha, Allt ligger i Cloud så det är ingen risk

Permalänk
Medlem
Skrivet av BlasteRs:

@Alotiat: Tack för tipsen Nu är det enda som vi egentligen behöver synka mellan Unity just Scripten och sånt. Det man "Ritar" i kartan ritas ju direkt på servern. Där behöver ingen kontroll eftersom allt sånt görs i realtid. Samma gäller allt man skapar, Spells, Triggers, Items, NPC, Monsters etc. Det skapas också direkt på servern, därav är en Versionskontroll inte nödvändig. Dom gångerna som det behövs är ju när jag t.ex uppdaterat script och liknande, eller om någon av de andra importerat en ny Modell och riggat den. Egentligen, allt som endast påverkar klienten.

Jag har ju en simpel form av Versionshantering, så om man ändrat en fil, som har ändrats en gång på servern av någon annan, frågar den vilken av dessa man ska använda.

OBS! Det är möjligt att vi pratar om olika saker. Jag syftar på utveckling av kod + assets av användaren, det är möjligt att detta inte har något med koden/assets från din sida eller på servern. Utan det kanske endast sker på klientsidan.

Tanken med versionshantering är inte att det ska synkas så att alla jobbar med den nyaste versionen. Utan tanken är att du ska ha ett workflow där varje version är definierad och sparad för framtiden. Om någon bygger eller gör en ny stad som heter Stockholm, så kan det i senare skede bli Stockholm 1.1, 1.2, ... , 2.0 o.s.v. Sedan gör en annan person Göteborg, helt plötsligt har du Göteborg 1.0, 1.1, ... 2.0, men även också Stockholm 1.0 + Göteborg 1.0, Stockholm 1.1 + Göteborg 1.0, Stockholm X.0 + Göteborg Y.0. Komplexiteten ökar exponentiellt.
Du kommer alltså ha N stycken olika versioner av Stockholm och M stycken olika versioner av Göteborg. Att endast arbeta mot den senaste versionen är icke-optimalt (dumt med andra ord) av väldigt många anledningar, dels så kastas arbetstiden i sjön så fort det går mot ny version och dels försvinner alla fundamentala fördelar med en versionshanterare. Men som jag skrev ovan så kanske inte detta gäller dig, utan är till för användaren/klienten, de borde använda en robust versionshanterare.

Skrivet av BlasteRs:

Jag får väl implementera Branches sen om det behövs lite senare, borde inte vara speciellt avancerat. Får avsätta en dag för det troligen.
Så kan man kanske även tillåta de andra att skapa egna branches om de vill Experimentera lite

Nu vet jag inte hur skräddarsydd din versionshanterare är. Men du kommer att spara väldigt mycket tid och energi om du använder en etablerad som redan finns på marknaden.

Missförstå mig rätt: Jag tycker du gjort ett kanonjobb. Vill bara att du är medveten om effektivisering av arbetsmetoden/workflow kan påverka ett projekt avsevärt

Permalänk
Medlem
Skrivet av Alotiat:

OBS! Det är möjligt att vi pratar om olika saker. Jag syftar på utveckling av kod + assets av användaren, det är möjligt att detta inte har något med koden/assets från din sida eller på servern. Utan det kanske endast sker på klientsidan.

Tanken med versionshantering är inte att det ska synkas så att alla jobbar med den nyaste versionen. Utan tanken är att du ska ha ett workflow där varje version är definierad och sparad för framtiden. Om någon bygger eller gör en ny stad som heter Stockholm, så kan det i senare skede bli Stockholm 1.1, 1.2, ... , 2.0 o.s.v. Sedan gör en annan person Göteborg, helt plötsligt har du Göteborg 1.0, 1.1, ... 2.0, men även också Stockholm 1.0 + Göteborg 1.0, Stockholm 1.1 + Göteborg 1.0, Stockholm X.0 + Göteborg Y.0. Komplexiteten ökar exponentiellt.
Du kommer alltså ha N stycken olika versioner av Stockholm och M stycken olika versioner av Göteborg. Att endast arbeta mot den senaste versionen är icke-optimalt (dumt med andra ord) av väldigt många anledningar, dels så kastas arbetstiden i sjön så fort det går mot ny version och dels försvinner alla fundamentala fördelar med en versionshanterare. Men som jag skrev ovan så kanske inte detta gäller dig, utan är till för användaren/klienten, de borde använda en robust versionshanterare.

Nu vet jag inte hur skräddarsydd din versionshanterare är. Men du kommer att spara väldigt mycket tid och energi om du använder en etablerad som redan finns på marknaden.

Missförstå mig rätt: Jag tycker du gjort ett kanonjobb. Vill bara att du är medveten om effektivisering av arbetsmetoden/workflow kan påverka ett projekt avsevärt

Jag uppskattar all feedback
Jag förstår precis vad du menar, och kanske kommer jag till ett Scenario där jag kommer bli tvungen att förändra arbetssättet, och då får jag forska lite mer i de redan etablerade lösningarna och se om jag kanske kan implementera dessa på något sätt i Unity istället.

Det viktiga för mig är att det är lätt för de övriga skaparna att använda.

Nu blir dina exempel ovan med Göteborg / Stockholm lite orelevanta för just detta spelet, men det var ett bra exempel. Jag håller på att göra om min TileEngine till att stödja fler än 1 karta. Detta kommer jag snart skriva ett större inlägg för här då det snart är färdigutvecklat. Detta ger användarna möjlighet att skapa egna instanser av kartor. Då skulle de i teorin kunna göra en ny karta, döpa den till Stockholm och arbeta på den oberoende av övriga kartor. Men servern hanterar och sparar alla kartor, så det behövs ingen sync till övriga utvecklare, för om de vill in och kolla eller hjälpa till med Stockholm så laddar dom bara kartan själva och börjar rita.

Skickades från m.sweclockers.com

Permalänk
Medlem

Mitt absoluta drömspel hade varit en blandning av det bästa från Tibia v.7 - 7.6~~ nästintill exakt kopia spelmässigt men i 3d och vidareutvecklat i samma stil som inte tar bort det man älskade med spelet under den tidsperioden Tex liknande som Medivia(Dom kör 2d/ot dock) försöker göra om du känner till det

Skickades från m.sweclockers.com

Permalänk
Medlem

MapManager Remake

Tjena,

Har senaste veckan jobbat på en Remake på min MapManager och TileEngine.
Detta för att jag länge velat implementera stöd för flera kartor, för t.ex Instanser (Dungeons) och Arenor för PvP.

Efter mycket omskriven kod, och en jäkla massa testande, så är den nu i ett någorlunda stabilt stadie
Man kan nu hoppa mellan kartor. Om man är en Editor så kan man hoppa mellan kartor i GameEditorn, samt även skapa nya kartor.

Det blir såklart lite att ladda om när man ändrar karta. Alla nuvarande Tiles och Entities måste tas bort, och information om en ny karta ska hämtas från Servern.
Därför har jag också lite snabbt gjort en LoadingScreen som visas när det är mycket som ska laddas. Egentligen är det bara en svart skärm, med en liten text som dyker upp med Namnet på kartan, samt Datum om den inte hinner ladda klart innan det dyker upp

Tanken är att man ska kunna lägga till mer text i Loading Screen om man vill, så när man skickar spelaren till en ny karta, så kan man ju skriva ut en liten Historia där, och lägga till en Delay så att spelaren hinner läsa texten.

Också lagt till en liten Minimap

Kommer med mer uppdateringar snart

Permalänk
Medlem

Väldigt intressant läsning!! Kommer det något test inom snar framtid eller vad är planen?

Visa signatur

CPU: Ryzen 5 3600 GPU: Asus Strix 1080 8GB Moderkort: MSI B450 Gaming Plus Max RAM: 32GB Corsair Vengeance 3600MHz LP Chassi: Phanteks Eclipse P400 Svart Fönster Kylare: be quiet! Pure Rock 2 HDD: 1TB Samsung 7200RPM SSD: Samsung Evo Basic 840 120GB, Samsung 850PRO 256GB x2

Permalänk
Medlem

@wzaa: Kul att höra

Vi har planerat ett uppstartsmöte nu på Lördag. Där samlas vi 5 personer som kommer arbeta med spelet, och planerar om framtiden. Just nu är det jag som programmerar, och en annan kompis som arbetar på kartan.
Vi är efter helgen 3 personer till, som kommer arbeta med Storyn, Kartan och allt därtill.

Vi kommer planera in en deadline för en test. Testen kommer troligtvis vara igång under en helg, där man får hoppa in och spela.
Förhoppningsvis kommer mina kollegor rätt snabbt kunna göra en bra story med lite Quests som ni kan spela er igenom.
Vi vill bli färdiga med första området innan testen.

Jag återkommer när vi vet mer efter helgen

Permalänk
Medlem
Skrivet av BlasteRs:

@wzaa: Kul att höra

Vi har planerat ett uppstartsmöte nu på Lördag. Där samlas vi 5 personer som kommer arbeta med spelet, och planerar om framtiden. Just nu är det jag som programmerar, och en annan kompis som arbetar på kartan.
Vi är efter helgen 3 personer till, som kommer arbeta med Storyn, Kartan och allt därtill.

Vi kommer planera in en deadline för en test. Testen kommer troligtvis vara igång under en helg, där man får hoppa in och spela.
Förhoppningsvis kommer mina kollegor rätt snabbt kunna göra en bra story med lite Quests som ni kan spela er igenom.
Vi vill bli färdiga med första området innan testen.

Jag återkommer när vi vet mer efter helgen

Låter ju super! Längtar och önskar er lycka till i projektet!

Visa signatur

CPU: Ryzen 5 3600 GPU: Asus Strix 1080 8GB Moderkort: MSI B450 Gaming Plus Max RAM: 32GB Corsair Vengeance 3600MHz LP Chassi: Phanteks Eclipse P400 Svart Fönster Kylare: be quiet! Pure Rock 2 HDD: 1TB Samsung 7200RPM SSD: Samsung Evo Basic 840 120GB, Samsung 850PRO 256GB x2

Permalänk
Medlem

Uppdaterat Väggsystem

Snabb liten uppdatering.

Arbetade lite på Väggsystemet, som tidigare bara hade stöd för 1 material.
Man kan nu välja vilket material man vill använda på väggen, samt på dörren.
Detta gör att man kan skapa lite mer variation på byggnader.

Wall System 2.0

Editor Update

Permalänk
Medlem

Kartuppdatering

Hej !

Våran World Designer har fortsatt sitt jobb med kartan, ville bara slänga upp lite bilder på framstegen.