Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Frondeus

Strony: [1] 2 3 4 5 ... 67
1
Projekty rozpoczęte / Odp: King of Console
« dnia: Październik 09, 2017, 16:46:41 »
Myślę że dobrze by było gdybyś udostępnił prototyp i w miarę szybko zaczął zbierać reakcje publiki.
Bez tego ciężko powiedzieć czy Twój pomysł wypali.

Trochę mi przypomina to MUD - mało osób w to gra więc nie licz na dużą publikę. Z drugiej strony społeczności te są zwykle bardzo zżyte pomimo małych rozmiarów.

2
Szkółka / Odp: Kurs c++
« dnia: Lipiec 10, 2017, 11:16:55 »
Z tym że jest to expression a nie statement.
Taka różnica:

Tak zrobić możesz:
int a = condition ? if_true : if_false;

Tak zrobić nie możesz:
int a = if(condition) { if_true } else {if_false };

Zamiast tego musiałbyś zrobić:
int a;
if(condition) {
a = if_true
} else {
a = if_false
}

3
Językoznawstwo / Odp: Rust
« dnia: Lipiec 07, 2017, 12:39:15 »
Polecam poczytać https://doc.rust-lang.org/book/second-edition/ - oficjalna dokumentacja. Całkiem zgrabnie opisana.

Jeśli chodzi o Rust to jego głównym atutem jest na pewno Borrow Checker - czyli jeden z etapów kompilacji gdzie kompilator analizuje czy dana referencja w danym momencie może wskazywać na wartość.
W dużym skrócie w jednym momencie możliwa jest jedna i tylko jedna z dwóch opcji:
* Istnieje tylko jedna i tylko jedna referencja modyfikująca dane (mutable)
* Istnieje wiele referencji na tą samą wartość, lecz są one read-only.

Oprócz tego Rust duży nacisk kładzie na zero cost abstractions - czyli wszelkiego rodzaju twory, które nie dają dodatkowego narzutu w trakcie działania programu. Przykładem mogą być futures - https://github.com/alexcrichton/futures-rs

Rust wspiera również unit testy:
#[test]
fn pop() {
    //Arrange
    let mut stack = VMStack { stack: vec![Value::Nil] };

    //Act
    let result = stack.pop();

    //Assert
    assert_eq!(result, Value::Nil);
}

Algebraiczne typy danych (np. tagged union):
pub enum Value {
    Nil,
    Cons(address),
    I32(i32),

    InternalProgramCounter(usize),
    InternalFramePointer(usize),
    InternalArgc(usize),
}

Pattern Matching:
let foo = Some(1);

match foo {
    Some(i) => println!("Foo has value: {}", i),
    None => println!("Foo has no value")
}

Traity zamiast dziedziczenia:
pub trait Stack {
    fn push(&mut self, value: Value);
    fn pop(&mut self) -> Value;

    fn get(&self, address: usize) -> &Value;
    fn len(&self) -> usize;

    fn pop_many(&mut self, size: usize) {
        for _ in 0..size {
            self.pop();
        }
    }
}

pub struct VMStack {
    stack: Vec<Value>,
}

impl Stack for VMStack {
    fn push(&mut self, value: Value) {
        self.stack.push(value);
    }

    fn pop(&mut self) -> Value {
        self.stack.pop().unwrap()
    }

    fn get(&self, address: usize) -> &Value {
        &self.stack[address]
    }

    fn len(&self) -> usize {
        self.stack.len()
    }
}

Rust bierze garściami z języków funkcyjnych (http://xion.io/post/programming/rust-into-haskell.html#rust-into-haskell).

Czy Rust jest jednak idealny do gamedev? Ciężko powiedzieć. Z jednej strony mamy http://arewegameyet.com - czyli ludzie w tym kierunku idą.

Z drugiej strony wspomniany przez @OP Tomaka wypisał listę "grzechów" - https://users.rust-lang.org/t/my-gamedever-wishlist-for-rust/2859 (choć jest ona już nieco zdeaktualizowana).

Na pewno jednak polecam zapoznać się z tym językiem. Myślę też że @Xion będzie mógł coś więcej powiedzieć na ten temat ;)

PS. To jest bardziej język systemowy - ludzie piszą w nim systemy operacyjne (https://github.com/redox-os/redox), moduły kernela, silniki przeglądarki (np. projekt Servo Mozilli).

Przykładowy kod wziąłem z mojej VM do mojego języka ;)

4
Warsztat Summer of Code 2016 / Odp: Warsztat Summer of Code 2016
« dnia: Lipiec 01, 2016, 11:27:09 »
Dawno mnie tu nie było - z chęcią rozwinę pomysł nad którym pracowałem w ostatnim Ludum Dare.
http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=41007

