KartKraft

KartKraft

Build 0.1.0.1696 is now live! (Telemetry update)

34 Rate up
Share
< >
13 Comments
WaKeR May 15 @ 11:45pm 
Need fixe custom resolution in Windowed Full Screen Please. I have 3 screen 2k ... 7680x1440p ... But I want play in 5120x1440p centered position of course...
And in this resolution, Need correct placement camera in First Person.
Good Game ! Fun !
Kranky Pantz May 11 @ 12:46am 
@KartKraft
The SimTools plugin is now available on x-simulator.
https://www.xsimulator.net/community/marketplace/kartkraft-plugin.228/

Motion data:
This plugin provides pitch, roll, yaw and surge, sway and heave acceleration.

DashApp Data:
Speed, RPM, Gear, Position, Lap, Lap Time, Total Laps

Thanks to all involved in making this happen!!!
KartKraft  [developer] May 10 @ 10:13pm 
@Lordka OCULUS VR: Although the update may appear like our focus is elsewhere, online multiplayer is being worked on by other members of the development team.
KartKraft  [developer] May 10 @ 10:12pm 
@Kranky Pantz - You can find the example plugin for SimTools here: https://github.com/black-delta/kartkraft-simtools

We are working with SimTools to add official support for KartKraft also.
Kranky Pantz May 10 @ 9:29am 
Excellent news!
But, where is the SimTools plugin located?
I have a DIY motion platform which uses SimTools, and I don't see a plugin available for download yet.
Keir  [developer] May 10 @ 12:21am 
Lordka OCULUS VR : Multiple devices will be supported. Please be patient, we are in early access. Features will be released gradually.
Keir  [developer] May 9 @ 9:26pm 
In addition, the existence of UDP telemetry output does not necessarily exclude the possibility of also providing shared memory access. We're considering this and listening to people like yourself for feedback so thanks for that. If you want to discuss in more detail definitely jump on to our Discord for some live chatting. We're really trying to look to what the future might allow, rather than the past. Extreme connectivity, usability and extensibility is important to us - we're not rigid and inflexible so we're definitely open to anybody's suggestions on what the ultimate modern racing sim would look like and what features it would offer.
Keir  [developer] May 9 @ 9:26pm 
Hi Wronex - thanks for the feedback. We are in early access so nothing is set in stone yet. UDP isn't inherently single client so we'll be working to try and ensure we solve the widest possible number of use-cases as best we can. We do want the ability to stream over networks to multiple devices and UDP is a nice way to achieve that aim.

Obviously there are trade-offs with adding a library dependency (Flatbuffers), we understand that and feel it's worthwhile providing very easy access across a range of languages initially. Lines of code does not necessarily equal complexity however so I'm not sure that argument holds. We're really trading a few kb of space in your resulting executable for external programming effort/time. We're a new game and we're trying new things, rather than sticking to old school ways of doing things. Nothing ventured nothing gained right? In any case, we may yet offer a raw C struct output if enough people have serious concerns over code bloat.


Lordka OCULUS VR May 9 @ 8:23pm 
on s'en bat les couilles de la telemetry le multi est plus urgent. qu'attendez vous♥♥♥♥♥♥♥♥?? cest quoi ces developpeur serieusement
Wronex May 9 @ 8:54am 
Telemetry is a very nice addition to KartKraft! Thanks

However, your implementation is flawed. It is too complicated and too limited.

Too limited: it allows a single client. Users interested in Telemetry will run more than a single app. Common apps that work together: motion systems, fanaleds, bas shakers.

Too complicated: it requires FlatBuffers. Telemetry consumers add support for a great number of different games. Each game has its own version of telemetry with its own protocol and quirks. Now imagine if each protocol required a library such as FlatBuffers with ~9'000 lines of code. For fanaleds that would mean 270'000 lines of code for the 30+ games they support.

There is a very neat solution to this problem: shared memory and a single C struct. It supports any number of clients. Backwards and forwards compatibility is achieved by using a single struct and by only adding new members to the end. Members are never removed but marked as deprecated. Nested structs are not allowed.