wtorek, 25 września 2012

FreeCAD: nowe funkcje w warsztacie Part Design

Najnowsza wersja programu FreeCAD wprowadza szereg nowych funkcji w warsztacie Part Design. Ma on dostarczać wysokopoziomowe, wykorzystujące cechy, narzędzia do modelowania brył.

Zaktualizowany  pasek narzędzi Part Design, zaczynając od lewej strony (w nawiasie nazwy używane przez program):
  • Utwórz szkic (Sketch)
  • Zakończ tworzenie szkicu
  • Występ (Pad)
  • Kieszeń (Pocket)
  • Obrót (Revolution)
  • Rowek (Groove)
  • Zaokrąglenie (Fillet)
  • Faza (Chamfer)
  • Lustro (Mirror)
  • Powielenie liniowe (Linear pattern)
  • Powielenie biegunowe (Polar pattern)
  • Multitransformacja (Multitransform) - może być kombinacją luster i powieleń

Nowe funkcje - przykład podstawowego użycia

Utwórz prostokąt (szkicując w Part Design) na płaszczyźnie XY. Powinien on być symetryczny do osi X i Y. Najprościej można zrobić to zaznaczając dwa narożniki i oś, a następnie wybierając więz symetrii.

 
Utwórz występ (pad) szkicu. Zauważ obecność nowych opcji: type (Dimension, To last, To first, Up to face, Two dimensions), symmetrical (tak/nie),  reversed (tak/nie). Uwaga: na dzień dzisiejszy część z nich może nie działać jeszcze prawidłowo (trwa implementacja).



Zaznacz boczną powierzchnię występu i naszkicuj prostokąt. Będzie on wykorzystany do utworzenia cechy "rowek" (groove). Rowek jest podobny do kieszeni (pocket), ale materiał usuwany jest tu nie w linii prostej a  wokół osi obrotu.


Zaznacz szkic i kliknij Groove a selected sketch. Ustaw kąt i stronę w karcie Tasks. Notka: szkice dla niemal wszystkich cech (poza występami) potrzebują powierzchni wpierającej. Powinna zostać ona wybrana przed rozpoczęciem szkicowania. W przeciwnym razie użyj Map sketch to face z menu Part Design.


W następnych krokach zostanie utworzona cecha typu lustro. Wybierz górną powierzchnie i naszkicuj okrąg.


Utwórz kieszeń (pocket) wykorzystując okrąg. Ustaw typ na Przez wszystko (Through all).


Wybierz kieszeń i kliknij Create a mirrored feature. Ustaw płaszczyznę XZ. Notka: lustro wielu otworów typu "Przez wszystko" może nie być możliwe w obecnej wersji programu. W takim przypadku głębokość otworu musi być ograniczona wymiarem (type: Dimension).
 

Powielenie liniowe (Linear pattern) jest kolejnym użytecznym narzędziem. Utwórz występ (pad) na bocznej ścianie, równoległej do płaszczyzny XZ.


Zaznacz występ i użyj Create a linear pattern feature. Ustaw kierunek (direction) na X, określ długość powielenia (powinna być mniejsza niż długość całej bryły) i liczbę elementów.


Najbardziej zaawansowanym narzędziem jest multitransformacja (multitransform feature). Możesz w niej łączyć liniowe i biegunowe powielenia oraz lustra.
Wybierz górną ścianę bryły.


Narysuj okrąg w pobliżu punktu (0,0). Zostanie on wykorzystany do powielenia liniowego. To powielenie będzie bazą dla powielenia biegunowego, a ono stanie się bazą dla lustra.


Utwórz występ (pad) z okręgu.


Użyj Create a multitransform feature. Kliknij prawym przyciskiem myszy w polu tekstowym Transformations  i następnie wybierz Add linear pattern.


Ustaw liczbę elementów (occurrences) na 2 i kierunek na X.


Teraz możesz dodać, w podobny sposób, powielenie biegunowe używając Add polar pattern. Kierunek to Z a liczba to np. 5.



Jeśli chcę zrobić lustro ostatniej cechy przez płaszczyznę XY to główna bryła powinna być symetryczna w stosunku do XY. W tym celu zedytujmy pierwszy występ (pad). Typ (Type) powinien zostać ustawiony na Symmetric to plane.



Teraz można dokończyć multitransformację. Użyj prawego przycisku by dodać lustro wybierając Add mirrored transformation. Ustaw płaszczyznę lustra na XY.


Efekt końcowy powinien przypominać bryłę widoczną poniżej:



Pobierz plik.

Pobierz surowe wideo.


FreeCAD w wersji:
Version: 0.13.1486 (Git)
Branch: master
Hash: aaaa7eb30313e25614b7f1b95b544788d8fa99fc



Lustro w warsztacie Part kontra lustro w warsztacie Part Design


Niektóre narzędzia (Mirror, Chamfer, Fillet) zdają się być zdublowane w warsztatach Part i Part Design. Pomimo zbieżności nazw, działają one w nieco inny sposób. Warsztat Part przeznaczony jest do niskopoziomowych operacji na bryłach a Part Design do wysokopoziomowych na cechach. Nie brzmi to klarownie, ale spróbujmy porównać to na przykładzie narzędzia lustra (Mirror).

Lustro w warsztacie Part

Utwórz nowy szkic (sketch) na płaszczyźnie XY i narysuj kwadrat lub prostokąt. Powinien być on symetryczny do osi. Następnie utwórz występ (pad). 


Utwórz kieszeń (pocket) na bocznej ścianie bryły (jak na zrzucie poniżej).


Otwórz warsztat Part i użyj narzędzia lustra (Mirroring a selected shape) wybierając dodatkowo płaszczyznę (YZ lub XZ) w karcie Tasks.


Potwierdź operację, powinieneś zobaczyć drugą bryłę (odbicie lustrzane) możesz ukryć bryłę Pocket lub Pocket (Mirror #1) używając [Spacja]. 

Lustro w warsztacie Part Design

Usuń lub ukryj Pocket (Mirror #1) i wróc do warsztatu Part Design. Wybierz Pocket i użyj narzędzia lustra (Create a mirrored feature). Płaszczyzna powinna być określona na YZ (lub XZ). Jak widać lustro w Part Design działa inaczej. Zamiast całej bryły odbiciu podlega tylko cecha typu kieszeń (pocket).


Właśnie w tym kierunku będzie dążył program - wysokopoziomowych operacji na cechach. Funkcje dostępne w tej chwili są tylko wierzchołkiem góry lodowej...

Pierwsza książeczka o programie FreeCAD

FreeCAD: Solid Modeling with the Power of Python

Napiszę więcej, gdy tylko dorwę egzemplarz ;-)

poniedziałek, 17 września 2012

Black Mesa - grałem (wrażenia)

Po wielu latach oczekiwania, w piątek o 16:47, premierę miała Black Mesa. Jest ona fanowskim remakiem Half-Life z roku 1998. Instrukcję instalacji tej darmowej gry można znaleźć tutaj.

Oczekiwania

Od gry wymagano porządnego przeniesienia H-L w bardziej aktualną oprawę. Nie schrzanić remake gry, która uzyskała ponad 50 tytułów gry roku i jest najwyżej ocenianym tytułem na PC (obok sequela Half-Life 2 i Bioshocka) to poważne jest wyzwanie.

Obawy

Każdy kto widział jak krzywdzono inne kultowe gry w ich "nowoczesnych" wersjach musiał mieć obawy. Obawy, że powstanie kolejny tytuł dla amerykańskich 13-latków.

Uff...

Skończyłem Black Mesę i mogę odetchnąć. Jest dobrze, bardzo dobrze!

Old school

BM przenosi nas do złotej ery shooterów, przełomu XX i XXI wieku, gdy nikt nie dążył do pseudorealizmu. Nie ma ograniczeń w noszeniu broni, w sprincie czy autoregeneracji zdrowia. Akcja jest szybka i intensywna a poziom trudności taki jak w czasach gdy sami twórcy (a nie amerykańscy 13-latkowie) byli betatesterami. Wysoki. Żołnierze HECU dalej potwornie dają w kość...

Dbałość o szczegóły

Wszystko miało być dopracowane, tak jakby zrobiło to Valve. I jest. Przykład: taka mała rzecz jak wspornik z przyciskami na platformie (windzie). Są przyciski, to jest i przewód, są łączone blachy to jest i spoina, są śruby to jest i gwint. Wszystko jak w rzeczywistości.
Wiele rzeczy, które na screenach wyglądały na tekstury, okazywało się obiektami 3D (rurki w ścianach, logo DNA w Questionable Ethics).
Wprowadzono nawet taki niuans jak obraz w lunecie kuszy, gdy nie jest ona przyłożona do oka. Każda broń ma animacje bezczynności, przebieg pierwszego założenia Hivehand zapisze się na pewno na stałe w historii gier komputerowych:)
Inteligencja żołnierzy dalej zachwyca, a oni sami reagują różnie zależnie od miejsca postrzelenia. W BM nawet beret spada z głowy zabitego żołnierza.

Grafika i fizyka

Na moje oko to poziom Portala 2 lub nawet wyższy (o tym dalej). Liście i łodygi kwiatów doniczkowych poruszają się podczas przenoszenia, podobnie jak krawaty podczas ruchu naukowców.
Jedyna negatywna obserwacja to brak spełnienia zasady zachowania pędu w wagoniku (Freeman nie powinien przesuwać się podskakując). Występuje ona za to na przenośnikach taśmowych urozmaicając rozgrywkę.

Ponad Valve

W BM można znaleźć rzeczy opracowane całkiem na nowo. Jednym z ciekawszych jest system gib-ów (z których zrezygnowano w H-L 2). Wesołe hasanie z ręką zabraną zabitemu żołnierzowi nie jest problemem. Oczywiście nawet ta ręka zachowuje się zgodnie z zasadami fizyki.
Dodano też parę efektów graficznych niewidzianych w innych H-L: "śnieżenie" w obszarach radioaktywnych czy brudzenie się broni od krwi i wydzielin.
Przebieg akcji nieco zmieniono, poziomy rozbudowano, bardziej nużące fragmenty wycięto. Pojawiły się zagadki oparte na fizyce. Miłym dodatkiem jest też wprowadzenie niezłego AI dla strażników. Tym razem naprawdę są przydatni.

Udźwiękowienie

Jest świetne. Nie dość, że bardzo dobrze dobrano muzykę do rozwoju akcji, to jeszcze grany utwór potrafi się zatrzymać na określonym fragmencie, czekając na ruch gracza. Nie spotkałem się z czymś takim w żadnym innym H-L.
Żołnierze brzmią niestety nieco mniej przerażająco:) Cóż, dubbing to bardzo trudna kwestia dla zespołu amatorów.

Klimat i humor

Klimat został zachowany. Jest ciężki, duszny. Taki jak w H-L i diametralnie różny od złagodzonego H-L 2.
W grze jest sporo zabawnych dialogów, zachować NPC i masa easter eggów. Nie będę tu zdradzał szczegółów, ale BM idzie w tym względzie znacznie dalej niż pierwowzór.

Sterowanie

Największą bolączką oryginalnego H-L, w moim odczuciu, było sterowanie. Gordon "pływał" zamiast pewnie biegać. W Black Mesie jego zachowanie jest wzorowe. Sterowanie pewne i precyzyjne. Nie ma też "gumowatości" jak w wielu współczesnych strzelankach, gdzie odczuwalne jest opóźnienie pomiędzy akcją gracza a reakcją sterowanej postaci.
Mogą odrobinę irytować elementy platformowe zaczerpnięte z oryginału i skok z przykucnięciem. Chodzi o to, że wskoczenie na coś wyższego wymaga skoku [Spacja] i później schowania nóg [Ctrl]. W ekstremalnym przypadku może być użyta sekwencja: W(w przód)-Shift(sprint)-Spacja(skok)-Ctrl(przykucnięcie). To ukłon w stronę fanów serii i zmora dla mniej wprawionych graczy:)

Premiera

Jak wspomniałem premiera miała się odbyć w piątek (14 września) o 16:47 na stronie blackmesasource.com. Nastała 16:47 (8:47 w Nowym Meksyku), licznik zakończył odliczanie i...  graczy powitało piękne 404. Przeciążenie trwało dobre pół godziny, a torrent z BM miał kilka godzin później jakieś (w sumie) 50 000 rozsiewających i pijawek. To rzadko spotykana liczba.

Czas gry

Pominięto Xen, a twórcy określają czas gry na 8-10 godzin. W moim odczuciu to bardzo ostrożna prognoza, trudna do osiągnięcia w pierwszym przejściu przez typowego gracza.

To już historia

Obawiam się, że BM zamyka historię staroszkolnych FPS-ów. W czasach gdy Valve tworzy coś nazwane Dota2 (kolejny projekt z zewnątrz po L4D, CS, TF 2 Portalu, Alien Swarm itd.), id wydaje udziwnione Rage a Epic odcina kupony[1], grupa pasjonatów wydaje TAKĄ grę. Wymagającą, intensywną, dopracowaną.
 
[1] Gry tych zespołów: Half-Life, Quake, Unreal wyznaczały standardy w strzelankach. Premiera każdej z nich była przełomem w rozwoju gatunku. 

Za wcześnie na ocenę

To tyle ile mogłem napisać na gorąco. Jest zbyt wcześnie by porównywać BM z innymi tytułami, choć w tym momencie "Surface Tension" z BM aspiruje do miana najlepszego poziomu FPS w jaki kiedykolwiek grałem...

[Update] Przyjęcie Black Mesy przez resztę świata

Przejrzałem Internet pod kątem opinii o BM i jestem nieco zszokowany. Opinie dzielą się na pozytywne i bardzo pozytywne, przykłady (oceny na 23.09.2012):
  • Gry-Online.pl - pozytywna recenzja, średnia ocen czytelników 9,8/10,
  • Metacritic - oceny krytyków >80%, średnia ocen graczy 9,7/10. Dziewięć osób pokusiło się o napisanie opinii, wszystkie z nich przyznały ocenę 10/10 (sic!),
  • PurePC - bardzo pozytywna recenzja, maksymalna ocena, kilka odznaczeń (w tym za opłacalność:) Ta recenzja jest szczególnie ważna, bo piszący ją wygląda na weterana - kto pamięta jakiej gry bohaterem był Caleb?

sobota, 1 września 2012

Opublikowano nagranie wystąpienia Valve na SIGGRAPH 2012

Grupa Khronos wrzuciła na swój kanał Youtube nagranie z OpenGL Birds of Feather. W 32 minucie rozpoczyna się wystąpienie Richa Geldreicha z Valve zatytyłowane "Left 4 Dead 2 Linux: From 6 to 300 FPS in OpenGL". Niestety kamera skierowana jest tylko na mównicę i nie można zobaczyć L4D2 w akcji.

Slajdy można pobrać stąd.

Nokia udostępnia wtyczkę WebCL dla Firefoksa 15

Na stronie centrum rozwojowego Nokii udostępniono wtyczkę WebCL dla przeglądarki Firefox 15. Można ją pobrać stąd. Wtyczka ma charakter eksperymentalny (specyfikacja WebCL jest w trakcje rozwoju).

Wydajność (znacznie niższa niż w aplikacjach "natywnych") jest jednym z głównych problemów aplikacji (stron) pisanych w JavaScript/HTML5. Problem ten może rozwiązać WebCL umożliwiając przede wszystkim wysoką wydajność obliczeń równoległych. Może wykorzystywać zarówno CPU jak i GPU.

Oprócz wtyczki WebCL potrzebne jest jeszcze SDK zapewniające wsparcie dla OpenCL.
Proces uruchomienia WebCL dla AMD (dla Intela lub Nvidii będą analogiczne):
  1. Instalujemy sterowniki Catalyst dla naszego GPU  http://support.amd.com/us/gpudownload/Pages/index.aspx
  2. Pobieramy i rozpakowujemy AMD-APP-SDK http://developer.amd.com/sdks/AMDAPPSDK/downloads/Pages/default.aspx
  3. W katalogu z SDK uruchamiamy skrypt instalacyjny sudo sh ./Install-AMD-APP.sh
  4. SDK zostaje zainstalowane w /opt/, można tam znaleźć też kilka dem i sprawdzić działanie OpenCL,
  5. Instalujemy wtyczkę WebCL http://webcl.nokiaresearch.com/extensions/firefox/multiplatform/latest/webcl-1.0.xpi
  6. Testujemy działanie na którymś z dem http://webcl.nokiaresearch.com/demos.html Niestety, na dzień dzisiejszy, nie wszystkie  działają.

W demie Random Numbers dla Athlona II 240 i Radeona HD 6670 uzyskałem (wybrane wyniki):
  • JavaScript 915+6 ms
  • WebCL na CPU 33+5ms
  • WebCL na GPU 17+7ms (duży rozrzut pierwszej wartości, czyli wykonania kernela: 8-33 ms)