Rest Your Case
Tactical Trial Simulator

Rest Your Case

A fair-play procedural defense mystery engine powered by Google Gemini. Sift through tainted evidence, preserve constitutional protections, command your private investigator, and dismantle the prosecution's theory before the jury deliberations.

Pillar I

Fair-Play Deduction

Ground Truth is locked in a sealed Base64 hash at Turn 2. Contradictions are mathematically verifiable from discovery documents alone.

Pillar II

Strict Single-Actor Engine

Zero back-and-forth NPC scripting. The judge or prosecutor yields the courtroom floor directly to defense counsel after every statement.

Pillar III

Bilingual Term-Binding

Playable in native English or authentic legal Arabic with mandatory bracketed US doctrine: استدعاء قضائي [Subpoena].

How to Play

Core Gameplay Loop
1

Probe Your Client

In Phase 1, interview the defendant in holding. Depending on the Complexity level, your client may hide embarrassing details or outright fabricate alibis. Ask direct questions to lock down their story before the DA attacks it.

2

Manage Action Points (AP)

In Phase 2, spend AP strategically with Investigator Diaz. Subpoena cell tower dumps (/subpoena), track down missing alibi witnesses, or file motions to suppress illegal police searches.

3

Dismantle the State's Case

In Phase 3, interrupt improper questions with OBJECTION: [Grounds] (frivolous objections earn Judicial Strikes). On cross-examination, confront state witnesses with conflicting discovery exhibits to expose lies.

4

Win & Decode Truth

Deliver your closing argument highlighting reasonable doubt. After the jury returns a verdict, take the sealed Base64 hash from Turn 2, paste it into the Notebook's Truth Vault, and unseal what really happened.

Anatomy of a Trial

PHASE 1

Client Intake

Interrogate your client in holding; expose baseline lies before formal court proceedings.

PHASE 2

Pre-Trial & Motions

Spend AP with Diaz to subpoena call logs, canvass crime scenes, or suppress tainted warrants.

PHASE 3 / 3.5

Courtroom Trial

Cross-examine state witnesses, object to DA violations, and decide whether your client takes the stand.

PHASE 4

Closing & Verdict

Argue reasonable doubt to the jury, hear the verdict, and unseal the Base64 Ground Truth vault.

Field Manual

Rules of Evidence & Commands

Courtroom evidentiary objections and 1-tap commands for seamless procedural execution.

Objection Cheat Sheet

During Phase 3, interrupt the ADA by typing OBJECTION: [Grounds]. Frivolous or incorrect objections earn a Judicial Strike.

Hearsay (FRE 802) Out-of-court statement

Witness repeats second-hand assertions to prove their truth.
Exceptions: Statements by the defendant, business records, excited utterances.

Leading Question (FRE 611c) Direct Exam Only

The Prosecutor suggests the desired answer to their own witness.
Warning: Leading is entirely legal on cross-examination. Never object there.

Speculation / Lack of Foundation (FRE 602/901) No Personal Knowledge

Witness makes inferences about motives or unseen events, or physical evidence is offered without a chain of custody.

Improper Character / Propensity (FRE 404b) Past Misconduct

The DA introduces prior bad acts to claim the client has criminal propensity. Inadmissible unless proving motive, intent, or plan.

Assumes Facts Not in Evidence Sneaked Premise

The question smuggles in an unproven allegation as an established fact (e.g., "Where did you hide the gun you stole?").

Argumentative / Badgering Harassment

The DA is yelling, debating, or cutting off answers rather than eliciting factual witness testimony.

Master Command Ledger

/generate Generates JSON for Notebook initialization.
/recap Crisp 3-bullet status check of the DA's active theory.
/inspect [Ex. #] Objective forensic readout of an exhibit (0 AP).
/subpoena [Target] Phase 2: Directs Diaz to obtain records (Costs 1 AP).
OBJECTION: [Grounds] Phase 3: Formal objection during ADA direct examination.
📁

No Active Case File Loaded

The Trial Notebook is locked. Extract your case automatically using Gemini's /generate output or configure parameters manually.