Calculator Street Racing II: Evolution

Original announcement post can be found here



13/13 Planned cars complete, 6/6 Planned Events complete.

Out Now!

Available here: http://ceme.tech/DL2307

CSRacing II Car Studio coming soon.



Original Post:

Like the original CSRacing, CSRacing II: Evolution is a drag racing game written in pure TI-BASIC. For now...

In this sequel, I'm seeking to improve on the racing engine, tuning, and customization aspects of the game., along with a graphics overhaul in both races and menus. However, the game will not feature the original's crew battle mode. In its place, I'm working on a time trials mode (allowing for asynchronous multiplayer) and potentially a tournament mode.


So far, I've gotten the tachometer functional, and have finished about 70% of the work on the menus. Things like the tuning system and Car Dealership are not yet complete, while other features such as the paintshop are essentially complete.


There's also been a bunch of tweaks made to the engine: Opponent cars can now appear in different colors than just black (unlike Deluxe), the infamous "car trails" from the original have been removed, the drag strip is 3x longer to make use of the CE's increased screen resolution, Losing a race no longer ends it immediately but instead waits until you cross the finish line, among other things.



There is currently only one functional car, the 2009 Focus RS, but this will be expanded to at least six total cars by the time the game is finished- two for each tier.

If you'd like to play the game or just poke holes in my code (I've included a .txt version from SC3 alongside the .8xp this time), you can find the GitHub for the project here: https://github.com/NinjaWeedle/CSRacing-Evolution
I like the new look of the racing track Smile
Great work so far! It looks like you're taking very good advantage of color and the faster speed, and I'm looking forward to seeing what else you can do with it. That use of the split graph/homescreen view is clever, as well.

You mentioned customization and tuning improvements. Could you elaborate on those a bit? I know that gear ratios and final drive are one of the planned tuning improvements, but expect that's a pretty small amount of what you have in mind. You can hold off a bit on answering this as well if you want, as I expect you'll have a post on everything later.

Looking forward to more updates! This is really pushing the limits of TI-Basic and it'll be great to see it completed. And then, people like the one reviewing DR0VE won't have to wait for the Pixel Car Racer-like game for the CE anymore...
epsilon5 wrote:
Great work so far! It looks like you're taking very good advantage of color and the faster speed, and I'm looking forward to seeing what else you can do with it. That use of the split graph/homescreen view is clever, as well.

You mentioned customization and tuning improvements. Could you elaborate on those a bit? I know that gear ratios and final drive are one of the planned tuning improvements, but expect that's a pretty small amount of what you have in mind. You can hold off a bit on answering this as well if you want, as I expect you'll have a post on everything later.

Looking forward to more updates! This is really pushing the limits of TI-Basic and it'll be great to see it completed. And then, people like the one reviewing DR0VE won't have to wait for the Pixel Car Racer-like game for the CE anymore...


Well, The main idea is to split CSRacing I's Linear upgrade system into multiple components: Tires, Transmission, Engine, and Weight. With an upgraded transmission, You'll be able to set your own gear /final drive ratios.
I'm currently working on figuring out how I'm going to implement traction at the start of races.
Currently, I haven't implemented any of this advanced tuning quite yet. I did technically add a 4th tuning stage, Drag, to the tuning menu, but that likely wont last.

In terms of customization improvements, I've made one big improvement over CSRacing deluxe: paintjobs now persist across changing cars, as the car color saves to the main save file now (LCSE) rather than just the car file (LCAE).

However, I must admit I'm running into a big problem: I'm running out of real variables to use during races. The only two real vars I have left are X and Y, and I've already used recursive n. Anyone know of any other finance vars I could abuse?

Anyway, I figure this is as good a time as ever to say that the next mode I'm working on is Time Trials. I've reasoned out a way to do time trials ghosts utilizing the times, which is where that asynchronous multiplayer thing I was talking about earlier comes into play. I'm planning to have a system in which you can your top three times for 6 different races (those being Short/Long Tier 1, Short/Long Tier 2, and Short/Long Tier 3). You'll be able to view these times in the "STATS" menu.

(Also, like last game, any car suggestions are welcome during the span of development)
I've just finished working on the Time Trials mode.

Here's an animated screenshot from CEmu finally:

