Should I use text sprites for the cars?
Yes! The graphical improvements are worth it.
 66%  [ 2 ]
No, it causes too much slowdown.
 33%  [ 1 ]
Total Votes : 3

Calculator Street Racing (A.K.A CSRacing) - The ultimate drag race.


CURRENT VERSION: V1.3.1, available now on Github, TI-Planet, Here on Cemetech, TI-Basic Dev, and on 30/30 cars available, 4/4 event types playable.

CE version: Available now on GitHub,,
here on Cemetech, and TI-Planet.
Calculator Street Racing, or CSRacing for short, is a pure TI-BASIC drag racing game for the TI-84+ (NOT TI-83+) The game takes heavy inspiration from Custom Street Racing RacingYes that is the actual, full name, a 2012 mobile game by Natural Motion Studios.
The objective of the game is simple: Clear the drag strip faster than your opponent. Rev up your engine for the perfect launch, then shift when the time is right to go as fast as possible.

The game is still in the early alpha stages of development. Multiple cars are planned to appear, such as the Volkswagen Golf GTI and a couple of fantasy ones like the Oxiti Increceba.

I'm challenging myself to use no picvars or libraries for this game, so the visuals you see below aren't all too different to how the release version is planned to look (Minus the garage part of the menus, that's far from done).

Gameplay is also unfinished- I haven't implemented acceleration or transmission yet, but there is the ability to rev, a timer, and some rudimentary AI (The "O" car) included. It's a race, after all!

Like the mobile game CSRacing is based on, A variety of different racing events are planned to be included, from regulation to ladder races. The ability to upgrade your cars is also planned.

That's all I have for now- I'll post some preview builds later this month once the game is in a more playable state.
Cool! Reminds me of the old DOS game 'Street Rod' as well Smile.
Some updates:

- The title screen is a bit more intelligible:

- Cr. (the in-game currency) and auto-save have been implemented - The game saves to a list named "CSR".

- Pressing race now takes you to the new event list. Choosing "regulation" will prompt you to enter a difficulty from 1 to 80 (anything past 80 may result in a DOMAIN error).

- The higher the difficulty, the better the rewards. You'll currently get 500 * Difficulty * Event type (Regulation = 1, Ladder = 2, Crew Battle 3) for winning. You'll still earn a little bit of cash for losing, but don't expect to earn anything above 50 Cr. for it.

- Calculator Street Racing now has a GitHub repository: If you want to play the game as it is now, go here.
This is looking really good! I can't wait to see how it progresses. Have you thought about possibly using text sprites for the cars? I'm not sure how much this would do to performance but it would look really neat.
TIny_Hacker wrote:
This is looking really good! I can't wait to see how it progresses. Have you thought about possibly using text sprites for the cars? I'm not sure how much this would do to performance but it would look really neat.

I don't really know of a good text sprite to even use here- I've seen thetas used in other racing games, but my plan here is to use the first letter of the currently used car name as the icons. Of course, as you may have noticed in the footage, cars with thinner letters (such as the "I" of the Incerceba) are at a bit of a disadvantage to cars beginning with wider letters (Such as the "C" of the Civic Si Coupe) because they reach the finish slightly earlier going the same distance.
Updates as of V0.0.7:

The basic driving system is complete! each car is a currently 12-entry list that determines its characteristics. The first car in the game is a 2010 Civic Si- If you don't have a car, the game will automatically gift it to you at the start.

- Acceleration and the launch system have been implemented Gearing is partly done but is not done - all 6 of the Civic's gears currently function the same, and you've probably noticed that the RPM doesn't change after launching.

All the above issues with the basic engine should be fixed by V0.1- after that, the only main things left to work on are more cars (If you have any specific cars you'd like to see added, let me know!), upgrades, and the car dealer itself. I'll divulge more details on how the dealership actually works later.
V0.0.8 Update- and details on CSR Garage, the second program in CSRacing

On the surface, this update doesn't change too much- the Civic now loses rpm twice as fast when revving, the finish line is an actual line now, and text on the bottom of the screen helps guide your revs for the perfect launch (which in the case of the 2010 Civic Si is 4000-4200 RPM).

However, under the hood, there have been some major changes:
- For one, the program is now able to use external cars- this is vital for how the car dealership/garage will work.
- Both of the main lists have increased in size; List CSR has increased from 9 to 35 entries, and list
CAR has increased from 12 to 15 entries.

And now, some details on the garage/car dealer system:

You may have noticed that the "Change Car" option on the main menu has changed to "CSR Garage". This is because I have decided to make switching between cars and buying cars part of a separate program, called CSRGARAG.8xp. Selecting the "CSR Garage" option in the main menu will open CSRGARAG. from here, you can choose to switch between cars or buy new ones.

So how will the dealership actually work?

- out of the 28 (of the 30 total cars in the game) purchasable cars, four will be available each day.

Each day of the week will have certain cars as pertaining to that day's theme: For example, on Saturday, all four of the cars available for purchase will be supercars like the Ferrari 458 Italia. On Sunday, the cars available follow a "Sunday Drive" theme - The four cars available will be economy cars, like the Nissan Leaf. There's also Front-Wheel Drive on Fridays, and I haven't actually decided what to do for Monday, Tuesday, Wednesday, and Thursday yet.

The two cars out of the 30 that will be available in version 1.0 that are not purchasable are as follows:
- 2010 Civic Si
- 2016 Oxiti Incerceba

I also noticed that my Car list system would easily allow for the creation of custom cars. I plan on implementing a feature where for 100,000 Cr, you can build and name your very own custom vehicle. Details of this feature are not final.

Next update should be V0.1 and have a finished transmission system if all goes to plan.
See you then!
I held back on posting until V0.1.1 so I could get some parts of CSR Garage done.
With that being said: Here's a quick changelog:

- I made some graphical changes to win and loss screens, with the "YOU WIN" and "YOU LOSE" text being in large font now. A "press enter" prompt also appears at the end of the race now.

- Added a category for restriction races, which are races that require certain cars/upgrades to enter.

- CSR Garage is still not in a playable state, but the day of week functions and title are there.

I've also been considering making a link battle mode to go head to head with another player. I've never done multiplayer functions before, so I'm not 100% sure on the execution.
V0.2 - Upgrade system finished!

Before I talk about upgrades, I should quickly mention the tier system. There are three tiers, with Tier 1 being low-performance vehicles, Tier 2 being mostly comprised of sports cars, and Tier 3 being the high-performance supercars.

The "Tune" option on the main menu isn't a placeholder anymore with V0.2, as I have finally added the upgrade system.
There are four upgrade levels: Stock (no upgrades installed), Street, Sport, and Race. Each upgrade tier is progressively more expensive than the last.

- Tier 1 cars are the cheapest to upgrade, with the Street upgrade level costing 2,500 Cr and the highest upgrade level, Race, costing 7,500 Cr.
- Tier 2 cars are a bit more expensive to upgrade, with the Street upgrade level costing 5,000 Cr.
- Tier 3 Cars are the most expensive to upgrade, with the Race upgrade level costing a whopping 22,500 Cr.

Upgrades don't offer a massive performance boost - A fully upgraded 2010 Civic Si only goes about 6-7 MPH faster than a stock one- but even this can be the difference between winning and losing.

I'm not completely sure this is enough though - Do you think this is a reasonable level of improvement for upgrades, or should they offer a larger boost in speed?
V0.3-V0.4: New Cars and the introduction of ladder races.
I figured I'd do one post for V0.3 and V0.4.

I've finished the second event type- ladder races!
There are 25 races in total- Win a race, move a space up the ladder. Lose a race, move down the ladder. The Cr. reward for ladder races is double the equivalent regulation race.
Your current progress on the ladder is displayed on the main menu once you do the first ladder race.

I've also finally started working on the cars-
Here's a definitive car list of the first eight cars in the game:
1*: Honda Civic Si Coupe (8th Gen, 2010) {Finished}
2*: Oxiti Increceba (2016) [FANTASY] {Finished}
3: VW New Beetle (2004) - Will be available Mondays {FINISHED}
4: VW Golf GTI (2005) -Will be available Front wheel drive Fridays {FINISHED}
5: Ferrari 458 Italia (2011) - Will be available Supercar Saturdays {FINISHED}
6: Chevrolet Corvette ZR1 (2009) - Will be available Supercar Saturdays {FINISHED}
7: Ferrari Dino 246 GT - Will be available Sunday Drive Sundays (Classic cars) {FINISHED}
8: CR-X SI-R (1991) - Available FWD Fridays {FINISHED}

I've also made a few minor changes behind the scenes- the way MPH affects your position is now a bit more realistic (previously, 36 and 44 MPH were the same), The difficulty in regulation races is now now set on double digits instead of single digits w/ decimals as a result.
I like how you did the car trails! That's pretty neat. Also 4.2 RPM lol.
V0.5 - Car Dealer system finished, New cars

I've finished the car dealer system- it's now actually possible to buy cars!

Once you select the car you want to purchase from the menu, you'll be shown that cars price, Tier, Name, and Car Identifier Number (The car list now also appears in the README as it'll be important for Car specific races)

After purchasing a car, it will appear in the change car menu.

(I've made some minor changes to car names as wellnotRISKINGit)

I decided to do some stuff with the HORIZ command too- Like the difficulty selection menu in regulation races.

Races (all modes) now show the Cr. prize for winning before the race as well.
This isn't an update post, more of a way to gather an opinion on something. (I have finished the first 10 cars in the game though)

I've had multiple people suggest the use of text sprites for the cars. After finally figuring out a text sprite that would work, I made a version of CSRacing that uses a text sprite for the player's car:

With text sprites:

However, this slows the game down to around 2/3rds of its previous speed, which isn't that great in a racing game. If both cars were text sprites, it would just get even slower.

For comparison, here's the same race with the same car on the same difficulty but without text sprites:

Notice how the "O" car moves noticeably faster in the version without text sprites.
That being said, the difference isn't too crazy- and there are a couple minor changes I could make to the text sprite version to speed it up ever so slightly, but it'd still be slower than not using them at all.

There's a third option as well: Using a mix of text( and pxl-on, the speed is only slightly slower than the original method, and you still get the graphics that come with using text sprites:

This does have two drawbacks though: The car's shape cannot be changed to match the type of car or use a different letter, and the trails don't look very nice at all.

With all this in mind, I've set up a poll on this topic to decide whether to use text sprites/the third method, or keep the original letters- It closes tomorrow, so make sure to get your vote in before then.
V0.6 - Text Sprites, Crew Battles, new cars and a release window!

Based on the results of the poll I've decided to use the optimized text sprite method (option 3) as mentioned the previous post- It's still decently fast. There's also a road divider graphic now.
(You may have noticed in that GIF that the cars seem to be missing their front hoods at the end of a race. This is because in rare cases, the car would draw too close to the edge of the screen at the finish line, which would cause a DOMAIN error because it would be doing a pxl-on( command at a point further to the right than 92 px.)

There's also two new cars available: The 1969 Impala SS and the 1993 McL F1.

Of course, I wouldn't be doing a whole new post if this was just text sprites and a couple new cars. I've finally started work on the premier mode of the game: Crew Battles.

Crew battles are the main way to progress in CSR racing, and are also where the Tier system comes into play:

There are three tiers of car.
- Tier 1 is the lowest & slowest tier. This tier is home to Economy cars, sporty coupes like the Sivic Si, and the majority of the classic cars like the Dino 256 GT and the Impala SS.

- Tier 2 is mainly sports cars- The only car in that tier currently is the CRX SIR but that'll change soon.

- Tier 3 is anything else- Supercars like the 'Vette ZR1 and 458 Italy, Fantasy cars like the Oxiti Increceba, or world-record setters like the McL F1.

You'll need cars from all of these tiers to face the crews- If say, you try to bring a Tier 2 car to a Tier 1 crew battle, you'll be turned away until you switch to a Tier 1 car.

So what exactly is so special about the crew battle mode?
For one, it (As well as the Car Specific races) uses and updated ai system from the rudimentary system from the old fixed-speed one as seen in ladder and regulation races. The new ai launches at a certain speed as usual but now actually accelerates throughout the race- this makes the matches feel much more intense.
As a result this is that the rewards for crew battle mode are massive- beating the first crew member of tier 1 lands you around 10,000 Cr. for winning!

So what and who are these "crews" anyway?

There are 3 crews- one for each tier.
Every crew has three members- or at least they're supposed to- Two crew members, and one crew leader.
to beat a crew, you need to first beat the two crew members, then you need to beat the leader in three progressively harder races. Beating a crew leader results in a huge payout, and possibly even a pink slip race...

The three crews are as follows:

Tier 1 - The Flames
Tier 1 first opponent: Ito - Drives a Beetle (Shown above)
Tier 1 second opponent: Steve O - Drives an Impala SS
Tier 1 leader: Winnace

Tier 2 - (Crew name not decided yet)
Tier 2 first opponent: Ker
Tier 2 second opponent: Mayeo
Tier 2 leader: Kenido

Tier 3 - Team Oxiti
Tier 3 First opponent: Goomzo
Tier 3 leader: Muncher

With that, the end goal for this game is in sight- The way things are progressing, it'll be done around mid-late September, with a CE version possibly coming in October.
The actual filesize of CSRACING.8xp and CSRGARAG.8xp keep getting larger- combined, the two are currently about 8800 bytes.

The finished game should be around 9,500 - 10,000 bytes total, which is a fair bit more than I was expecting initially, but I suppose that's the cost of having 30 cars.

P.S: The Crew leaders and some of the crew members are characters from some of my old scratch games- anyone who figures out which games they're from gets a karma
This looks really cool. Nice work! Are the car trails intentional or are you planning on erasing them in the future?
Michael2_3B wrote:
This looks really cool. Nice work! Are the car trails intentional or are you planning on erasing them in the future?

The trails are pretty much a byproduct that would be a pain to get rid of- Since you move in an uneven amount of pixels forwards, you'd have to do extra calculations to clear the right pixels without clearing the car or causing a domain error from going offscreen to the left. Not only would this be slower, but it'd also increase the size of a game that is frankly already getting larger than I'd like :p

I suppose one nice thing about the trails is that it shows you how fast you and your opponent were going after the race is over, considering I don't really have a good way of doing a race timer here(the TI-84+'s TI-OS time only measures in seconds which is too large of a measurement to be useful).
If only this was for the CE as well... I lost my 84+. A part of my soul is gone.
arusher999 wrote:
If only this was for the CE as well... I lost my 84+. A part of my soul is gone.

Don't worry, I'm planning to port it to the CE right after I finish the game.

It's kind of the reason why the cars all have their colors as item 15 of their data
So is it hard to port a game? Like, do you have to rewrite all the code or is it something simpler?
arusher999 wrote:
So is it hard to port a game? Like, do you have to rewrite all the code or is it something simpler?

Porting pure TI-BASIC programs from the monochrome 83+/84+ to the CSE/CE isn't hard- you could technically run this on a CE right now were it not for me using the fast circle trick on the title screen ({i doesn;t work on the CSE/CE).
The main problem is that since this mainly uses the graph screen, everything displays wrong due to the sharp increase in resolutions:

However, there is a converter that lets you convert the coordinates to something more readable:

Granted, this isn't great- but is certainly a lot more readable. the biggest downside is that it increases the file size dramatically - going from 3.6 KB to around 5.2KB.

I won't be using this converter for the CE port, but it should demonstrate the process in this sort of thing.
Converting and colorizing things is a bit of a tedious process, especially considering the amount of times the text( command is used- So converting it should take about a few days after release to finish and test.
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