Skip to content

alexxxdevelop/Sniper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Sniper

"Sniper" is a 3D shooting range simulator developed in Unity. The core gameplay focuses on precision shooting at dynamic and physics-based targets. The project features an advanced control customization system with flexible key rebinding and a functional scene editor.

This project is a sniper shooting simulator built on the Unity engine using C#. The architecture emphasizes modularity and user experience customization.

Key Implemented Mechanics:

Shooting & Interaction System: A centralized shooting controller (ShootingController) manages hit logic and target interaction through an object identification system (ObjectIdentity). Targets support parameterized settings (e.g., movement speed and distance).

Advanced Target Types:

Kinematic Targets: The MovingTarget script implements smooth, configurable horizontal object movement using a mathematical function for seamless, jitter-free looping motion.

Physics-based Targets: The SpinnerPhysics component creates a target based on the Rigidbody and Hinge Joint physics. The object receives an initial torque and reacts realistically to impacts by getting additional physical impulses.

Dynamic Camera: The CameraMover system provides intelligent camera movement. The algorithm includes an avoidance mechanic — automatic obstacle detection using SphereCast and calculation of an alternative position to prevent the game view from being occluded by walls or other objects.

Control Customization: A full control settings screen was developed using UI Toolkit (SettingsUI). An interactive rebinding system is implemented: the user can click on an action button and reassign a key in real-time through an input waiting loop using Input.anyKeyDown. All assigned keys are serialized and saved via PlayerPrefs for persistent storage of user preferences.

Profile Management: The maps interface (MapsUI) integrates a player list editor using ListView. CRUD (Create, Read, Delete) operations for player profiles are implemented. All changes (additions, renaming, deletions) are instantly serialized to a binary data file via a custom SaveBinary helper, ensuring data persistence between game sessions.

The project demonstrates skills in working with Unity UI Toolkit, the physics engine, input systems, and data persistence patterns.

About

"Sniper" is a 3D shooting range simulator developed in Unity. The core gameplay focuses on precision shooting at dynamic and physics-based targets. The project features an advanced control customization system with flexible key rebinding and a functional scene editor.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors