Code Monkey home page Code Monkey logo

nfsu-nuzlocke's Introduction

NFS Underground - Nuzlocke Challenge

Can you beat the game with 1 life per car?

Are you ready for the Nuzlocke Challenge in NFS Underground?

Then this mod is for you!

What is this exactly?

This is a mod for NFS Underground which sets the rules of the Nuzlocke Challenge (or multiple lives) and applies them directly to the game code.

It minimally and seamlessly transforms the game into an arcade-type challenge with lives, timers and points.

OK, but what exactly is this so-called "Nuzlocke Challenge"?

If you aren't familiar with the term "Nuzlocke", then you may want to watch this video from KuruHS as an example.

This challenge had been introduced in other games, not just Need for Speed.

For those that don't want to watch or can't, TLDW: 1 life per car. You lose a race, you lose the car permanently.

How does this work?

If you look at the spaghetti-ridden code, you'll notice that I've hooked many different places of the game to enforce the rules.

To sum it up - whenever there's an event of interest in the game where we can enforce a rule, this plugin hooks into that part of the code and forces it to do Nuzlocke stuff (such as car locking, difficulty setting locking, etc.).

Installation

  • As with any other ASI mod, extract and merge the 'scripts' folder with the one in your game root directory.

  • If you do not have the Ultimate ASI Loader already installed, install it to your game

  • If you do not already have Visual C++ 2022 x86 redistributable installed, install it

Technical info

  • There are 2 timers: PLAY time and RACE time

  • PLAY time: it is the total playing time in Underground Mode, timed with 1ms resolution, including game loading and everything (it is currently measured even in Main Menu until you enter a different mode)

  • RACE time: actual gameplay time out of menus and in the game. This timer is 100% accurate and is ticked with the game's own timer used for measuring lap/race time. Whenever the game time slows down (e.g. jump camera), this timer slows down too. This timer uses 4ms resolution.

  • Each car has its own race timer stored and is displayed as "Race:" in the ingame HUD

  • Total race time is accumulated race time of each car and is displayed in "Total:" in the ingame HUD

  • Mouse reading was replaced with the Win32 API because of imgui integration

  • Optional MiniWorld segment increase was included, but can also be disabled if you use HD Reflections from Aero_

  • The input handoff between imgui and the game is very fast, so if you hold a button for a long time after closing a dialog, it'll actually trigger the ingame action.

Credits

nfsu-nuzlocke's People

Contributors

xan1242 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

nfsu-nuzlocke's Issues

Ideas to implement

Some of the ideas I have jotted down to enhance the experience:

  • Random car after you lose!
  • Snow mod
  • NOS limiter
  • Engine blow
  • Chaos combo
  • Game crash when you collide hard
  • Blindfold
  • No reset
  • Solo car (not nuzlocke anymore)
  • Lose money per lost car
  • Stock only!
  • lose grip more the race lasts
  • random roadblocks with traffic cars?
  • faster & more agressive traffic like in UG2 RacerAI

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.