Code Monkey home page Code Monkey logo

yorg's Introduction

yorg

Yorg is an open source racing game developed by Ya2 using Panda3D for Windows, OSX and Linux. More information can be found on this page.

It requires Python 3.x. It should be cloned recursively since yyagl submodule and yracing submodule are used.

To run it you should create assets:

  • python setup.py images lang models

To create the builds, you can use the awesome Panda3D's deployment tools:

  • python setup.py bdist_apps

Here's a short guide about installing and preparing your environment for Yorg.

  • clone the repository: git clone --recursive https://github.com/cflavio/yorg.git
  • go into the directory: cd yorg
  • (optional, recommended for non-developers, since master is an unstable branch) checkout the stable branch: git checkout stable; git submodule foreach git checkout stable
  • create a python3 virtualenv: virtualenv --python=/usr/bin/python3 venv
  • activate the virtualenv: . ./venv/bin/activate
  • install the prerequisites: pip install -r requirements.txt
  • build the required assets: python setup.py lang images models
  • launch the game: python main.py

Here's a screenshot:

Yorg

yorg's People

Contributors

akien-mga avatar cflavio avatar gunchleoc avatar mailaender avatar oneoeigh avatar wuzzy2 avatar xinxinxinxinxin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yorg's Issues

problem with load image/textures

i downloaded the master version but i have many problem with file/link image.

for example program call /asset/images/gui/cursor.dds
but .dds file not exist, i have cursor.png

i have same problem with /asset/images/icons/facebook.png or all social network. all icons in this folder not exist ! (i have only psd file)

thanks for advance.

Invalid panda path in

Hi I have been looking into your code (learning panda myself),
and inorder to run i needed to change the path to a pandapath in imgbtn.py
e.g:
from panda3d.core import Filename

maps = loader.loadModel(Filename.fromOsSpecific(this_path) + '/../../assets/img_btn')

I think you can also load these against the working directory of panda prefixed with models (or any other python path)

Nice work dooh,
Greetings

How do you host a server?

The master server seems to be down. Is there a way to host a server? Perhaps with a commandline flag?

AMD libGL error

I'm using AMDGPU and the game is looking for radeonsi as far as I can tell.
My setup is an RX480 with Arch Linux 64bit.
The terminal output is:

:AppRunner: Total Panda3D disk space used: 0 MB :ShowBase: Default graphics pipe is glxGraphicsPipe (OpenGL). libGL error: unable to load driver: radeonsi_dri.so libGL error: driver pointer missing libGL error: failed to load driver: radeonsi libGL error: unable to load driver: radeonsi_dri.so libGL error: driver pointer missing libGL error: failed to load driver: radeonsi libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast :ShowBase: Successfully opened window of type glxGraphicsWindow (OpenGL) :ShowBase: __dev__ == False

Game lacks a sense of speed

For a racing game yorg feels rather slow. This isn't something I can explain in detail, yorg just doesn't feel fast like F-Zero does or classic Micro Machines does.

Trying to continue a season causes the game to crash

I started a new season and quit after a couple races. When I tried to continue game crashed. When I try again it crashes again, launching it from commandline doesn't seem to output error messages so I don't know what's the matter. Where does this game writes crash logs? Or does it write them in general? I searched game directory with fzf but didn't have much luck.

Failing to build

Hello,

I’m trying to see if I can package this in the AUR for ArchLinux.

The call to «scons lang=1 images=1 tracks=1» gives a lot of output with «couldn’t compress XXX», and at the end it fails with:

17:56:04 egg2bam -txo -mipmap -ctex assets/models/cars/diones/capsule.egg -o assets/models/cars/diones/capsule.bam

Writing assets/models/cars/diones/capsule.bam
  couldn't compress TEXCar
  Writing /home/mcmic/dev/aur/yorg/src/yorg-0.10.0/assets/models/cars/diones/tex/TEXCar.txo
  couldn't compress GLOSSCar
  Writing /home/mcmic/dev/aur/yorg/src/yorg-0.10.0/assets/models/cars/diones/tex/GLOSSCar.txo
Writing assets/models/cars/diones/car.bam
  File "yyagl/build/process_track.py", line 101
    print 'loaded track model'
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('loaded track model')?
  File "yyagl/build/process_track.py", line 101
    print 'loaded track model'
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('loaded track model')?
  File "yyagl/build/process_track.py", line 101
    print 'loaded track model'
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('loaded track model')?
  File "yyagl/build/process_track.py", line 101
    print 'loaded track model'
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('loaded track model')?
  File "yyagl/build/process_track.py", line 101
    print 'loaded track model'
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('loaded track model')?
  File "yyagl/build/process_track.py", line 101
    print 'loaded track model'
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('loaded track model')?
  File "yyagl/build/process_track.py", line 101
    print 'loaded track model'
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('loaded track model')?

If I try to call «python main.py» anyway, I get:

