Jump to content



Virtual Bus C++ Alpha Demo


  • Please log in to reply
33 replies to this topic

#1
fr0zi

fr0zi
  • Developerzy
  • 273 Posts:
25
Witam kolegów forumowiczów :)

Razem z kolegą @Mich'em chcieliśmy wam pokazać coś, nad czym pracujemy od jakiegoś czasu.
Postanowiliśmy pójść własną drogą i napisać cały kod od podstaw. Zdajemy sobie sprawę, że graficznie raczej nie będziemy mogli rywalizować z
grami tworzonymi w profesjonalnych silnikach typu Unity, Unreal Engine czy CryEngine... Ale uważamy, że to nie graficzne fajerwerki stanowią o grywalności
i wierzymy, że nasz nowy kod może z czasem przyciągnąć ludzi jak niegdyś stary vBus :)

Attached File  vbcpp1.png   254.09K   338 Number of downloads

Attached File  vbcpp2.png   319.79K   364 Number of downloads

Attached File  vbcpp3.png   365.09K   313 Number of downloads

Kod, który chcemy pokazać to coś, co można nazwać wersją "alfa", zawierający najważniejsze mechanizmy, czyli:
- rendering: OpenGL 3.3
- fizyka autobusów i obiektów na scenie: Bullet Physics
- dźwięk: OpenAL
- autobus i działanie drzwi opiera się na połączeniach fizycznych, wszystko konfigurowane również w plikach XML
- teren tworzony za pomocą heightmapy (na razie tylko z jedną teksturą)
- drogi tworzone za pomocą spline'ów o określonym przekroju (profilu)
- dodatkowe chodniki i ścieżki także tworzone za pomocą spline'ów
- podstawowe oświetlenie - reflektory autobusu + oświetlenie wnętrza autobusu

Oczywiście wiele rzeczy jest jeszcze do dodania, natomiast kod dojrzał do takiego momentu, że można coś już pokazać na forum.

Demko zawiera przykładową mapę Demo. Została zrobiona tylko i wyłącznie na potrzeby demonstracji kodu, więc proszę nie zwracać uwagi na jakieś
błędy w ustawieniu obiektów itp. Możliwe także, że nie wszystkie obiekty mają ustawione kolizje. Ale wynika to tylko z tego, że obiekty również są
przykładowe i mogą być niedopracowane.

Natomiast przydadzą się informacje o ilości FPSów i na jakim sprzęcie uruchamialiście kod.
Pozwoli nam się to rozeznać na ile wydajny jest aktualny kod.
Jednakże zaznaczam też, że kod na razie nie ma jeszcze żadnych większych optymalizacji, więc z czasem FPSy powinny jeszcze wzrosnąć.

Tak więc zapraszam do pobierania, testowania i podzielenia się opinią.
Proszę na razie się wstrzymać ze zgłaszaniem błędów :) Wiemy, że jest ich dużo póki co ;)

PS. W demo dostępne są dwa autobusy: Ikarus 211 i Autosan H9. Można zmienić aktywny autobus edytując plik game.xml i wpisać nazwę autobusu "h9" albo "i211".

Plik zip nie ma hasła, wystarczy rozpakować na dysk.

EDIT: poprawione screeny

Przy okazji edycji: podziękowania dla @mmiki26 za udostępnienie modeli do prac nad kodem :)

Attached File(s)


This post has been edited by fr0zi: 28 June 2017 - 22:01

CPU & RAM: AMD FX 8120 @ 3.1 GHz & Kingston 8 GB DDR3
GFX: Sapphire Radeon RX 480 8GB GDDR5
OS: Windows 10 Professional 64-bit

Zasilacz: OCZ CoreXStream 500W
Obudowa: Fractal Design Define R3

AdBot

  • Elita
  • Posts: ∞

#2
solaris150

solaris150
  • Użytkownicy
  • 4 Posts:
1
Całkiem spoko, a dzwony obok kościoła wymiatają ;) życzę dużo wytrwałości przy dalszej pracy :)

#3
Kuba7033

Kuba7033
  • Użytkownicy
  • 7 Posts:
0
Również życzę wytrwałości, bo sporo prób napisania od nowa vbusa już było. Jak na pierwsze etapy prac jest naprawdę ok.
dawniej Jessi

#4
fr0zi

fr0zi
  • Developerzy
  • 273 Posts:
25
Dzięki koledzy za opinie :)

