Ogmo Editor, av Matt Thorson, er en allsidig, gratis, åpen kildekode-editor som kjører på Windows. Det eksporterer nivådata i XML-format, noe som betyr at det kan brukes med stort sett noen gamedev-plattformer. I denne artikkelen vil jeg vise deg hvorfor det er min favorittnivåredigerer, dekke dens funksjoner, og forklare hvordan du kommer i gang med den.
Ogmo Editor er en gratis, åpen kildekode, flisebasert nivåredigerer for Windows, og er min personlige favoritt. Det er ekstremt kraftig, det er enkelt å bruke, og det fortsetter å motta sporadiske oppdateringer. Ogmo er en helt fantastisk redaktør, og er sikker på å spare deg for utallige arbeidstimer.
Det første du vil gjøre når du bruker Ogmo Editor, er å lage et nytt prosjekt. For å gjøre dette, gå ganske enkelt til Prosjekt> Nytt prosjekt, som vist nedenfor:
Når du har valgt katalogen du vil lagre prosjektfilene dine til (som Ogmo Editor Project, eller .oep), vil du bli møtt med Innstillinger-fanen på prosjektkonfigurasjonsskjermbildet.
Det er mye informasjon her, og litt forberedelser som skal gjøres før du kan begynne, men ikke bekymre deg, jeg vil bryte det hele ned når vi fortsetter.
Navngi prosjektet
Først og fremst, fortsett og gi prosjektet ditt et navn, der det for øyeblikket står "Nytt prosjekt". For denne opplæringen skyldes jeg navnet mitt prosjekt "Eksempelprosjekt".
Det er to grunner navnet på prosjektet vårt betyr: først blir det navnet på .oep-filen som er lagret på datamaskinen din; For det andre holder Ogmo Editor oversikt over nyere prosjekter, og lar oss raskt finne prosjekter etter navn fra startsiden.
Konfigurere Editor Visuals
Deretter ser du "Bakgrunnsfarge" og "Gridfarge". Ogmo Editor gir oss mulighet til å endre begge disse verdiene, og siden du sannsynligvis vil lage og redigere mange nivåer i Ogmo fra nå av, er det flott at du kan endre visuals til det som fungerer best for deg. Jeg går personlig med en veldig mørkegrønn bakgrunn og en lyseblå rutenettfarge, men du kan bruke alt du vil.
Du kan enten skrive inn en hex-verdi manuelt, eller klikke på fargen som vises til høyre for å hente en fargeplukker, og velg deretter en farge derfra. Pass på å merke "Definer egendefinerte farger" -knappen nær bunnen, noe som åpner et mer komplett fargevalgverktøy.
Angle Export
Under bakgrunns- og gridfargen ser du rullegardinmenyen "Angle Export". Dette er ganske selvforklarende, og endrer bare hvordan Ogmo eksporterer vinkelrelaterte data. Sett det til enten grader eller radianer, alt etter hvilket prosjektet ditt krever.
Nivåstørrelser
Viktigst, du har "Level Size" konfigurasjon. Dette er hvor du angir standard-, minimums- og maksimumsnivåstørrelsene. Generelt sett vil du angi Standard til den vanligste nivåstørrelsen, Minimum til din laveste aksepterte nivåstørrelse (ofte dimensjonene til spillet ditt, for enkeltskjermnivåer) og Maksimum til den største du vil akseptere, eller et latterlig stort nummer for å unngå å ha maksimalt helt.
Kamerainnstillinger
Kamerainnstillingene er en valgfri, mer avansert funksjon, men fortsatt veldig pen, så jeg vil dekke det raskt. Hvis spillet ditt bruker et kamera av sorter, kan du etterligne oppførselen til det innen Ogmo. Dette vil tillate deg å se hvordan visuelle lagringseffekter vil se ut i spillet ditt, for eksempel Parallax, i redigeringsprogrammet.
For å bruke kamerainnstillingen, bare velg "Aktivert" -boksen, og angi dimensjonene til kameraet ditt. Hvis du vil lage kameraet ditt i spill basert på nivået XML, kan du sjekke "Eksporter kameraposisjon" -boksen, og få de dataene til å fungere med også. For å flytte kameraet rundt mens du er i redigereren, hold bare "C" og klikk og dra for å angi kameraposisjonen.
Nivåverdier
En annen valgfri funksjon, som er veldig nyttig, er nivåverdier. Tenk på disse som egenskaper på nivåene dine som kan settes rett innenfor editoren.
Et praktisk eksempel på dette er vanskelighetsgrad. Du kan opprette en "vanskelighet" -egenskap, som en heltalltype, og angi standard, min og maks. Du kan da tilordne hvert nivå du lager en vanskelighetsgrad, som deretter kan brukes i spill for å sortere nivåer med vanskeligheter, vise vanskeligheten til et nivå, og så videre. Mulighetene er nesten uendelige her, og med litt kreativitet er dette en veldig kraftig funksjon.
Nå som vi har en god forståelse av Innstillinger-fanen, går jeg videre til den neste kategorien; gå videre og klikk på fanen Lag nå. Lag er en helt viktig del av Ogmo Editor, og de håndteres vakkert. Ogmo bruker tre typer lag: rutenett, fliser og enheter.
Nett
Rutenettet er det mest grunnleggende laget i Ogmo. Som standard inneholder nye prosjekter bare ett lag, og det laget er av typen Grid. Rutenett lag er enkle: enten en flis er fylt, eller det er det ikke. På grunn av denne enkle naturen, er den vanligste bruken for et Grid-lag å behandle fylte fliser som kollisjonsfliser i spillet ditt, men bruken er åpenbart ikke begrenset til dette.
fliser
Flislagene er litt mer avanserte, men fortsatt ganske enkle. Generelt sett brukes disse kun for visuelle formål (unntak eksisterer, og bruker mer avansert XML-parsing, men vi vil ikke gå over det her).
Mine prosjekter inneholder alltid minst to eller tre fliser lag: en for bakgrunnen, en for forgrunnen, og, avhengig av prosjektets natur, en for midtbanen. Det er rimelig å ha mange fliser lag, og det gir deg mer nøyaktighet og kraft når det gjelder hvor godt redigeringsbildet viser ditt spillbilde. Dette skyldes at mellomrom i fliser lag, i likhet med grid lag, enten er fylt eller ikke, noe som betyr at du ikke kan plassere flere fliser i samme fliser plass, og må i stedet bruke flere fliser lag.
Et eksempel på dette er vist nedenfor, der jeg har en blomst foran et tre. Med bare ett bakgrunnsflislag, ville dette ikke være mulig; Men jeg har mer, og mine blomster og tre er på separate lag.
Entities
Enhetslagene er ganske kraftige, men likevel svært enkle å bruke. Enkelt sagt er et Entity-lag der alle spillobjektene dine er lagt ut, for eksempel fiender, gyteposisjoner, sjekkpunkter, fjærer, stiger, pigger, dører osv. hvis det ikke er et visuelt eneste objekt du vil plassere mens du designer nivåer, går det her.
Enheter får sin kraft og originalitet fra deres evne til å inneholde egenskaper. Disse egenskapene kan variere et stort spekter av datatyper (Boolean og Integer er bare to eksempler), og kan tilordnes verdier, for eksempel standard, minimum, maksimum og noen ganger mer.
Et enkelt eksempel på hvordan dette kan være nyttig kan observeres med et fiendtlig gytepunkt. Hvis du ønsket å bestemme hvilken retning en fiende går en gang til, i et nivåredigeringsprogram som ikke støtter egenskaper, må du opprette to objekter for redaktøren - en der fienden beveger seg til venstre, og en annen hvor den beveger seg til høyre. Med Ogmos støtte til egenskaper på enheter, kan du bare gi Enemy-enheten en "retning" -egenskap av typen Integer, og tilordne den til -1 eller 1 i editoren. Dette gjør at du kan ha ett objekt for fienden, men kontroller spesifikk oppførsel for hver fiende du legger inn på ditt nivå. Du kan deretter lese retningsegenskapen fra XML, og håndtere logikken i spillkoden din.
Dette er bare ett eksempel på hvordan egenskaper forenkler editorens opplevelse, men det er mange andre bruksområder.
Du vet nå litt om fliser lag, men uten en viss konfigurasjon vil Ogmo ikke tillate bruk av dem. Klikk på Tilesets-fanen nå, og jeg vil dekke hvordan du får et fliserlag oppe og går.
Som standard er det ingen Tilesets tildelt Ogmo, og du trenger en for å lage et lag av Tiles-typen. For å opprette en, trykk ganske enkelt på Opprett-knappen nederst til venstre; Legg også merke til at du kan fjerne lag og omorganisere rekkefølgen med de andre knappene du finner her.
Når en ny Tileset er opprettet, må du gi navnet et navn, la Ogmo vite størrelsen på hver flis på arket og definere avstanden mellom fliser, hvis det er aktuelt. Hvis du har mer enn en fliser, bare gjenta trinnene ovenfor for hver.
I arbeidsmiljøet kan du se alle fliser som er tilgjengelige mens et fliselag er valgt, og kan bytte mellom sett ved hjelp av en enkel rullegardinmeny. Mens du arbeider med fliser, kan du enten velge en enkelt flis til å jobbe med, eller en gruppe fliser på en gang. Dette lar deg male hele fliser, som kan brukes til å plassere bakgrunner raskt, eller å lagre større objekter som består av flere fliser med et enkelt klikk.
Den endelige kategorien er fanen Entiteter. Dette er hvor du konfigurerer alle enhetene som kan brukes på et Entity Layer. Enheter er litt mer komplekse enn det vi har jobbet med så langt, men de er veldig fleksible og fortsatt enkle å bruke.
På samme måte som du gjorde med lag og fliser, går du videre og trykker på Create for å opprette en ny Entity-type. Som alt annet i Ogmo, gi enheten et navn, og fyll inn sin høyde og bredde. Vær oppmerksom på at mens hovednettet ditt kan være en størrelse, kan enheter og andre objekter i Ogmo være større. Når det er sagt, foreslår jeg å holde alt delbart med en enkelt flis, for å holde ting ryddig.
Som nevnt ovenfor er egenskaper hvor Entiteter og Ogmo Editor selv skinner. Mange redaktører mangler denne funksjonen, men fra mitt perspektiv er det helt avgjørende. Du oppretter bare en ny eiendom, deretter tilordner den et navn og en av følgende typer: Integer, Boolean, Float, String, Enum og Color.
Når du har gitt eiendommen et navn og en type, kan du angi standardverdien, og (hvis aktuelt) dens minimum og maksimal tillatte verdier. Det er også en Vis Slider-boks, som lar deg justere verdiene ved hjelp av en glidebryter, i stedet for å legge inn verdien, når du redigerer objekter i utviklingsområdet.
Navigere i utviklingsområdet er enkelt. For å flytte rundt, hold bare nede mellomromstasten, klikk og dra for å panorere. I tillegg lar rullhjulet zoome inn og ut mot musens plassering. Disse to metodene kombinerer tillater en svært rask og smertefri arbeidsflyt når du arbeider på større nivåer.
En annen flott funksjon av Ogmo, og en av mine favoritter, er evnen til å dra hvert undervindu utenfor programmet. Lag, enheter, flisepalett, valg og verktøy kan alle bli trukket uansett hvor du vil på skjermen din, og passer til ønsket størrelse - en utrolig nyttig funksjon for de som har et multi-monitor-oppsett eller større tilesets.
Legg merke til at denne omformingen er nesten viktig for Tile Palette, da hver flis vil virke altfor liten, med mindre vinduet forstørres.
Ogmo Editor har en rekke verktøy du kan bruke mens du jobber med prosjektet ditt. Enkelte verktøy vises i alle lagtyper (Rutenett, Fliser, Enheter), mens andre er lagtype-spesifikke. Nedenfor er en oversikt over hvert verktøy.
Grid Tools
Fliser verktøy
De fleste verktøyene brukes også i gridlag, bortsett fra:
Verktøy for enheter
Noen av verktøyene brukes også i Grid Layers, bortsett fra:
Noder er en annen avansert funksjon av Ogmo Editor. Tenk på noder som veipunkt som tilhører et bestemt Entity-objekt. Når et foretak er valgt, kan du deretter legge til noder med verktøyet Legg til knutepunkt. Disse noder vil bli lagret i XML under entitetsobjektet, og kan brukes som du vil.
Noder kan brukes til å flytte plattformer, fiendens mønsterbevegelse og fiendens skyteposisjoner. Som alltid er mulighetene uendelige, så vær fantasifull og legg denne utmerkede funksjonen til bruk.
Ogmo Editor er ideell for et fliserbasert spill, enten det er et Zelda-esque-spill i topp eller en sideskrollende plattform. Når det blir sagt, med en liten ut-på-boks tenkning, kan den brukes på mange ikke-konvensjonelle måter, for å gjøre nesten alt i spillene dine.
For eksempel, tenk en enkel vertikal eller horisontal skytter. Gjennom spillet flyr fiender i deg i ferdige mønstre. Disse patterne er vanligvis ganske enkle, og kan opprettes strengt gjennom kode, men hvorfor ikke bruke en visuell rediger for å øke hastigheten på prosessen? Med Ogmo kan du bare legge ut startposisjonen til hver fiende på en Entities-lag, og gi "nivået" en egenskap som enten er vanskelig å rangere for bølgen, eller et navn, slik at spillet ditt kan videre sortere din ferdige bølger.
Hva som kan ta en anstendig del av tid til å gjøre i ren kode, er nå betydelig lettere og morsommere, takket være en litt uklar bruk av en flisbasert redaktør.
Matt Thorson har gjort Ogmo Editor åpen kildekode, noe som betyr at samfunnet er gratis å legge til og endre redaktøren på en måte som de ser hensiktsmessig. Hvis du er interessert i å tilpasse Ogmo, gå videre og sjekk ut kilden, og sørg for å dele bidragene dine med fellesskapet!
Som du kan se, er Ogmo Editor en ekstremt robust og kompleks editor. Det er et fantastisk tillegg til hvilken som helst spillutviklers arsenal av verktøy, og kan spare deg for utallige timer.
Uansett om du leter etter det absolutte grunnleggende i en redaktør, eller noe mer avansert, som for eksempel kamerasystemet eller enhetens egenskaper, har Ogmo dekket deg. Jeg håper du føler deg komfortabel nok til å bruke Ogmo Editor i ditt neste prosjekt. Lykke til med dine fremtidige redigeringsarbeid!