Tym razem spróbuję sił używając Rust + GLIUM

5
Projekty rozpoczęte / Odp: Orbis(tytuł roboczy)
« dnia: Luty 12, 2016, 11:36:10 »
Mnie ciekawi jedno. W większości mmo aby się rozwijać trzeba dostawać doświadczenie. Aby mieć doświadczenie trzeba walczyć. A najlepiej grindować.

Zastanawia mnie na ile byłoby możliwe stworzenie systemu gdzie gracz byłby nagradzany za RolePlay.
Ktoś gra wojownika - dostaje expa za ochronę innych postaci.
Ktoś gra bandytę - dostaje expa za zabijanie i rabunek.
Ktoś gra kupca - dostaje expa za ilość interakcji między klientami i stosunek klient/sprzedaż.
Ktoś gra kowala - dostaje expa za różnorodność, ilość wytworzonych przedmiotów i ich jakość.
Ktoś gra kapłana - dostaje expa za nakładanie buffów, leczenie postaci.

W ten sposób nie mając dużo questów można by ożywić nieco świat wymuszając interakcje między graczami, a nie że "każdy sobie rzepkę skrobie".

Ewentualnie (jeszcze trudniejsze). System rodem z papierowych RPG na przykładzie SavageWorlds.
Gracz wybiera ileś cech pozytywnych i negatywnych. I jeśli się ich w miare trzyma to dostaje za to expa dodatkowego lub inne korzyści zależne od danej cechy.

"Skąpy" - jeśli nie wydaje dużo pieniędzy. Dostaje expa / nieco zwiększony dochód.
"Bohaterski" - pomaga w potrzebie atakowanym. Dostaje expa / nagrodę w podzięce.
"Charyzmatyczny" - często prowadzi wiele interakcji z różnymi postaciami.
"Wybuchowy charakter" - łatwo skłonić go do bójki.

No chyba że na role play nam kompletnie nie zależy. Wtedy polecam jakieś diablo/poe.
+ Całość bardziej zapewne pasuje do jakiegoś MUDa niż typowego mmo.

6
Grafika 3D / Odp: Normal mapy nie wyswietlane w Unity 3D...
« dnia: Październik 18, 2015, 16:56:48 »
Nie zamykamy tu tematów :) Fajnie że wpadłeś na prawdopodobne rozwiązanie i się z nim podzieliłeś.

7
Szkółka / Odp: Technologie Mircosoftu.
« dnia: Kwiecień 23, 2015, 19:40:30 »
Ty możesz traktować go niepoważnie, a on w tym czasie wyda kolejną gierkę na Google Play :)
Z resztą co do JS wystarczy zobaczyć co z nim wyprawia @rezoner.

8
Serwis / Odp: Warsztat poleca pomija wyżej punktowane wpisy
« dnia: Kwiecień 23, 2015, 19:36:17 »
A dla mnie sam fakt że ktoś zaplusuje screen czy video to już jest powód do zadowolenia.
Mam 200 punktów? Super!
Mam 1700 punktów? Jeszcze lepiej!
Mój screen jest w "Warsztat Poleca"? Dziwię się ale też się cieszę.
Ale nie patrzę na to jak na konkurencje, "bo on dostał tyle a tyle i go wyróżniliście".
A jak inny projekt dostanie jakieś wyróżnienie? To też się cieszę że polska scena się rozwija.

Ehh.. Chciałem się tylko pochwalić że wreszcie od dłuższego czasu napisałem coś co ma ręce i nogi... a wy mnie wciągacie w jakieś rankingi, nagradzanie za ilość plusów itd.

9
Szkółka / Odp: Technologie Mircosoftu.
« dnia: Kwiecień 23, 2015, 18:16:32 »
Cytuj
Java and Javascript are similar like Car and Carpet are similar.

Co do C++ - jeszcze rok, dwa lata temu wyśmiałbym samego siebie, ale uważam że języki dynamiczne (js, ruby, python) rozwijają się o wiele prężniej i to w nich tkwi potencjał. A tam gdzie potrzeba języka do zastosowań korpo - zawsze jest C# i Java.

Ostatnimi czasy Unity zaczyna dominować rynek indie (wystarczy spojrzeć na Ludum Dare, co druga gra jest na Unity, a co trzecia jest "zbudowana" w Unity do WebGL) a to oznacza że to właśnie JavaScript (a raczej jego pochodna czyli UnityScript) oraz C# są głównymi językami w których pisze się szybko i przyjemnie wszystko co ma "pójść na wszystkim".

Offtop: No i czekam z niecierpliwością aż Johnatan Blow da się pobawić swoim językiem , ale to już taka tendencja do testowania nowych rzeczy.