Jak najbardziej zamierzamy dalej pracować nad kodem, o ile będzie pozytywny odbiór na forum i ludzie będą nim zainteresowani.
Mamy całą listę rzeczy, która czeka na implementację ;)

Przypominam, że zależy nam też na rozeznaniu się co do wydajności kodu w tym momencie, dlatego prosiłbym o podawanie info o sprzęcie, na którym odpalaliście grę i ile mieliście średnio klatek/s.

Z góry dzięki i życzę przyjemnego testowania! :)

EDIT: Jedna osoba zgłosiła mi, że nie działają mu screeny w pierwszym poście. Jeśli zauważycie coś takiego - dajcie znać. Wtedy wrzucę screeny jeszcze raz.

This post has been edited by fr0zi: 27 June 2017 - 21:22

CPU & RAM: AMD FX 8120 @ 3.1 GHz & Kingston 8 GB DDR3
GFX: Sapphire Radeon RX 480 8GB GDDR5
OS: Windows 10 Professional 64-bit

Zasilacz: OCZ CoreXStream 500W
Obudowa: Fractal Design Define R3

#5
DevPort

DevPort
  • Użytkownicy
  • 37 Posts:
1
A działa.. po prostu długo ładowało...
Można źródełka do wglądu  ?

Mam 20-30 klatek :P
Bez Optymalizacji się nie obejdzie...

Quote

Laptop HP dv6720ew
AMD Thurion 2x 2.0 GHz
Renderer: GeForce 8400M GS/PCIe/SSE2
Vendor: NVIDIA Corporation
Memory: 256 MB
Version: 3.3.0
Shading language version: 3.30 NVIDIA via Cg compiler


Prawdziwy programista wiesza się wraz ze swoim programem.

#6
darnok500

darnok500
  • Użytkownicy
  • 1 Posts:
0
Zalogowałem się po latach na to forum tylko po to by pogratulować efektu prac. Świetna robota, Panowie! Życzę wytrwałości i powodzenia z projektem :)

Jeżeli poszukujesz webmastera/programisty? Pisz!


#7
Scofield

Scofield
  • Użytkownicy
  • 1 Posts:
0
Przetestowałem, brawo Panowie i powodzenia w dalszych pracach. Bede od czasu do czasu wpadał i patrzyl jak sie rozwija projekt

Moj PC

i5 4670k
8gb ram
gtx680

60fps

Ale mam artefakty takie jak na zalaczniku

#8
qamil

qamil
  • Użytkownicy
  • 1 Posts:
0
Screenów faktycznie nie widać - "image not found or was removed". Skoro prosicie o niezgłaszanie błędów tylko aktualny poziom FPS, to to też robię ;) Stałe 126-128 klatek na sekundę. Konfiguracja PC:
Intel® Core™ i5-3470 CPU @ 3.20GHz
AMD Radeon HD 7800, VRAM 2GB, 1920x1080px
RAM 8GB
Windows 7 (64-bitowy)
Działajcie chłopaki, bo faktycznie ta wiadomość zmotywowała mnie do zalogowania na forum, i to mimo że mail z informacją o tym temacie trafił do spamu ;)
Z ciekawości, kod będzie później udostępniony tak jak to ma miejsce z oryginalnym vbusem, czy tworzycie zamknięty program?
Pozdrawiam,
qamil.

#9
PitBull9010

PitBull9010
  • Użytkownicy
  • 1 Posts:
0
nieźle, nieźle, fajnie by było, gdybyście dodali możliwości konfiguracji wybranych modeli autobusów, poza tym, już może być niezła zabawa :)

Laptop Samsung RC710 (2009 rok):
Intel Core ™ i3 M380 2,53 GHz 2,53 GHz
NVIDIA Geforce M 315 1 GB VRAM 1600x900px
RAM 4 GB (3,54)
Windows 7 (64-bit)

#10
fr0zi

fr0zi
  • Developerzy
  • 273 Posts:
25
Dzięki wszystkim za opinie i informacje o wydajności :)

View PostDevPort, on 27 June 2017 - 21:27, said:

Można źródełka do wglądu  ?


View Postqamil, on 28 June 2017 - 10:23, said:

Screenów faktycznie nie widać - "image not found or was removed". Skoro prosicie o niezgłaszanie błędów tylko aktualny poziom FPS, to to też robię

Z ciekawości, kod będzie później udostępniony tak jak to ma miejsce z oryginalnym vbusem, czy tworzycie zamknięty program?

