Kategoriarkiv: Ramblings

Unity - 3D i browsere

Unity’s 3D engine blev sidste år gratis og da 3D grafik er sjovt, og 3D grafik gjort nemt er endnu sjovere, skulle den naturligvis prøves.

Og Unity har gjort det rigtig nemt at lave 3D. En af de største styrker ved Unity er at brugeren kan lave projektet en gang og så udgive det til flere forskellige platforme, så som OS X, windows eller deres egen webplayer. Med Unity Pro kan man også udgive til Wii og iPhone/iPad.

Derudover er selve editoren nem at bruge, hvor objektor i verdenen, så som geometri og lyskilder, kan skabes som GameObjets. Fysik og scriptet adfærd er hellere ikke længere end et klik væk.

Et sjovt projekt der kombinere fysik, simpel geometri og en introduktion til scripting er xkcd’s Hell. Desuden er point systemet utroligt nemt.

Først skal blokkene laves. Under menuen GameObject -> CreateOther findes Cube, som skaber en kube i verdenen. Disse kuber kan så skaleres og placeres til at skabe alle de kendte tetris blokke.

Blocks

For at kunne arbejde med blokkene som et stykke geometry skabes der et nyt tomt GameObject og geometrien for hver blok placeres under hver deres tomme GameObject. Tyngdekraft og kollision tilføjes som beskrevet blot ved at tilføje en rigidbody komponent til GameObjectet.

Til sidst skal geometrien gemmes som en struktur hvorfra et nyt objekt kan instantieres hver gang en ny blok skal dale ned. Til dette bruges Unity’s Prefabs, prefabrikeret geometry. At obrette en ny blok kan nu gøres ved simpel drag ‘n drop fra prefab’en og over i scenen, eller ved at instantiere prefab’en i et script.

Selve banens geometri er ligeledes lavet ud fra 7 kuber. Hele geometrien samles så til et fungerende spil gennem 3 scripts.

Det første script TetrisGod.js, hvis navn er inspireret herfra. Formålet
med dette script er at skabe en tilfældig og muligvis spejlvendt blok.

Det andet script er StartGame.js. Dette scripts eneste formål er at bede den almægtige tetris gud om at starte spillet ved at skabe den første blok. Scriptet bliver sammen med TetrisGod.js placeret på kameraet og sat til at starte når kameraet “vågner”.

Det sidste script hedder MoveBlocks.js og er tilføjet på alle vores blocke. MoveBlocks er ansvarlig for at spilleren kan flytte blokken, at blokkene ikke falder udenfor banen og at en ny blok bliver spawnet når blokken kolliderer med et andet objekt. Desuden fjerner scriptet blokke når de ikke længere kan ses af kameraet.

Resultatet kan ses her. Et lille ekstra touch af smerte og pinsel er tilføjet ved ikke at teste for om der plads til at blokkene kan spawne. Hvis en blok derfor spawner oven i en anden blok resulterer det i at en sværm af blokke spawnes og spilleren må siges at have tabt.

For at finde ud af mere om Unity og hvordan man nemt kommer igang med at lave 3D projekter, kan man klikke ind på Unity3D.com’s resource sektion eller se en af de mange tutorials, der er tilgængelige på youtube.

Brug ikke hverken Gmail eller Hotmail

De sidste 14 dage har de to haft mindst een defekt mailserver i deres DNS rotation, hvilket effektivt fører til at det er umuligt at udtale sig om hvorvidt en modtager på domænerne kan/vil modtage mails man sender til dem.

Kombineret med det faktum, at det kan konstateres at have været tilfældet temmelig mange gange over de seneste par år, samt at det (selvsagt) er 100% umuligt at komme igennem med en fejlmelding til de to giganter, kan jeg vanskeligt konkludere andet end at det er en usædvanlig dårlig idé at benytte deres services, med mindre man er indstillet på at acceptere at mails periodisk og uden meldinger eller advarsler vil gå tabt.

Dog vil gælde, at afsenderen af mails der ikke afleveres må forventes at modtage en tilbagemelding om, at den/de pågældende mails ikke kunne afleveres – men hvis ikke afsender derefter finder en anden måde at kontakte modtager på, og orienterer om problemet, vil man aldrig blive opmærksom på at der er noget galt.

Supplerende ovenstående, for at give det lidt mere tekniske indblik, er mailserver-administrationen for systemer så store som de to, naturligvis ikke en enkel og simpel sag. Jævnfør det her indsatte øjebliksbillede af et opslag med nslookup, fordeler Hotmail sine mailservere over 5 indgange, hver med cirka 10 IP numre. Hvorvidt det i praksis bliver til 50 servere er vanskeligt at udtale sig om udefra – men det er indlysende at kompleksiteten af en sådan opsætning ikke er ubetydelig.

Opdatering 2014-01-27, af Tobias Hinnerup

