Mario Kart PC
I don't know if you've heard of Mario Kart Source, but it was a project to try and port the best bits of the Mario Kart games to the Source engine (durr). Unfortunately, due to real life happening, the development slowed down so far that it all but stopped. Then, the project was "opened". Nothing changed. Finally, the devs just said "Look, enough is enough. Let's stop. At least we can say that we tried."
Then, a few months later, some guy (say, he looks familiar) comes along and says "I could help, are you sure that you want to give up? Try this engine, it might be easier/better."
"Nope", they said, "but here's all the stuff. Have fun!"
Anyone feel like taking it on with me? I don't know any of the C family very well AT ALL, unless you count Java. I can model a bit, but not fantastically. However, I am fairly good with the Unity3D engine and the UnityScript/JavaScript that it uses. It'll also understand C# and Boo, whatever that is.
Also, one of the coders from the original project has said that he wished that it could have been finished, so we'd have a bit of a link to the old team if we could get him to join any team that we started, which I think is no bad thing.
Related: The old forums had a mods section. This board has a release section, but nothing to discuss development.
Interesting idea, and I'm sad to hear the MK:S officially died. I wish I could help, but I'm not fluent in C++ and don't have the initiative to take that on in addition to my other 3 or 4 pressing projects right now.
Anyway, good luck with it, I do want to see this as a finished thing someday!
Pilchard123 wrote:
Hoo...Well, I think I've got red and green shells as far as targeting goes. However, I haven't yet made any karts or tracks. Perhaps I should have done those first. Proof-of-concept for battle mode or whatever it's called coming soon.
modding? if so I plan to build the most badass Bowser's Castle ever.
Long story short: I'd be very happy for you to make maps, but I haven't worked out how the maps are going to be laid out yet so you can't. I'm also not sure how you could test the maps. It might be possible by compiling with just the bare minimum of assets in a standalone map-testing version.
If this will allow modding I shall make a Aperture track course 
- Broken Biochambers (Broken themed)
- Tactical Testing (Clean themed)
- Underground Utopia (Underground themed)
- Wheatley's Whiplash (Wheatley themed)
vanSulli wrote:
I believe what his previous post stated was that modding would be difficult and costly to implement at best and that it would be clunky and hard to use for modders and mod consumers.
I get that, but if he built things off of maps files and txt files it would make his life much simpler.
For example, if he wants to make a randomizer for a map setup, he could load a random amount of the total amount of race map files and link them together, instead of having to hardcode it all. This would allow for custom stuff to be implemented into the system and also would be update-friendly.
Or he could just do it .bns style.
What's a .bns? One of these?
EDIT: The patcher seems to work and isn't that pushy with advertising. I didn't notice it when I first tested it.
Anyone mind if I use this thread as a pseudo-dev-blog? It'll help if I keep notes and I might also get to see what you think if how I do stuff. I probably wouldn't have thought of external map files on my own.
Pilchard123 wrote:
I've found a patch creator that might work and is free, although it has an advert splash for the company that makes it unless I buy it. External map files might be a good idea, I'll have look into it. Normally "scenes", or levels/menus/etc, are compressed or compiled to some format that I don't know much about. If I could make a generic map that loads the data in from an external text file or something. I'm not sure how I'd be able to bring in any new models without a rebuild though.What's a .bns? One of these?
EDIT: The patcher seems to work and isn't that pushy with advertising. I didn't notice it when I first tested it.
Yes, that's what I meant by .bns.
Whenever a kart crosses the finish line in the correct direction, it needs to be recognised that it has completed one lap of the course.
To that end, at the line there will be two very thin triggers that cannot be missed. I'll call them A and B. A and B will be positioned next to each other such that both must be travelled through, or neither will be. The finish line will be the boundary between the two boxes, like so:
BBBBBBBBBBBBBBBBBBBBBB
------------------------------- karts travel up the screen
AAAAAAAAAAAAAAAAAAA
Karts themselves will have two values stored (probably in a race manager on the server rather than the kart itself): the number of laps (L) required, and a value (M) which I shall call the metric but probably should be called something else. At the start of each race, L will be one higher than the required number of laps for that race. M will be zero.
Upon passing through A, M will be reduced by 1.
Upon passing through B, M will be increased by 1.
Upon passing though A or B, L will be changed by M.
This way, whenever a kart crosses the line in the correct direction, it will pass though A then B. M will be zero, and L will be an integer with either sign. I'll assume 2.
It passes through A, and L = 2 + 0 = L0; M = 0 - 1 = -1
It passes through B, and L = 2 + -1 = 1; M = -1 + 1 = 0
At the end of the procedure, L is reduced by one and M remains unchanged.
If it then travels in the wrong direction B->A:
It passes through B, and L = 1 + 0 = 1; M = 0 + 1 = 1
It passes through A, and L = 1 + 1 = 2; M = 0 - 1 = 0
At the end of the procedure, L is increased by one and M remains unchanged.

In this track, the triggers would touch both walls next to the line, not just the track.
Pilchard123 wrote:
Yep, it's taken me three weeks to work this out and it still isn't quite finished.Whenever a kart crosses the finish line in the correct direction, it needs to be recognised that it has completed one lap of the course.
To that end, at the line there will be two very thin triggers that cannot be missed. I'll call them A and B. A and B will be positioned next to each other such that both must be travelled through, or neither will be. The finish line will be the boundary between the two boxes, like so:
BBBBBBBBBBBBBBBBBBBBBB
------------------------------- karts travel up the screen
AAAAAAAAAAAAAAAAAAAKarts themselves will have two values stored (probably in a race manager on the server rather than the kart itself): the number of laps (L) required, and a value (M) which I shall call the metric but probably should be called something else. At the start of each race, L will be one higher than the required number of laps for that race. M will be zero.
Upon passing through A, M will be reduced by 1.
Upon passing through B, M will be increased by 1.
Upon passing though A or B, L will be changed by M.This way, whenever a kart crosses the line in the correct direction, it will pass though A then B. M will be zero, and L will be an integer with either sign. I'll assume 2.
It passes through A, and L = 2 + 0 = L0; M = 0 - 1 = -1
It passes through B, and L = 2 + -1 = 1; M = -1 + 1 = 0
At the end of the procedure, L is reduced by one and M remains unchanged.If it then travels in the wrong direction B->A:
It passes through B, and L = 1 + 0 = 1; M = 0 + 1 = 1
It passes through A, and L = 1 + 1 = 2; M = 0 - 1 = 0
At the end of the procedure, L is increased by one and M remains unchanged.
Why not just have trigger A turn trigger B on, then when B is triggered turn A and B off until the player has gone at least halfway through the course (via trigger C) then turn A on again.
I also liked how you happened to call the vars L and M given what we're talking about lol
[code:13pigddz]laps = 0 //laps completed
checkpoints = 3 //total number of checkpoints in level
checkpoint = 0 //index starts on 0. last checkpoint will be (checkpoints - 1). the last checkpoint the player passed
for(i=0,i<checkpoints,i++) { //loop through every checkpoint
n = i-1 //the checkpoint a player should be at to pass checkpoint i
if (i == 0) {n = checkpoints-1} //if you are checking the first checkpoint, test the last checkpoint (instead of the -1st checkpoint)
if (OnPass(i) and checkpoint == n) { //if player passes next checkpoint...
checkpoint++; //go forward a checkpoint
if (checkpoint == checkpoints) {checkpoint=0} if you have exceeded the total number of checkpoints, go back to the first one
}
}[/code:13pigddz]
This won't actually do anything ofc; I just wrote it to show the logic.