Screenów dziś już u mnie też nie widać. Dodam je na nowo.

Odnośnie kodu - VBus był projektem open source i nie zamierzamy tego zmieniać. Kod źródłowy jest dostępny publicznie na moim prywatnym GitHubie - https://github.com/fr0zi/vbcpp
Zaznaczam jednak, że na razie panuje tam niezły bałagan, dużo rzeczy się zmienia i nie ma na razie żadnej dokumentacji.

View PostPitBull9010, on 28 June 2017 - 19:32, said:

nieźle, nieźle, fajnie by było, gdybyście dodali możliwości konfiguracji wybranych modeli autobusów, poza tym, już może być niezła zabawa :)

Nie wiem co masz dokładnie na myśli mówiąc o konfiguracji autobusów. Ogólnie każdy autobus ma swój plik konfiguracyjny:
Buses/<nazwa_autobusu>/config.xml

Jest tam całą konfiguracja autobusu: rozmieszczenie poszczególnych elementów, ustawienia zawieszenia, konfiguracja drzwi wraz z rozmieszczeniem połączeń fizycznych między elementami.
Na razie trzeba się w tym grzebać ręcznie, ale z czasem zrobimy edytor i wszystko będzie ustawiane graficznie. Oczywiście pojawi się też odpowiednia dokumentacja.

Natomiast konfiguracje skrzyni biegów i silnika są w folderze Parts. Są to pliki żywcem wzięte ze starego VBusa. Można tam też znaleźć dźwięki silnika.

Generalnie jest to jeden z naszych celów, aby wszystko było konfigurowalne :)
CPU & RAM: AMD FX 8120 @ 3.1 GHz & Kingston 8 GB DDR3
GFX: Sapphire Radeon RX 480 8GB GDDR5
OS: Windows 10 Professional 64-bit

Zasilacz: OCZ CoreXStream 500W
Obudowa: Fractal Design Define R3

#11
xQuByte

xQuByte
  • Użytkownicy
  • 1 Posts:
0
Jak zapewne wielu - ja także po latach się zalogowałem, żeby móc pobrać, sprawdzić i się odezwać. Wygląda na prawdę fajnie i jest w tym potencjał ;) Życzę powodzenia i wytrwałości w pracach!



Cały czas 60 FPS
Windows 10
Intel i5-3570K 3.40
Asus Geforce GTX 750Ti
8GB RAM


#12
GarytheWobblegong

GarytheWobblegong
  • Użytkownicy
  • 2 Posts:
0
Can we please add some traffic and other vehicles to this update? The main feature lacking in VirtualBus. Will make the game more like Omsi 2. Keep going with your hard work! :bye2:

#13
RafalQWZ

RafalQWZ
  • Użytkownicy
  • 1 Posts:
0
Jest potencjał, skoro udało się dachować xD No i trochę dziwnie to jedzie.

Na laptopie działa- i3-4005U 1,7 GHz, 4 GB RAM, Win 8.1

Attached File(s)

  • Attached File  ik211.png   1.05MB   67 Number of downloads


#14
Zizi

Zizi
  • Użytkownicy
  • 62 Posts:
0
No nie powiem, fajnie to nawet się zapowiada. Jest to jednak bardzo wczesny etap prac, ale nawet jak na taki etap jest nawet dobrze. Fakt, widać niedociągnięcia tu i tam ale nie ma co się czepiać, jest dobrze i oby tak dalej.
Powodzenia :)
Pomogłem daj +. Zaszkodziłem Daj - i poproś o warna

Dołączona grafika

Dołączona grafika

Dołączona grafika

Dołączona grafika

#15
NsNidPL

NsNidPL
  • Użytkownicy
  • 5 Posts:
0
Jeżeli robienie autobusów i mapek będzie łatwiejsze niż w OMSI 2 to bez względu na grafikę pokocham tą grę :)

Co mnie zadowala w tej grze to prostota. Jednak jest kilka niedociągnięć - autobusy "tańczą" a gra muli się przy włączaniu, ponieważ tworzy jakiś zasób 'grass_2048_n' czy tak. Jazda jest dużo przyjemniejsza niż w starym Vbusie. Tam grafika była odrażająca , nieprzyjemnie się jeździło i haczyło (lagowało). Tu jest całkiem inaczej - gra jest płynna, a grafika jest na poziomie OMSI. Poprawcie też skręcanie, może zróbcie takie jak w wspomnianej grze, bo jak na teraz to trochę sterowanie jest dziwne. I fizyka do poprawki ponieważ - tak jak wcześniej wspomniałem - autobusy tańczą i mają tak jakby źle wywarzone koła, ale przynajmniej w porównaniu do OMSI da się dachować. Trzymajcie tak dalej bo trochę dopracować i odjechana gierka będzie :)