Så har uheldet være ude igen – endnu engang var det hundredevis af mennesker og virksomheder, der havde valg at stole på Eniro, der brændte sig: Eniro: Utilgivelig fejl.

Opdatering 2013-04-05, af Tobias Hinnerup

Eniro lavede en smutter –hundredevis af mennesker mister alle deres emails uigenkaldeligt.

Opdatering 2010-06-25, af Michael Schøler

Vi er ikke de eneste der har opdaget problemer med Gmail, og man kan i dag på Computerworld læse en artikel om lange modtage- og leveringstider, ligesom at der i April i Secure Computing magazine blev udgivet en artikel om at der var opstået panik blandt alle Hotmail’s brugere da de ved forsøg på login fik af vide at de ikke havde en konto.

Opdatering 2010-09-05, af Michael Schøler

Til mængden af overvejelser man bør drøne igennem inden valget faldet på gmail, kan der tilføjes at vi har erfaret at gmail konti tilsyneladende i øjeblikket systematisk overtages fjendtligt og herefter eksempelvis anvendes til udsendelse af spam i email kontohaverens navn. Endvidere opsættes en blog i dit navn, hvorfra alverdens interessante blog posteringer om dig sikkert kan være at finde. Slutteligt kan der indsættes gadgets på din iGoogle side når din konto er overtaget, ligesom dine mails lagret i din indbakke med videre vil kunne læses af den uvenlige sjæl du er ramlet ind i.

Opdatering 2010-10-28, af Tobias Hinnerup

Som endnu et bræt til kisten, er der desværre også eksempler på at Google ikke kan håndtere den del af deres services som de tager penge for – Computerword har for nyligt fortalt om en uheldig virksomhed, der valgte at placere forretningskritiske services hos Google, med mildest talt uheldige konsekvenser.

Y2k+10 bug

Knapt er vi kommet os over panikken omkring år 2000-problemet, også kendt som Y2k, der nærmest truede med verdens undergang i en sådan skala at det gør selv 2012 filmen til skamme, inden at vi rammes af en ny katastrofe; 2010 årsskiftet!

Som man kan læse i denne artikel, er Dankort systemet i ca. 1.600 P-automater i København, umiddelbart lige efter kl. 23.59 d. 31/12-2009, ophørt med at fungere til stor undren for folkene bag, og stor irritation for alle øvrige.

Det er en påstand herfra, at P-automat betalingssystemet der anvendes utvivlsomt er udviklet efter år 2000-problemet blev konstateret og løst.

Dels har det jo kørt upåklageligt da årstallet viste “00”, “01”, “02”, “03”, …, og “09”, og der ville nok først igen opstå problemer når der trilles over de “99” til “00” (lige som sidst). Desværre vippede det nye årstal ikke rundt til et “10” som man vist havde regnet med, men istedet til “0A”, der er det hexadecimale talsystems repræsentation af decimaltallet 10. Det hexadecimale talsystem er et som computere har det ret godt med – en byte omfatter 8 bits, der dækker decimaltallene 0 til 255, eller hexadecimalt 00-FF. Og så gik maskineriet i selvsving, “0A” og “10” kunne ikke sammenholdes mellem den grænseflade der er mellem betalingssystemet og yderligere systemer.

Den anden vinkel på hvorfor P-automat betalingssystem må og skal være etableret efter Y2k er at det simpelthen ville være opdaget i 1999 også; decimaltallet 99 repræsenteres som 63 hexadecimalt. Mon ikke der havde været rod i et regnskab eller to, med bogføring af indkomster fra 1963 i år 1999 uden nogen form for renteindtægt eller forudgående poster med langsigtede krediteringer?

Hvis vi tænker lidt over hvorfor man efter en så voldsom omgang skruen på kode der vedrører datoer, alligevel er kommet frem til at holde årstallet i en byte og repræsentere denne talværdi i systemet hexadecimalt både internt og eksternt, ja så er min personlige konklusion helt klar. Tanken må have været at alle da bare skal se i en fart at få lært det hexadecimale talsystem. Det er jo over 2,5 gange mere fremtidssikret med hensyn til hvornår en ny Y2K fejl opstår, vi har jo med talrummet fra 0 til 255 at gøre og ikke kun 0 til 99. Desuden vil det fjerne enhver form for enkodnings- og/eller formatteringsproblematik der måtte være en gang for alle, ved ganske enkelt blot at anvende et fælles og maskinelt nemt behandlingsbart talsystem.

Snedigt! 😉

Der er flere der er ramt af andre nye årstals problemer, blandt andet kan nævnes Windows Mobile. Her er problemet at SMS beskeder ankommer i 2010 som om de er sendt i 2016. Det skyldes samme problemstilling bare vendt på hovedet: “10” kommer ind, og behandles hexadecimalt, hvilket giver decimalværdien 16.

Alle SAP systemer er tilsyneladende også ramt af 2010 problemet, det kan man læse mere om her.

Så husk det nu: Enkodning, formattering og valg af datatyper er vigtigt.