Traceback (most recent call last):
  File "./main.py", line 5, in <module>
    from yorg.yorg import Yorg
  File "/home/mcmic/dev/aur/yorg/src/yorg-0.10.0/yorg/yorg.py", line 6, in <module>
    from yyagl.game import Game
  File "/home/mcmic/dev/aur/yorg/src/yorg-0.10.0/yyagl/game.py", line 3, in <module>
    from .engine.engine import Engine
  File "/home/mcmic/dev/aur/yorg/src/yorg-0.10.0/yyagl/engine/engine.py", line 7, in <module>
    from .profiler import AbsProfiler
  File "/home/mcmic/dev/aur/yorg/src/yorg-0.10.0/yyagl/engine/profiler.py", line 57
    def _print_lines(sio): print sio.getvalue()
                                   ^
SyntaxError: invalid syntax

Here is the current state of the PKGBUILD:

pkgname=yorg
pkgver=0.10.0
pkgrel=1
pkgdesc="Yorg (Yorg's an Open Racing Game) is a free open source racing game developed by Ya2 using Panda3D for Windows, OSX and Linux."
arch=('any')
url="https://www.ya2.it/pages/yorg.html"
license=('GPL3')
depends=('bullet' 'panda3d' 'python-yaml' 'python-feedparser' 'python-psutil')
makedepends=('scons')
optdepends=()
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/cflavio/yorg/archive/v${pkgver}.tar.gz"
        "yyagl-${pkgver}.tar.gz::https://github.com/cflavio/yyagl/archive/v${pkgver}.tar.gz")
md5sums=('612ac83b4a53d3ac2905b7fc2e300959'
         '5122fc039be91a1e014c91310540461f')