Aha, i specy:
i5-2600U / nVdida 920m + hd 520 / 8gigos ram / 256gigos SSD

chodzi od 50 do 80 fps

#16
fr0zi

fr0zi
  • Developerzy
  • 273 Posts:
25

View PostGarytheWobblegong, on 29 June 2017 - 08:29, said:

Can we please add some traffic and other vehicles to this update? The main feature lacking in VirtualBus. Will make the game more like Omsi 2. Keep going with your hard work! :bye2:

Thanks :) Adding traffic and other cars definetely would be great and we will think about this in the future.

View PostNsNidPL, on 30 June 2017 - 14:34, said:

Jeżeli robienie autobusów i mapek będzie łatwiejsze niż w OMSI 2 to bez względu na grafikę pokocham tą grę :)

Co mnie zadowala w tej grze to prostota. Jednak jest kilka niedociągnięć - autobusy "tańczą" a gra muli się przy włączaniu, ponieważ tworzy jakiś zasób 'grass_2048_n' czy tak. Jazda jest dużo przyjemniejsza niż w starym Vbusie. Tam grafika była odrażająca , nieprzyjemnie się jeździło i haczyło (lagowało). Tu jest całkiem inaczej - gra jest płynna, a grafika jest na poziomie OMSI. Poprawcie też skręcanie, może zróbcie takie jak w wspomnianej grze, bo jak na teraz to trochę sterowanie jest dziwne. I fizyka do poprawki ponieważ - tak jak wcześniej wspomniałem - autobusy tańczą i mają tak jakby źle wywarzone koła, ale przynajmniej w porównaniu do OMSI da się dachować. Trzymajcie tak dalej bo trochę dopracować i odjechana gierka będzie :)

Nie ukrywam, że czasami podpatrujemy pomysły z OMSI pod kątem chociażby tworzenia tras, ale chcemy aby tutaj było to względnie proste.
Wszystkie pliki konfiguracyjne gry, autobusów, obiektów są to zwykłe pliki txt w formacie XML. Można je śmiało edytować jak ktoś chce. Opis sceny to również plik XML. Z czasem zrobimy edytor map, aby ustawiać wszystko graficznie, ale ostatecznie scena i tak będzie zapisana to pliku XML.

Odnośnie opisanych niedociągnięć, to mulenie na początku wynika z konieczności utworzenia siatki terenu z pliku heightmapy. Niestety na razie chwilę to trwa. Postaramy się to poprawić z czasem.
Fizyka autobusu natomiast to szeroki temat i zdajemy sobie sprawę, że na razie nie jest idealnie. Utworzenie dobrze jeżdżącego samochodu przy użyciu bibliotek fizycznych to jest spore wyzwanie.
W tym momencie autobus jest prawie dosłownie odwzorowaniem realnego pojazdu - bryła karoserii połączona jest z kołami za pomocą odpowiednich połączeń fizycznych, które symulują zawieszenie i umożliwiają skręcanie kół. Jedynym słabym punktem jest tu wyregulowanie zawieszenia, które nie zawsze będzie działać idealnie, stąd to kołysanie.
Rozważamy ewentualnie użycie innego modelu fizycznego dla autobusu - tzw. RayCast Vehicle. Powinien on np. wyeliminować kołysanie, ale z drugiej strony działa na trochę uproszczonej zasadzie. Być może wprowadzimy go do kodu w przyszłości, abyście mogli zdecydować który jest lepszy.

Skręcanie kół także będziemy dopracowywać z czasem.
Te źle wyważone koła, to chodzi o "skakanie" autobusu podczas jazdy po ulicy? Jeśli tak to nie jest to wina kół, a wynika to z siatki kolizji drogi. Po prostu nie jest ona idealnie równa, stąd autobus nieco podskakuje.