10
- Laptop: OSX Yosemite (hack):
* Bo to jednak unix z terminalem, zsh, gitem, homebrew i całym tym developerskim lukrem
* Unity działa
* XCode to jeden z najlepszych IDE jakie widziałem
* Finderowe tagi <3
* Sposób instalowania apek
* Steam z dnia na dzień większą bilbiotekę ma
* Jest cholernie szybki
* Wygodniej mi się używa jakiegokolwiek oprogramowania Adobe

Niestety nie działa mi wifi *_* ale to wiąże się z posiadaniem hacka, przez co większość roboty i tak wykonuję na windowsie z lenistwa. Anyway chyba już wiem jaki będzie następny laptop jaki kupię.

- Laptop: Windows 8.1
* W sumie mam bo działa wifi oraz mam gry. Nie mniej robie na nim większość rzeczy dlatego że muszę.

- Linux
Na laptopie brakuje mi na niego miejsca (SSD 128 boli mocno). Właśnie się zastanawiam czy kompatybilną kartę wifi czy też może usunąć OSX i w to miejsce dać linuxa.

Na desktopie mam linuxa - rodzinie wystarcza a ja nie muszę z studiów targać laptopa do domu aby coś poprogramować (git blessed).

11
Poszukuję / Odp: Projekt Survival Sandbox
« dnia: Wrzesień 09, 2014, 00:37:14 »
Nie postarałeś się… Podaj więcej info, przykłady tego co już zrobiłeś :)

12
Serwis / Odp: Ograniczenie ilości screenów na dzień lub "galerie"
« dnia: Wrzesień 04, 2014, 15:52:56 »

13
Serwis / Odp: Ograniczenie ilości screenów na dzień lub "galerie"
« dnia: Wrzesień 03, 2014, 14:47:10 »
Nikt nie powiedział że OpenSource czy Git magicznie rozwiążą problemy. To są narzędzia które znacznie ułatwią rozwiązywanie ich…

Jeśli chcemy aby ktokolwiek pracował nad Warsztatem … to dajmy mu najlepsze warunki do pracy zamiast rzucać kłody pod nogi! No sorry ale z podejściem "to by i w notatniku przy pomocy maila poprawiał" daleko nie zajedziemy.

Póki co argumentem tutaj widocznym jest "Bo nie".
Bo kwestie bezpieczeństwa i kradzenia kodu chyba rozwiązaliśmy...

14
Serwis / Odp: Ograniczenie ilości screenów na dzień lub "galerie"
« dnia: Wrzesień 03, 2014, 14:05:40 »
Miałem styczność jedynie z Ruby on Rails ale… Na każdym kroku wspominany lub wymagany był git. Dla przykładu Heroku umożliwia przesyłanie właśnie commitów na stronę. W podręcznikach i ebookach również zawsze podkreślano znaczenie gita. Np. każdy feature był pisany w osobnym branchu i dopiero pod koniec był łączony z masterem.

A może zrobić całość łagodniej? Umieścić kod na serwisie typu BitBucket, ograniczyć dostęp do repo dla parunastu osób. Nie wymagać od nich że przyjdą z gotowym rozwiązaniem. I jeśli całość zda egzamin to otworzyć repo publicznie.

15
Serwis / Odp: Ograniczenie ilości screenów na dzień lub "galerie"
« dnia: Sierpień 27, 2014, 13:38:23 »
A ja jestem za pomysłem otworzenia źródeł. Serio.

Plusy:
1. Ktoś zacznie łatać błędy i bugi.
2. Pull-requesty załatwią sprawę nowych feature. Wystarczy że ktoś przeanalizuje czy dany pull-request nie jest szkodliwy.
3. Przedłuży to żywotność strony - W środowisku Open Source często ktoś przejmuje nieaktywny projekt i dalej go rozwija.
4. Przejrzystość algorytmów. Każdy wie dokładnie jak serwis działa więc nie ma spisków ;)
5. Odciąży to Daba.
6. Ktoś kto robi plugin dla strony będzie mógł np. zrobić fork aby przetestować lokalnie czy wszystko działa.
7. [koirat]. Uproszczony dostęp = więcej chętnych.

Potencjalne minusy:
1. Ktoś zauważy buga w kodzie i wykorzysta to.
2. Część rzeczy należałoby wrzucić w np .gitignore dla bezpieczeństwa.
3. Ktoś zrobi fork i powstanie konkurencja (ale czy to źle? rywalizacja i tak się przyda ;) )

Plusów trochę więcej niż minusów ;)
Coś pominąłem, przeoczyłem lub przeinaczyłem?

Strony: [1] 2 3 4 5 ... 67