Projekt programistyczny

Projekt programistyczny
owca
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 8 lat
  • Postów:27
0

Od jakiegoś czasu uczę się programowania. Miałem do czynienia z C++, Pythonem, Javą, PHP, JavaScript i kilkoma innymi. Znam je na pewnym poziomie i chciałbym spróbować sił w grupowym tworzeniu oprogramowania. Czy ktokolwiek z Was miałby ochotę i trochę czasu na napisanie jakiegoś programu lub gry? Praca zespołowa na pewno pozwoli nabrać doświadczenia, dowiedzieć się wielu rzeczy.
Projekt miałby wykorzystywać możliwie wiele ciekawych rozwiązań. Całość nie ma być przydatna, ale ma uczyć i to miałoby być jej głównym celem. Wiadomo, że trzeba by podzielić pracę pomiędzy projektantów interfejsu, programistów dostępu do danych, grafików itp. i na tym ma polegać cała zabawa - żeby wszystko jakoś poskładać do kupy.
Czy ktoś z Was byłby zainteresowany udziałem w takiego rodzaju eksperymencie? Niewiele zobowiązań, brak terminów, pomoc od reszty ekipy w przypadku jakichkolwiek problemów. Nikt nie mówi, że masz już wszystko umieć. Jak nie znasz jakiejś z bibliotek, to programujesz coś innego lub czytasz dokumentację.
Preferowany język to C++. Do graficznego interfejsu QT, a jeśli gra to np. SDL. Oczywiście możemy wybrać coś innego, bo przecież każdy umie czytać, więc łatwo można poznać inne języki i biblioteki. Fajnie by było gdyby każdy z uczestników znał już jakiś system kontroli wersji (jakiś, ale pewnie ostatecznie padnie na subversion).
Co dokładnie byśmy projektowali okaże się w trakcie. Jeśli to wypali, to zbierzemy się na konferencji (IRC, Jabber MUC) i wszystko obgadamy.
Czekam na zgłoszenia chętnych i propozycje projektów. Resztę proszę zachować dla siebie.

LA
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 15 lat
0

Jeśli będą jakieś konkrety lub chociaż kilka osób to mogę w to wejść.

owca
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 8 lat
  • Postów:27
0

Ja proponuję napisanie bombermana. Język C++, SDL.
Zalety:

  • kupa programowania grafiki
  • poziomy wczytywane z plików xml
  • animacja postaci wczytywana z plików na dysku poprzez własną bibliotekę
  • wyniki przechowywane w bazie danych (coś jeszcze jeśli chodzi o bazy danych się wymyśli, bo to ciekawa rzecz)
  • być może gra przez sieć, ale na ten temat się nie będę wypowiadał, bo mam w tej dziedzinie skrajnie niskie doświadczenie
    Wiem że niektóre pomysły mogą wydawać się być poronione, ale chodzi o naukę, a nie o to żeby to jakoś zrobić.

Co do ludzi to jeśli każdy mi powie to co Ty, to jak to ma niby wypalić? Mówi się "wchodzę w to" i tyle. Co będzie, to będzie...

P.S. Wskazanym by było korzystanie z darmowych i wieloplatformowych rozwiązań, bo mam Linuksa :)

KR
  • Rejestracja:prawie 22 lata
  • Ostatnio:ponad 9 lat
0
owca napisał(a)

...- wyniki przechowywane w bazie danych (coś jeszcze jeśli chodzi o bazy danych się wymyśli, bo to ciekawa rzecz)...

Trochę przesadziłeś ;-)
Nie wrzucaj wszystkiego w jeden projekt, bo wyjdzie z tego papka i nikt się niczego nie nauczy. Bazę danych sobie odpuść, a dodaj np. grafikę 3D - powiedzmy openGL + SDL (świetne i proste połączenie).
Wyniki możesz z powodzeniem zapisać w xml i się nimi nie martwić.
Do tego pozostawiłbym sobie furtkę, żeby mimo wszystko kiedyś dopisać multiplayer (np. na razie napisać wersją dla dwóch gracz na jednym kompie).

Nie zrozum mnie źle, ale wydaje mi się, że nieodpowiednio zachęcasz ludzi. Uważam, że jakbyś przedstawił wstępną koncepcję, ogólne założenia projektu, wybrane technologie, ale dopuścił ich zmianę to bardziej byś zachęcił ludzi. Generalnie tekst: nic nie mam, ale chcę coś zrobić odpycha. Natomiast zaplanowanym projektem ktoś na pewno się zainteresuje.

Powodzenia i miłej zabawy (bo to jest najważniejsze ;-) )


"Jeżeli będę zajmował się tym, co myślą głupcy, nie będę miał czasu na to, o czym myślą ludzie inteligentni",Eric-Emmanuel Schmitt
owca
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 8 lat
  • Postów:27
0
KoRbI napisał(a)

Natomiast zaplanowanym projektem ktoś na pewno się zainteresuje.