Co do dachowania - oczywiście jest to jak najbardziej możliwe, kto jeszcze nie próbował ;) Cały autobus jest normalnym ciałem fizycznym i podlega jej prawom. Drzwi również są obiektami fizycznymi, łączą się z karoserią połączeniami ruchomymi, które są napędzane "motorem" o ustalonej sile. Technicznie możliwe jest umożliwienie urwania drzwi przy odpowiednio mocnym uderzeniu ;) Może w przyszłości damy też możliwość np. wyrwania znaków albo nawet przystanka z ziemi, jeśli się w niego uderzy. Możliwości jest sporo, ale to są rzeczy na przyszłość :)
CPU & RAM: AMD FX 8120 @ 3.1 GHz & Kingston 8 GB DDR3
GFX: Sapphire Radeon RX 480 8GB GDDR5
OS: Windows 10 Professional 64-bit

Zasilacz: OCZ CoreXStream 500W
Obudowa: Fractal Design Define R3

#17
NsNidPL

NsNidPL
  • Użytkownicy
  • 5 Posts:
0
Wymieszać vbusa z OMSI? Idealnie! Tak, te źle wywarzone koła to skakanie przy wyższych prędkościach. A co do wyrywania znaków i przystanków, to na końcu drogi na mapie demo są kontenery, które po prostu się przesuwają jak w realu. I naprawdę przydałby się edytor 3d. A o takim czymś jak raycast słyszałem, chodzi w tym o to że koła same w sobie nie dotykają powierzchni tylko tworzy się taka siła unosząca pojazd. To jest dobre, ale z tego co wiem nie da się dachować (a jeśli już to się strasznie glitchuje). A, i popieram pomysł z samochodami.

PS: Czy ja nie jestem osobą, która wypowiedziała się najwięcej?

#18
Attila1992

Attila1992
  • Użytkownicy
  • 182 Posts:
9
ASUS M5A78L/M USB3
AMD FX-6300 Six Core processor 3.5GHz
AMD Radeon R7 360 2GB GDDR5
Kingston Hyper Fury 8GB 1866MHz DDR3 RAM
TOSHIBA 1TB SATA3 HDD
Foxconn TLA-397
Windows 7 Professional SP1 64-bit
:bye:

#19
NsNidPL

NsNidPL
  • Użytkownicy
  • 5 Posts:
0
Głosuję na raycasting :) a co do map w xml to chyba jednak mapa demo była w czymś tworzona (przynajmniej heightmapa).

#20
fr0zi

fr0zi
  • Developerzy
  • 273 Posts:
25

View PostNsNidPL, on 30 June 2017 - 18:50, said:

(...) A o takim czymś jak raycast słyszałem, chodzi w tym o to że koła same w sobie nie dotykają powierzchni tylko tworzy się taka siła unosząca pojazd. To jest dobre, ale z tego co wiem nie da się dachować (a jeśli już to się strasznie glitchuje). (...)

PS: Czy ja nie jestem osobą, która wypowiedziała się najwięcej?

Dokładnie, RayCast Vehicle tworzy "promienie", które sprawdzają kolizję kół z terenem, na podstawie tego wyliczane jest zachowanie zawieszenia itp. Dachować chyba się da, natomiast "promienie" rzucane z kół w stronę terenu sprawdzają kolizję jedynie punktowo, przez co widoczny jest charakterystyczny skok koła, kiedy promień wykryje pod nim np. krawężnik.
Mimo pewnych uproszczeń, RayCast Vehicle używany jest w wielu popularnych grach. Podejrzewam, że i GTA5 z niego korzysta, bo widać tam właśnie te charakterystyczne skoki kół przy wykrywaniu kolizji.

Natomiast zaletą jest to, że w RayCast Vehicle trochę łatwiej jest "zestroić" samochód, aby zachowywał się realnie, czyli przede wszystkim chodzi o ustawienie pracy zawieszenia.

PS. Tak, chyba jesteś ;)

View PostNsNidPL, on 30 June 2017 - 20:27, said:

Głosuję na raycasting :) a co do map w xml to chyba jednak mapa demo była w czymś tworzona (przynajmniej heightmapa).

Ok, zobaczymy co inni ludzie powiedzą :)
Tak, heightmapa to plik graficzny, była tworzona w GIMPie (w przyszłości zapewne zastąpimy ją blikiem binarnym). Natomiast rozmieszczenie elementów na scenie jest umieszczone w pliku XML. Edytor Map mamy w najbliższych planach, przynajmniej jakiś prymitywny.
CPU & RAM: AMD FX 8120 @ 3.1 GHz & Kingston 8 GB DDR3
GFX: Sapphire Radeon RX 480 8GB GDDR5
OS: Windows 10 Professional 64-bit

Zasilacz: OCZ CoreXStream 500W
Obudowa: Fractal Design Define R3