build() {
  cd "$srcdir/$pkgname-$pkgver"
  cp -r "$srcdir/yyagl-${pkgver}"/* yyagl/
  # build the required assets:
  scons lang=1 images=1 tracks=1
  scons linux=1
}

There are multiple copies of yorg.pot

Since the .pot file is the reference catalog for all translations, it should exist only once in the code base.

The usual directory layout for gettext is to have a po directory containing yorg.pot, it_IT.po, de.po etc, and use the locale directory for the binaries (*.mo) only.

Locale issue in menu/mainpage.py::set_news on Linux (UTF-8 parsed as ascii)

My system locale on Linux is as follows:

$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

When running the game with python2 main.py, the menu fails loading and the application terminates:

:ya2: 19:24:11 entering Menu state
Traceback (most recent call last):
  File "main.py", line 29, in <module>
    Yorg()
  File "/home/akien/tmp/yorg-src/yorg/yorg/yorg.py", line 79, in __init__
    Game.__init__(self, init_lst, conf)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/game.py", line 41, in __init__
    GameBase.__init__(self, init_lst, cfg)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/game.py", line 31, in __init__
    self.logic.on_start()
  File "/home/akien/tmp/yorg-src/yorg/yorg/logic.py", line 29, in on_start
    self.mdt.fsm.demand('Menu')
  File "/usr/share/panda3d/direct/fsm/FSM.py", line 278, in demand
    if not self.request(request, *args):
  File "/usr/share/panda3d/direct/fsm/FSM.py", line 321, in request
    self.__setState(*result)
  File "/usr/share/panda3d/direct/fsm/FSM.py", line 456, in __setState
    self.__callEnterFunc(self.newState, *args)
  File "/usr/share/panda3d/direct/fsm/FSM.py", line 492, in __callEnterFunc
    func(*args)
  File "/home/akien/tmp/yorg-src/yorg/yorg/fsm.py", line 56, in enterMenu
    self.__menu = YorgMenu(menu_props)
  File "/home/akien/tmp/yorg-src/yorg/menu/menu.py", line 60, in __init__
    GameObject.__init__(self, init_lst)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/gameobject.py", line 121, in __init__
    GODirector(self, init_lst, callback)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/gameobject.py", line 89, in __init__
    self.__process_lst(tgt_obj, idx)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/gameobject.py", line 98, in __process_lst
    setattr(obj, comp_info[0], comp_info[1](*comp_info[2]))
  File "/home/akien/tmp/yorg-src/yorg/menu/menu.py", line 49, in __init__
    self.menu.logic.push_page(YorgMainPage(self.menu, mainpage_props))
  File "/home/akien/tmp/yorg-src/yorg/menu/mainpage.py", line 177, in __init__
    GameObject.__init__(self, init_lst)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/gameobject.py", line 121, in __init__
    GODirector(self, init_lst, callback)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/gameobject.py", line 89, in __init__
    self.__process_lst(tgt_obj, idx)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/gameobject.py", line 98, in __process_lst
    setattr(obj, comp_info[0], comp_info[1](*comp_info[2]))
  File "/home/akien/tmp/yorg-src/yorg/menu/mainpage.py", line 52, in __init__
    MainPageGui.__init__(self, mdt, menu)
  File "/home/akien/tmp/yorg-src/yorg/yyagl/engine/gui/page.py", line 23, in __init__
    self.bld_page()
  File "/home/akien/tmp/yorg-src/yorg/menu/mainpage.py", line 111, in bld_page
    self.set_news()
  File "/home/akien/tmp/yorg-src/yorg/menu/mainpage.py", line 158, in set_news
    for i in range(5)]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)

Forcing any value for LC_ALL (e.g. "C", "en" or "fr") works around the issue, though a warning is shown:

$ LC_ALL=C python main.py  
Known pipe types:
  glxGraphicsPipe
(all display modules loaded.)
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
AL lib: (WW) ALCjackBackendFactory_init: jack_client_open() failed, 0x11
AL lib: (WW) alc_initconfig: Failed to initialize backend "jack"
:ya2: 19:26:54 version: source
sh: warning: setlocale: LC_ALL: cannot change locale (fr_FR.UTF-8)

Trying to force LC_ALL=fr_FR.UTF-8 reproduces the bug.


System info:

:ya2: 19:22:32 version: source
:ya2: 19:22:32 operative system: Linux 4.9.35-desktop-1.mga6 #1 SMP Thu Jun 29 19:27:27 UTC 2017
:ya2: 19:22:32 architecture: ('64bit', 'ELF')
:ya2: 19:22:32 machine: x86_64
:ya2: 19:22:32 platform: Linux-4.9.35-desktop-1.mga6-x86_64-with-mageia-6-Cauldron
:ya2: 19:22:32 processor: x86_64
:ya2: 19:22:32 cores: 4
:ya2: 19:22:32 panda version: 1.9.4 
:ya2: 19:22:32 bullet version: 286
:ya2: 19:22:32 appdata: /home/akien
:ya2: 19:22:32 NVIDIA Corporation
:ya2: 19:22:32 GeForce GTX 670MX/PCIe/SSE2
:ya2: 19:22:32 shader: 4.50
:ya2: 19:22:32 4.5.0 NVIDIA 375.66
:ya2: 19:22:32 driver version: 4.5
:ya2: 19:22:32 fullscreen: False
:ya2: 19:22:32 resolution: 1280x720

Shader errors with Panda3D without proprietary Cg support

I've built the Panda3D SDK 1.9.4 without support for the NVIDIA Cg technology, as I want to package Panda3D for my distro as a libre engine and can therefore not rely on proprietary libraries.

Apparently the game expects Cg support though, as the console is spammed with this error while playing:

:shader(error): Support for Cg shaders is not enabled.

It would be nice to detect if Cg shaders are available and prevent trying to use them if not, to avoid the spam. Ideally, having a libre alternative for those shaders would be great.


System info:

:ya2: 19:22:32 version: source
:ya2: 19:22:32 operative system: Linux 4.9.35-desktop-1.mga6 #1 SMP Thu Jun 29 19:27:27 UTC 2017
:ya2: 19:22:32 architecture: ('64bit', 'ELF')
:ya2: 19:22:32 machine: x86_64
:ya2: 19:22:32 platform: Linux-4.9.35-desktop-1.mga6-x86_64-with-mageia-6-Cauldron
:ya2: 19:22:32 processor: x86_64
:ya2: 19:22:32 cores: 4
:ya2: 19:22:32 panda version: 1.9.4 
:ya2: 19:22:32 bullet version: 286
:ya2: 19:22:32 appdata: /home/akien
:ya2: 19:22:32 NVIDIA Corporation
:ya2: 19:22:32 GeForce GTX 670MX/PCIe/SSE2
:ya2: 19:22:32 shader: 4.50
:ya2: 19:22:32 4.5.0 NVIDIA 375.66
:ya2: 19:22:32 driver version: 4.5
:ya2: 19:22:32 fullscreen: False
:ya2: 19:22:32 resolution: 1280x720

AI quality went way down

In 0.7.0, AI was near perfect as far as a racing game goes.
In 0.8.0, it would often slide, but nothing catastrophically bad.
In 0.10.0, I saw two AIs take two other AIs and themselves out on the start straight of Dubai. I lapped most of the AIs even though I had a couple of crashes myself, some even ending up with me respawning and/or looking the wrong way. Most of the AIs were busy swerving all over the road and/or doing donuts.

Yorg on a Raspberry Pi 3B

I was playing around with a Raspberry Pi 3+ and Panda3D and was wondering whether Yorg would run, unfortunately it already fails when I run the scons command.

I get the following output:

scons: Reading SConscript files ...
TypeError: sequence item 0: expected str instance, bytes found:
  File "/home/pi/yorg/SConstruct", line 2:
    from yyagl.build.build import extensions, files, img_tgt_names, \
  File "/home/pi/yorg/yyagl/build/build.py", line 100:
    branch = branch2ver[__branch()] if __branch() in branch2ver else __branch()
  File "/home/pi/yorg/yyagl/build/build.py", line 21:
    return exec_cmd('git symbolic-ref HEAD').split('/')[-1].strip()
  File "/home/pi/yorg/yyagl/build/build.py", line 17:
    return '\n'.join(ret)

and by naively trying to avoid that error through the means making a string out of the bytes, it fails at this point:

scons: Reading SConscript files ...
  File "/home/pi/yorg/yyagl/build/windows.py", line 78

    SectionEnd'''

               ^

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 1508-1509: truncated \UXXXXXXXX escape

I'm running Panda3D 1.10.2 on Raspbian Stretch with Python 3.5.3 and I tried both master and stable branches w/o change in outcome of the scons command.

Building tracks fails ("couldn't compress" and stacktrace)

Trying to build the assets from source, I get this output:

$ scons tracks=1
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated VariantDir targets: built
bld_tracks(["assets/models/tracks/mountain/track_all.bam", "assets/models/tracks/desert/track_all.bam", "assets/models/tracks/amusement/track_all.bam"], ["yyagl/assets/img_btn.egg", "assets/models/weapons/bonus/WeaponboxAnim-Anim.egg", "assets/models/weapons/bonus/WeaponboxAnim.egg", "assets/models/weapons/turbo/TurboAnim.egg", "assets/models/weapons/turbo/TurboAnim-Anim.egg", "assets/models/weapons/mine/MineAnim-Anim.egg", "assets/models/weapons/mine/MineAnim.egg", "assets/models/weapons/turn/TurnAnim-Anim.egg", "assets/models/weapons/turn/TurnAnim.egg", "assets/models/weapons/rocket/RocketAnim-Anim.egg", "assets/models/weapons/rocket/RocketAnim.egg", "assets/models/tracks/mountain/Pennant2Anim-Anim.egg", "assets/models/tracks/mountain/Store4.egg", "assets/models/tracks/mountain/Bench.egg", "assets/models/tracks/mountain/Poster3.egg", "assets/models/tracks/mountain/Home2.egg", "assets/models/tracks/mountain/Treemountcity1.egg", "assets/models/tracks/mountain/Store5.egg", "assets/models/tracks/mountain/Store3.egg", "assets/models/tracks/mountain/Homemount7.egg", "assets/models/tracks/mountain/Trellis.egg", "assets/models/tracks/mountain/Signroad1.egg", "assets/models/tracks/mountain/Treemountcity2.egg", "assets/models/tracks/mountain/Stationup.egg", "assets/models/tracks/mountain/Chalet2.egg", "assets/models/tracks/mountain/Woodstump.egg", "assets/models/tracks/mountain/Basketfield.egg", "assets/models/tracks/mountain/Wallstone3.egg", "assets/models/tracks/mountain/Homemount3.egg", "assets/models/tracks/mountain/Chalet.egg", "assets/models/tracks/mountain/Home1.egg", "assets/models/tracks/mountain/Streetlamp.egg", "assets/models/tracks/mountain/Pinelow1.egg", "assets/models/tracks/mountain/Wallmount1.egg", "assets/models/tracks/mountain/Pine1.egg", "assets/models/tracks/mountain/Bush3.egg", "assets/models/tracks/mountain/NameBillboard4Anim-Anim.egg", "assets/models/tracks/mountain/Tent.egg", "assets/models/tracks/mountain/Bush1.egg", "assets/models/tracks/mountain/Billboard4.egg", "assets/models/tracks/mountain/Flag1Anim.egg", "assets/models/tracks/mountain/Railing.egg", "assets/models/tracks/mountain/Stationdown.egg", "assets/models/tracks/mountain/Pennant1Anim-Anim.egg", "assets/models/tracks/mountain/CablewayAnim-Anim.egg", "assets/models/tracks/mountain/Poster4.egg", "assets/models/tracks/mountain/Toiletcamping.egg", "assets/models/tracks/mountain/Wallmount2.egg", "assets/models/tracks/mountain/Wallgrid.egg", "assets/models/tracks/mountain/Store2.egg", "assets/models/tracks/mountain/Cableway2Anim-Anim.egg", "assets/models/tracks/mountain/Guardraillinear.egg", "assets/models/tracks/mountain/Roulotte.egg", "assets/models/tracks/mountain/Store1.egg", "assets/models/tracks/mountain/Roulotte2.egg", "assets/models/tracks/mountain/Treemont3.egg", "assets/models/tracks/mountain/Homemount5.egg", "assets/models/tracks/mountain/Bush2.egg", "assets/models/tracks/mountain/Factory.egg", "assets/models/tracks/mountain/Fencepole.egg", "assets/models/tracks/mountain/Footballfield.egg", "assets/models/tracks/mountain/Cableway2Anim.egg", "assets/models/tracks/mountain/Trafficlight.egg", "assets/models/tracks/mountain/Fenceplank.egg", "assets/models/tracks/mountain/Pinelow2.egg", "assets/models/tracks/mountain/HotairballonAnim.egg", "assets/models/tracks/mountain/Treemont1.egg", "assets/models/tracks/mountain/Stone1.egg", "assets/models/tracks/mountain/Signroad4.egg", "assets/models/tracks/mountain/Hurdles.egg", "assets/models/tracks/mountain/Homemount8.egg", "assets/models/tracks/mountain/Tent4.egg", "assets/models/tracks/mountain/Signroad3.egg", "assets/models/tracks/mountain/Greasypole.egg", "assets/models/tracks/mountain/Townhall.egg", "assets/models/tracks/mountain/Pennant2Anim.egg", "assets/models/tracks/mountain/Stack1.egg", "assets/models/tracks/mountain/Pennant3Anim.egg", "assets/models/tracks/mountain/Store6.egg", "assets/models/tracks/mountain/collision.egg", "assets/models/tracks/mountain/Clinic.egg", "assets/models/tracks/mountain/NameBillboard4Anim.egg", "assets/models/tracks/mountain/Pennant3Anim-Anim.egg", "assets/models/tracks/mountain/School.egg", "assets/models/tracks/mountain/Tent2.egg", "assets/models/tracks/mountain/HotairballonAnim-Anim.egg", "assets/models/tracks/mountain/Tent3.egg", "assets/models/tracks/mountain/track.egg", "assets/models/tracks/mountain/Pennant1Anim.egg", "assets/models/tracks/mountain/Signroad2.egg", "assets/models/tracks/mountain/Homemount1.egg", "assets/models/tracks/mountain/Home4.egg", "assets/models/tracks/mountain/Homemount6.egg", "assets/models/tracks/mountain/Bushground1.egg", "assets/models/tracks/mountain/Church.egg", "assets/models/tracks/mountain/Home3.egg", "assets/models/tracks/mountain/Bushground2.egg", "assets/models/tracks/mountain/Homemount2.egg", "assets/models/tracks/mountain/Tablepicnic.egg", "assets/models/tracks/mountain/Treemont2.egg", "assets/models/tracks/mountain/Gasstation.egg", "assets/models/tracks/mountain/Boxcar.egg", "assets/models/tracks/mountain/CablewayAnim.egg", "assets/models/tracks/mountain/Flag1Anim-Anim.egg", "assets/models/tracks/mountain/Homemount4.egg", "assets/models/tracks/mountain/Stepgarden.egg", "assets/models/tracks/mountain/Pine2.egg", "assets/models/tracks/mountain/Stone2.egg", "assets/models/tracks/mountain/Tuftsgrass1.egg", "assets/models/tracks/mountain/Bushground3.egg", "assets/models/tracks/mountain/Lampdesert.egg", "assets/models/tracks/desert/Palm.egg", "assets/models/tracks/desert/Poster3.egg", "assets/models/tracks/desert/Home2.egg", "assets/models/tracks/desert/Palm2.egg", "assets/models/tracks/desert/Homedesert8Anim.egg", "assets/models/tracks/desert/Homedesert2Anim.egg", "assets/models/tracks/desert/Plant4.egg", "assets/models/tracks/desert/Wallstone3.egg", "assets/models/tracks/desert/Homedesert2Anim-Anim.egg", "assets/models/tracks/desert/Home1.egg", "assets/models/tracks/desert/Homedesert8.egg", "assets/models/tracks/desert/NameBillboard4Anim-Anim.egg", "assets/models/tracks/desert/Tree.egg", "assets/models/tracks/desert/Tent.egg", "assets/models/tracks/desert/Billboard4.egg", "assets/models/tracks/desert/Palm4.egg", "assets/models/tracks/desert/Wallstone.egg", "assets/models/tracks/desert/Homedesert2.egg", "assets/models/tracks/desert/Well.egg", "assets/models/tracks/desert/Lampdesert1.egg", "assets/models/tracks/desert/Roulotte.egg", "assets/models/tracks/desert/Plant3.egg", "assets/models/tracks/desert/Roulotte2.egg", "assets/models/tracks/desert/Homedesert5.egg", "assets/models/tracks/desert/Electricwire1.egg", "assets/models/tracks/desert/Stone.egg", "assets/models/tracks/desert/Fencepole.egg", "assets/models/tracks/desert/Electricpole.egg", "assets/models/tracks/desert/Fenceplank.egg", "assets/models/tracks/desert/Homedesert6.egg", "assets/models/tracks/desert/Homedesert7.egg", "assets/models/tracks/desert/Stone1.egg", "assets/models/tracks/desert/Tree2.egg", "assets/models/tracks/desert/Tent4.egg", "assets/models/tracks/desert/Wallstone2.egg", "assets/models/tracks/desert/Homedesert8Anim-Anim.egg", "assets/models/tracks/desert/Milestone.egg", "assets/models/tracks/desert/Poster.egg", "assets/models/tracks/desert/collision.egg", "assets/models/tracks/desert/Homedesert5Anim-Anim.egg", "assets/models/tracks/desert/NameBillboard4Anim.egg", "assets/models/tracks/desert/Homedesert3.egg", "assets/models/tracks/desert/Tent2.egg", "assets/models/tracks/desert/Tent3.egg", "assets/models/tracks/desert/track.egg", "assets/models/tracks/desert/Home4.egg", "assets/models/tracks/desert/Homedesert4.egg", "assets/models/tracks/desert/Palm3.egg", "assets/models/tracks/desert/Home3.egg", "assets/models/tracks/desert/Homedesert5Anim.egg", "assets/models/tracks/desert/Plant.egg", "assets/models/tracks/desert/Plant2.egg", "assets/models/tracks/desert/Homedesert.egg", "assets/models/tracks/desert/Gasstation.egg", "assets/models/tracks/desert/Poster2.egg", "assets/models/tracks/amusement/FerriswheelAnim.egg", "assets/models/tracks/amusement/Store4.egg", "assets/models/tracks/amusement/BalloonsAnim.egg", "assets/models/tracks/amusement/VertigoAnim.egg", "assets/models/tracks/amusement/Houseofhorrors.egg", "assets/models/tracks/amusement/LampPark.egg", "assets/models/tracks/amusement/Home2.egg", "assets/models/tracks/amusement/RollercoasterAnim.egg", "assets/models/tracks/amusement/CarouselhorsesAnim-Anim.egg", "assets/models/tracks/amusement/LakeLunaParkAnim.egg", "assets/models/tracks/amusement/VertigoAnim-Anim.egg", "assets/models/tracks/amusement/Store5.egg", "assets/models/tracks/amusement/MirrorHouseAnim.egg", "assets/models/tracks/amusement/KickAssAnim-Anim.egg", "assets/models/tracks/amusement/StuntwaterAnim.egg", "assets/models/tracks/amusement/Fountainpark.egg", "assets/models/tracks/amusement/GoldrakeAnim-Anim.egg", "assets/models/tracks/amusement/StoreLunaPark5.egg", "assets/models/tracks/amusement/DodgemAnim.egg", "assets/models/tracks/amusement/Firecircle.egg", "assets/models/tracks/amusement/Homemount3.egg", "assets/models/tracks/amusement/FishCarousel.egg", "assets/models/tracks/amusement/Cannoncircus.egg", "assets/models/tracks/amusement/Hammer.egg", "assets/models/tracks/amusement/Home1.egg", "assets/models/tracks/amusement/Streetlamp.egg", "assets/models/tracks/amusement/Pinelow1.egg", "assets/models/tracks/amusement/CarouselhorsesAnim.egg", "assets/models/tracks/amusement/NameBillboard4Anim-Anim.egg", "assets/models/tracks/amusement/Bush1.egg", "assets/models/tracks/amusement/Billboard4.egg", "assets/models/tracks/amusement/FerriswheelAnim-Anim.egg", "assets/models/tracks/amusement/Cage.egg", "assets/models/tracks/amusement/GalleonAnim.egg", "assets/models/tracks/amusement/KickAssAnim.egg", "assets/models/tracks/amusement/StoreLunaPark1.egg", "assets/models/tracks/amusement/StoreLunaPark6.egg", "assets/models/tracks/amusement/GalleonAnim-Anim.egg", "assets/models/tracks/amusement/Treemont3.egg", "assets/models/tracks/amusement/Slide.egg", "assets/models/tracks/amusement/MirrorHouseAnim-Anim.egg", "assets/models/tracks/amusement/Fencepole.egg", "assets/models/tracks/amusement/StoreLunapark2.egg", "assets/models/tracks/amusement/ElasticTrampoline.egg", "assets/models/tracks/amusement/EnterpriseAnim-Anim.egg", "assets/models/tracks/amusement/Fenceplank.egg", "assets/models/tracks/amusement/Pinelow2.egg", "assets/models/tracks/amusement/Treemont1.egg", "assets/models/tracks/amusement/BalloonsAnim-Anim.egg", "assets/models/tracks/amusement/EnterpriseAnim.egg", "assets/models/tracks/amusement/StoreLunaPark4.egg", "assets/models/tracks/amusement/Store6.egg", "assets/models/tracks/amusement/collision.egg", "assets/models/tracks/amusement/Wallroadside.egg", "assets/models/tracks/amusement/BenchPark.egg", "assets/models/tracks/amusement/StuntwaterAnim-Anim.egg", "assets/models/tracks/amusement/NameBillboard4Anim.egg", "assets/models/tracks/amusement/RollercoasterAnim-Anim.egg", "assets/models/tracks/amusement/Trashcan.egg", "assets/models/tracks/amusement/DodgemAnim-Anim.egg", "assets/models/tracks/amusement/track.egg", "assets/models/tracks/amusement/Homemount1.egg", "assets/models/tracks/amusement/Home4.egg", "assets/models/tracks/amusement/Circus.egg", "assets/models/tracks/amusement/Home3.egg", "assets/models/tracks/amusement/WallsidePark.egg", "assets/models/tracks/amusement/BridgePark.egg", "assets/models/tracks/amusement/Homemount2.egg", "assets/models/tracks/amusement/Treemont2.egg", "assets/models/tracks/amusement/LakeLunaParkAnim-Anim.egg", "assets/models/tracks/amusement/GoldrakeAnim.egg", "assets/models/tracks/amusement/Homemount4.egg", "assets/models/tracks/amusement/Clownbillboard.egg", "assets/models/tracks/amusement/StoreLunaPark3.egg", "assets/models/cars/capsule.egg", "assets/models/cars/phoibe/wheel.egg", "assets/models/cars/phoibe/cardamage2.egg", "assets/models/cars/phoibe/car.egg", "assets/models/cars/phoibe/capsule.egg", "assets/models/cars/phoibe/cardamage1.egg", "assets/models/cars/iperion/wheel.egg", "assets/models/cars/iperion/cardamage2.egg", "assets/models/cars/iperion/car.egg", "assets/models/cars/iperion/capsule.egg", "assets/models/cars/iperion/cardamage1.egg", "assets/models/cars/iapeto/wheelfront.egg", "assets/models/cars/iapeto/cardamage2.egg", "assets/models/cars/iapeto/wheelrear.egg", "assets/models/cars/iapeto/car.egg", "assets/models/cars/iapeto/capsule.egg", "assets/models/cars/iapeto/cardamage1.egg", "assets/models/cars/kronos/wheel.egg", "assets/models/cars/kronos/cardamage2.egg", "assets/models/cars/kronos/car.egg", "assets/models/cars/kronos/capsule.egg", "assets/models/cars/kronos/cardamage1.egg", "assets/models/cars/rea/wheel.egg", "assets/models/cars/rea/cardamage2.egg", "assets/models/cars/rea/car.egg", "assets/models/cars/rea/capsule.egg", "assets/models/cars/rea/cardamage1.egg", "assets/models/cars/diones/wheel.egg", "assets/models/cars/diones/cardamage2.egg", "assets/models/cars/diones/car.egg", "assets/models/cars/diones/capsule.egg", "assets/models/cars/diones/cardamage1.egg", "assets/models/cars/themis/wheel.egg", "assets/models/cars/themis/cardamage2.egg", "assets/models/cars/themis/car.egg", "assets/models/cars/themis/capsule.egg", "assets/models/cars/themis/cardamage1.egg"])

Writing assets/models/weapons/bonus/WeaponboxAnim-Anim.bam

  couldn't compress TEXWeaponboxAnim
  Writing /home/akien/tmp/yorg/assets/models/weapons/bonus/tex/TEXWeaponboxAnim.txo
  couldn't compress GLOSSWeaponboxAnim
  Writing /home/akien/tmp/yorg/assets/models/weapons/bonus/tex/GLOSSWeaponboxAnim.txo
Writing assets/models/weapons/bonus/WeaponboxAnim.bam

  couldn't compress TEXTurbo
  Writing /home/akien/tmp/yorg/assets/models/weapons/turbo/tex/TEXTurbo.txo
Writing assets/models/weapons/turbo/TurboAnim.bam

Writing assets/models/weapons/turbo/TurboAnim-Anim.bam

Writing assets/models/weapons/mine/MineAnim-Anim.bam

  couldn't compress TEXMine
  Writing /home/akien/tmp/yorg/assets/models/weapons/mine/tex/TEXMine.txo
Writing assets/models/weapons/mine/MineAnim.bam

Writing assets/models/weapons/turn/TurnAnim-Anim.bam

[...]

Writing assets/models/cars/themis/car.bam

Writing assets/models/cars/themis/capsule.bam

  couldn't compress TEXCardamage1
  Writing /home/akien/tmp/yorg/assets/models/cars/themis/tex/TEXCardamage1.txo
  couldn't compress GLOSSCar
  Writing /home/akien/tmp/yorg/assets/models/cars/themis/tex/GLOSSCar.txo
Writing assets/models/cars/themis/cardamage1.bam
Traceback (most recent call last):
  File "yyagl/build/process_track.py", line 38, in <module>
    eng = Engine(Conf())
  File "/home/akien/tmp/yorg/yyagl/engine/engine.py", line 29, in __init__
    Profiler(cfg.python_profiling, cfg.python_profiling_percall)
AttributeError: 'Conf' object has no attribute 'python_profiling_percall'
Traceback (most recent call last):
  File "yyagl/build/process_track.py", line 38, in <module>
    eng = Engine(Conf())
  File "/home/akien/tmp/yorg/yyagl/engine/engine.py", line 29, in __init__
    Profiler(cfg.python_profiling, cfg.python_profiling_percall)
AttributeError: 'Conf' object has no attribute 'python_profiling_percall'
Traceback (most recent call last):
  File "yyagl/build/process_track.py", line 38, in <module>
    eng = Engine(Conf())
  File "/home/akien/tmp/yorg/yyagl/engine/engine.py", line 29, in __init__
    Profiler(cfg.python_profiling, cfg.python_profiling_percall)
AttributeError: 'Conf' object has no attribute 'python_profiling_percall'
scons: done building targets.

Commit: 7a9e409
Panda3D version: 1.9.4.
OS: Mageia 6 (Linux), x86_64, Python 2.7.13

Feature: First person view

A first person view, including a view of the wheel etc, would be great.

I used to play garry's Mod Racer, a gamemode for Garry's Mod. I think this game works as a FOSS equivalent if it had first person view (And also buggies for cars, but that's beyond the scope of this github issue). Here's some gameplay of Gmod racer (it's third person view but it can be first person: https://invidious.snopyta.org/watch?v=yxNtED9u9_U

Multiplayer doesn't work

Playing on latest git master on Guix System using the Linux compilation instructions.

In my client, the other player's car doesn't move, and in the other player's client, my car doesn't move.

Car wheels behaviour looking strange

Look and especially the behaviour of wheels on the cars is a bit unnatural. Looking at a random video of yorg on youtube this may be something only my system/configuration is suffering from. Anyway, video is worth thousand words..

yorg_wheels.mp4

Latest master, Xorg, Arch Linux 64bit, GPU: Nvidia 750Ti with closed-source driver

Takes a long time to load the track

I tried both 0.6.0 and 0.7.0 and both take a long time (over a minute, closer to several) to load a track. My computer is not a toaster:

8 GB RAM
Intel i5 @2.30 Ghz
AMD Radeon 6630M

Physics: make cars heavier

The game is already fun to play but I would prefer it if the cars are a bit heavier so they won't jump too far and won't flip over that easily. Would it be possible to adjust the weight/gravity so it feels a bit more like a car and not like a balloon 😄

Creating AppImage on Ubuntu 22.04 fails

Hi there, it seems that "manylinux1" has become deprecated with Python 3.10 and it's now expecting manylinux2014 instead. This was fixed easily enough by replacing manylinux1 by manylinux2014 in the following files.

  • setup.py
  • yyagl/build/appimage.py
  • yyagl/build/linux.py
  • yyagl/build/deployng.py
  • yyagl/build/flatpak.py

Presumably, this fixed Flatpak builds as well, but I didn't test that.

Yorg 0.10.0 failed on race start

Current behaviors

  1. Launch Yorg;
  2. Choose "Single race" mode;
  3. Select the track;
  4. Select the car;
  5. Select driver;
  6. Window show "LOADING.." screen for few seconds, then Yorg fully failed.

Here is full breakdown log:

System details

Yorg Version: 0.10.0 (binary build yorg-0.10.0-linux_amd64 taken from itch.io page)

PC:

  • OS: MX 17 Horizon x86_64 (aka Debian 9.x)
  • Kernel: 4.15.0-1-amd64
  • RAM: 1743MiB
  • DE: Xfce
  • WM: Xfwm4
  • CPU: Intel Pentium Dual T2330 (2) @ 1.600GHz
  • GPU: AMD ATI Radeon Xpress 1250

Cannot build on Debian / SteamOS

Hi, professorkaos64 from /r/linux_gaming here. Attempted a build using scons, with no luck. But snipped and log is below. What would help is, if you listed the packages or libraries needed for building, even if just "SDL 2".

make[1]: Entering directory '/build/yorg-0.6.0+git+bsos'
scons linux_64=1 images=1 lang=1 tracks=1
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated VariantDir targets: built
bld_images(["assets/images/icons/pinterest_png.png", "assets/images/icons/google_plus_png.png", "assets/images/icons/youtube_png.png", "assets/images/icons/tumblr_png.png", "assets/images/icons/facebook_png.png", "assets/images/icons/twitter_png.png", "assets/images/icons/feed_png.png", "assets/images/icon/icon16_png.png", "assets/images/icon/icon48_png.png", "assets/images/icon/icon32_png.png", "assets/images/icon/icon256_png.png", "assets/images/icon/icon128_png.png"], ["assets/images/icons/pinterest_png.psd", "assets/images/icons/google_plus_png.psd", "assets/images/icons/youtube_png.psd", "assets/images/icons/tumblr_png.psd", "assets/images/icons/facebook_png.psd", "assets/images/icons/twitter_png.psd", "assets/images/icons/feed_png.psd", "assets/images/icon/icon16_png.psd", "assets/images/icon/icon48_png.psd", "assets/images/icon/icon32_png.psd", "assets/images/icon/icon256_png.psd", "assets/images/icon/icon128_png.psd"])
scons: *** [assets/images/icons/pinterest_png.png] ValueError : invalid literal for int() with base 10: '1:'
Traceback (most recent call last):
  File "/usr/lib/scons/SCons/Action.py", line 1064, in execute
    result = self.execfunction(target=target, source=rsources, env=env)
  File "/build/yorg-0.6.0+git+bsos/yyagl/build/imgs.py", line 6, in bld_images
    map(__bld_img, [str(src) for src in source])
  File "/build/yorg-0.6.0+git+bsos/yyagl/build/imgs.py", line 18, in __bld_img
    alpha, size = __img_alpha_size(fname)
  File "/build/yorg-0.6.0+git+bsos/yyagl/build/imgs.py", line 13, in __img_alpha_size
    return alpha, [int(dim) for dim in dim_split(geom)]
ValueError: invalid literal for int() with base 10: '1:'
scons: building terminated because of errors.

Log: http://sprunge.us/IZMX

Keyboard-Input doesn't work

I recently installed the game on arch-linux via the installer provided on itch.io. The game starts and I can start a race via mouse input but the keyboard inputs don't work except for Escape and 'r'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.