Chciałbym wspólnie z innymi od samego początku ustalić co warto by było ująć w projekcie, a co wywalić, żeby sprawdzić jak się będziemy dogadywać, jakie będą panowały relacje i reakcje na pomysły. Widzę jednak, że to nie przejdzie i postaram się na jutro opisać wszystko co i jak ma wyglądać. Co do projektowania od strony źródłowej, to jednak wolę zapytać innych jaki model tworzenia aplikacji preferują i co się w grze najlepiej sprawdzi.
Może faktycznie ta baza danych to przesada. Może innym razem.
OpenGL? Fajnie brzmi, ale skąd teraz skołować kozaka, który wymodeluje obiekty i zrobi tekstury? Poza tym jest to dość "trudne" i sądzę, że na początek wystarczy skręcenie czegoś prostego z grafiką 2D.

KR
  • Rejestracja:prawie 22 lata
  • Ostatnio:ponad 9 lat
0

Na początek mogą to być proste modele (kanciaste) bez tekstur (wystarczy ustawić kolory), przecież chodziło Wam o wyzwanie, okazję do nauki, "..Całość nie ma być przydatna...". Zresztą to są tylko moje sugestie, po prostu, kiedyś siadłem do OGL'a i uważam to za świetną zabawę.
W końcu te obrazki w 2D również trzeba będzie narysować ;-)


"Jeżeli będę zajmował się tym, co myślą głupcy, nie będę miał czasu na to, o czym myślą ludzie inteligentni",Eric-Emmanuel Schmitt
cyriel
  • Rejestracja:około 18 lat
  • Ostatnio:ponad 10 lat
0

OpenGL? Fajnie brzmi, ale skąd teraz skołować kozaka, który wymodeluje obiekty i zrobi tekstury? Poza tym jest to dość "trudne" i sądzę, że na początek wystarczy skręcenie czegoś prostego z grafiką 2D.

W necie jest duuużo darmowych modeli, a poza tym nawet na tym forum znalazłoby sie pare osob, ktore by potrafily to zrobic :) Tekstury raczej nie(na razie), ale modele mysle, ze dalbym rade zrobic :) Moze nie jakies super wypasione, ale zawsze cos....


Pisze programy/skrypty na zlecenie/zaliczenie - c/c++/asembler/java. GG - 2100119, mail w profilu.
KR
  • Rejestracja:prawie 22 lata
  • Ostatnio:ponad 9 lat
0

Modele można zrobić w 3D studio max (nawet w jakiejś starej wersji) i eksportować do formatu tekstowego, np. asc. Sam coś takiego kiedyś robiłem, efekt był całkiem niezły (nawet bez tekstur).


"Jeżeli będę zajmował się tym, co myślą głupcy, nie będę miał czasu na to, o czym myślą ludzie inteligentni",Eric-Emmanuel Schmitt
owca
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 8 lat
  • Postów:27
0

W sumie to znam 3ds maxa, bo za czasów Windowsa dużo w nim robiłem. Nie wiem tylko czy mi jeszcze Windows działa. Od biedy jest okazja żeby liznąć Blendera.

Jeśli chodzi o sam projekt, to dzisiaj z grubsza obmyśliłem z kolegą jak by to miało wyglądać:
Język c++
Biblioteka sdl dla samej gry + opengl dla 3d
Wbudowany lub zewnętrzny edytor poziomów
Gry powinny odbywać się według scenariuszy. Każdy powinien się składać z plików xml opisujących poziomy i pliku xml zawierającego ogólne informacje o scenariuszu. Całość powinna działać jak w grze pingus.
Przeciwnicy z różnymi funkcjami odpowiedzialnymi za inteligencję (jeden ma latać za bohaterem, drugi się tylko odbijać, trzeci losować drogę itd.). Wiadomym jest że ich cechy będą kozacko dziedziczone.
Wyniki zapisywane w pliku xml (oczywiście jakkolwiek kodowane).

cyriel
  • Rejestracja:około 18 lat
  • Ostatnio:ponad 10 lat
0

Modele można zrobić w 3D studio max (nawet w jakiejś starej wersji) i eksportować do formatu tekstowego, np. asc. Sam coś takiego kiedyś robiłem, efekt był całkiem niezły (nawet bez tekstur).

Mysle, ze nie bedzei nawet takiej potrzeby - w openGL jest chyba mżliwośc importowania modeli zapisanych w formacie 3ds. Nie wiem jak z blenderem, chociaz obstawialbym, ze tez obsluguje ten format.


Pisze programy/skrypty na zlecenie/zaliczenie - c/c++/asembler/java. GG - 2100119, mail w profilu.
KD
  • Rejestracja:ponad 19 lat
  • Ostatnio:ponad 15 lat
0

opengl nic nie importuje

Freakman
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 7 lat
0

hmm no nie wiem. a tzw loadery 3d? :)


play hard..go pro.
0

Przyjmujesz jeszcze [???]

admc
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 7 lat
0
gość napisał(a)

Przyjmujesz jeszcze [???]

Właśnie

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)