(Obviously it runs a bit slow as I'm targeting the M+ rev or python CEs and CEmu emulates an older rev)

Time Trials functions how you might expect: You race against a ghost of the best time for your selected tier and track length (set to 999 by default for now, but I'm planning on changing that to my best times once I get further along in development)

I also changed the "STATS" option to "RECORDS", as that screen is where you can view your time trials records.

There's been a bunch of smaller changes in this version (Alpha 5 &5.5), such as the readdition of engine braking (essentially braking by using the transmission- try downshifting at high speeds to experience this) and the removal of recursive n in the code(Will probably use it again later on).

After this, I'm planning on adding another car and starting work on the car dealership.
This project is coming together nicely! The change from "stats" to "records" seemed very reasonable. I can't wait to see how the dealership ends up looking! Also a big fan of the time trail function which was a great Idea.

Keep the good work up!
Oxiti8 wrote:
Well, The main idea is to split CSRacing I's Linear upgrade system into multiple components: Tires, Transmission, Engine, and Weight. With an upgraded transmission, You'll be able to set your own gear /final drive ratios.

Great! That's pretty consistent with most of the drag racing games that I've played before (CSR, Pixel Car Racer, etc.), and it sounds very reasonable. I'm not sure how traction would best be implemented--a lot of games make you heat up your tires before the start of races, so maybe you could do something like that (where the amount they're able to be heated depends on whether they're street tires/race tires/slicks). The paintshop improvements sound pretty good, too.

Oxiti8 wrote:
Time Trials functions how you might expect: You race against a ghost of the best time for your selected tier and track length (set to 999 by default for now, but I'm planning on changing that to my best times once I get further along in development)

Very nice! This sounds like it would be pretty useful for testing your cars out outside of actual races, or just for fastest time competitions later on.

A few cars that I'd like to see in the game, in order of how much I'd like them. I can give you some more as well, if you'd like.
1. Porsche 918 Spyder (preferably Weissach)
2. Porsche 911 GT2 RS
3. Nissan Skyline R33
4. 2014 Audi R8 V10 manual
5. Nissan Silvia S15
6. '69 Chevrolet Camaro Z/28 (which I don't recall seeing on the list of cars earlier, it might be)

Keep up the great work!
epsilon5 wrote:
Oxiti8 wrote:
Well, The main idea is to split CSRacing I's Linear upgrade system into multiple components: Tires, Transmission, Engine, and Weight. With an upgraded transmission, You'll be able to set your own gear /final drive ratios.

Great! That's pretty consistent with most of the drag racing games that I've played before (CSR, Pixel Car Racer, etc.), and it sounds very reasonable. I'm not sure how traction would best be implemented--a lot of games make you heat up your tires before the start of races, so maybe you could do something like that (where the amount they're able to be heated depends on whether they're street tires/race tires/slicks). The paintshop improvements sound pretty good, too.

Oxiti8 wrote:
Time Trials functions how you might expect: You race against a ghost of the best time for your selected tier and track length (set to 999 by default for now, but I'm planning on changing that to my best times once I get further along in development)

Very nice! This sounds like it would be pretty useful for testing your cars out outside of actual races, or just for fastest time competitions later on.

A few cars that I'd like to see in the game, in order of how much I'd like them. I can give you some more as well, if you'd like.
1. Porsche 918 Spyder (preferably Weissach)
2. Porsche 911 GT2 RS
3. Nissan Skyline R33
4. 2014 Audi R8 V10 manual
5. Nissan Silvia S15
6. '69 Chevrolet Camaro Z/28 (which I don't recall seeing on the list of cars earlier, it might be)

Keep up the great work!


Thanks for the car suggestions! The only one of those I've done before was the Skyline R33 in CSRacing I.

The only car I've really finished so far is the 2009 Ford Focus RS, (Much like the 2010 Civic Si in the original, this is what I've been using to test the updated engine) but I'm planning to do the 1974
Lamborghini Countach LP400 next as a sort of contrast to it (High power, low grip vs. Moderate power and moderate grip).

As for how traction works, I'm basically going to reuse the revving system from the original to an extent, but rather than it boosting your mph off the line, it'll affect how much wheelspin you have off the line. It'll be about finding the balance between good grip and good power to have the best launch.

This planned change should also make it a bit easier to get decent launches even if you aren't perfect on the timing, as in the original the perfect start rpm window was very tiny, and the good start window wasnt much bigger.

I'll have more details on that once I get further along in development.
Pre-Beta - Car Dealership implemented



I've been doing a lot of work on this the past few days on the Dealership, now renamed to "Buy Cars".

Cars are sorted not by make but rather by country of origin, and unlike the original game, you not restricted by what day it is- all cars in the dealership can be bought at any time.

I'm also increasing the target car count from 6 to 13 (12 purchasable, 1 prize car).

As part of me implementing the dealership, you no longer start the game with a car already in your garage like in CSRacing 1- instead, you will be able to choose whatever car you want that fits within your initial 25000 CR budget (currently set to 35000 as I haven't added any cars cheap enough toi fit in that budget, namely tier 1 cars).

I've also found a way to speed up the Shade( command at the start of races by turning off the calculator's Detect Asymptote function. However, I am thinking of replacing the Shade( command altogether with a better looking effect for the finish line at some point later on that looks more like, well, a finish line.
Here's some updates on events:


There are two new event categories: Special Events (replacing Tournament) and machine test.

Machine test is very simple: A 8x length race track to test out the top speed of your car. This event has no prize money, but is a great way to test out upgrades.

Special Events are a bit more in depth: It's not just one event, but 6 different ones.



Special Events have specific restrictions in each event.
There are two different types of special events: one single race with restrictions based on car region rather than tier, and the Championship races, which are a set of three back-to-back races that are restricted to whatever tier of car that event is for. The championship races are much like the Crew Battle boss battles from CSRacing 1, but unlike that game, these races happen consecutively- and if you lose one, you have to start back at the first race again.

The unique thing about the special events is that beating them all lands you a prize car that cannot be bought at the car dealer.

Another new thing: Car Specific races and Special Events now take place in a different venue than the usual street you've seen previously- instead, they take place on a drag strip!



The drag strip has a different color palette, and a functional "christmas tree" that counts down to the start of a race.
Beta 1 - Car sprites, a release target, and the long-awaited implementation of the traction mechanics.

With this last update of my summer vacation, I've finally gotten around to finishing two things: the traction/wheelspin mechanics, and the return of the car sprites from the original CSRacing.


You may remember that I once thought it would be impossible to recreate the car sprite from CSRacing 1 during races:

(this one)

However, after some trickery with the graphing window, I managed to substitute the Pxl-On( method used in the original game on the monochrome 84+ with a new Pt-On( method.

I also somewhat brought back another graphical "effect" from the original game: car trails. But whereas the original game pasted these trails across the whole track, CSRacing II uses the effect as a visual indicator for the new wheelspin mechanic.

When you spin your tires, you leave lines of "burnt rubber" on the track- represented by these car trails. Admittedly the effect isn't perfect (I'd like to have the trails be black or dark grey regardless of car color, but I have yet to find a way to pull this off.), but it gets the job done.

The way wheelspin itself works isn't all that complicated: when you have wheelspin, you can't accellerate as fast as when you have full traction. The goal of revving your engine at the start of races is to find the perfect mix of power and grip to get the fastest launch.

There are a few tricks to control wheelspin- First, you can shift into a higher gear earlier than normal to lower the amount of torque delivered to the wheels and thus increasing traction. However, this comes at the cost of a lowered acceleration rate due to upshifting. There is a theoretical technique I call shiftmashing that involves upshifting and downshifting rapidly at the start of races to potentially halve your wheelspin, but it is extremely difficult to pull off.

Secondly, You can also rev less than normal or not rev your engine at all to reduce wheelspin, but this means sacrificing perfect starts and will likely still be slower.

The easiest and most effective way to reduce wheelspin though is to upgrade your tires at the tuning shop. With better tires, you can drastically reduce a car's wheelspin or even virtually eradicate it on some cars. (Note that I haven't actually implemented tuning yet as of Beta 1, but the framework for this is already in place)


Now, as my senior year of high school starts tomorrow, I obviously won't have as much time to work on the game as I have the past 2 months. However, I've gotten a good 55% of the game completed, and if all goes to plan, the game should be ready for release sometime in mid to late September.

Most of the work that's left is creating the opponents for the various events, adding the 10 remaining cars to the game, and potentially one last physics update (maybe aerodynamic drag?).
I spent some time working on a new intro for the game:




Not much else to say, gonna work on a few new cars next.
That looks really cool
Am I the only one to notice that the intro car looks like a green DeLorean? I like it by the way, as well as the other update above
Beta 5 - Tuning is complete!



At long last, I've finally finished tuning. what was once was just 3 upgrade packages in CSRacing 1 is now a set of 3 upgrades for each of the 3 different categories.

Upgrading the engine increases your top speed and acceleration, but slightly hurts grip. Upgrading weight (by removing things) increases acceleration but not top speed. Upgrading tires heavily increases grip.

It's not a super complex system, but it does at a bit more strategy in what to upgrade when.

There is a small bug as you may be able to tell by the screenshot in that weight upgrades actually make the car heavier on the stats panel when applied but that's a visual bug that's going to be fixed next update

I've kind of scrapped gearbox tuning as the ability to set gear ratios would be massively overpowered due to technical reasons.

With that, all that's really left to do is add more cars, and finish special events and Car Specific events. I'll be excited to finally get this game released.

You may have noticed by now that the game is missing a major feature from the first game- custom cars. I do have plans for this- the car creation tool will be its own program. The car creator in CSRacing 1 was quite unintuitive, asking the user to input stats that aren't exactly apparent what as to what they do. With this new program, the experience should be a lot more streamlined. Things like accelleration level will be auto-generated based on given horsepower, torque, and weight values, Presets will be given for the transmission which you can then fine tune, and- most importantly- You'll be able to actually save your custom cars on the calculator this time to 3 dedicated slots.

Like CSRacing 1, Car Creation will still be a late-game unlock, with the unlock conditions being that you have to beat all the special events first.

I guess this breaks the whole "no subprograms thing" but I can't really think of a good place to cram this in the main game- maybe in the tuning menu? (Renaming it from "Tuning" to just "Garage")
I've done a lot of work on Special Events behind the scenes- they now have to be tackled in order initially to unlock the next event (although you can go back and redo previous events)


The event you need to complete to unlock the next one appears in Black text, while previously completed events appear in white text.

Every odd numbered special Event is a single race challenge, whereas every even numbered event is a championship. Championships consist of three races back-to-back. Lose one, and you have to start again with the first race.

Each special event has you facing off against a driver with an actual name, similar to the crew battle mode in CSRacing I. In fact, you may recognize a couple returning names from CSRacing I in some of the events.

I forgot to mention this last post but I again made some graphical changes to the race track:


I really just needed HQ screenshots of this online for a thing
The finish line is now actually white instead of the same color as the road, but I still have yet to find a good way to make it actually "checkered".
Well, I've found a way to checker the finish line:



That means I've now finally managed to recreate every single effect from the monochrome version of CSRacing I on the CE.

I've also added the Delorean DMC-12 and am currently working on Adding the C8 Corvette.

Also, a release date update: If all goes to plan, I should be finally finished with this by September 17th.
How did you do the checkerboard? Also thanks for adding the Delorean DMC-12. Back to the Future is my favorite movie trilogy. Smile
DJ Omnimaga wrote:
How did you do the checkerboard? Also thanks for adding the Delorean DMC-12. Back to the Future is my favorite movie trilogy. Smile


The Checkered pattern is done by first using three Text( commands for the white background. Next, a Pt-On( command is used in two For( loops to create the alternating black dots.

I'm quite pleased with the results.


Code:

For(Y,0,250,250
   Text(~1,51,Y,Str0
   Text(~1,65,Y,Str0
   Text(~1,80,Y,Str0
   TextColor(11
End
...
12
For(Y,14,-8,-1.5
For(X,251,263,3)
If 2fPart(.5(X+2fPart(Y
Pt-On(X,.1Y+.05,Ans
End
End
Here's a quick highlight reel of a bunch of graphics and quality of life changes I've been making:


Machine Test now records your top speed record.


When you reach the max speed allowed in a gear (when your RPM reaches redline), the RPM indicator now flashes red.


Repainting your car now has a neat animation that makes use of a checkerboard pattern to fake transparency.


In preparation for Car Specific events which ban upgrades, you can now sell all your upgrades applied to a car by selecting the "RESET" option in the Tuning menu.

The game also now tells you exactly how many credits you earned from a race by placing a green "+(Cr. amount) below your previous Cr. total at the end of a race.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement