A demo project featuring 2D shoot'em-up controls, movement animations and a nice, nostalgic CRT shader.
The project emphasizes clean and modular (decoupled) OOP code.
Made with Unity's Shader Graph. This full-screen effect warps the screen, adds a bunch of static, and dynamic scanlines.
Enhances the "retro" look in general. Much easier to appreciate on the itch.io page, here!
![](https://private-user-images.githubusercontent.com/26883837/270993590-318efe2d-03d8-4b0b-9baf-a540706bcd27.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzMzk5NjAsIm5iZiI6MTcyMjMzOTY2MCwicGF0aCI6Ii8yNjg4MzgzNy8yNzA5OTM1OTAtMzE4ZWZlMmQtMDNkOC00YjBiLTliYWYtYTU0MDcwNmJjZDI3LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDExNDEwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU2Y2Y0OWI1MTA3OGE4MDZhNzQyZDhjYmNjMmJhMDUzNTYzYmY1NTczYjVjNTRkYzAxNTk4MzZkNjdiODUwNmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.JlDiUtsuqpr4M54-VN6_GOnz3Pd28jNqJ29BWVD3nqw)
Classic 2D shoot'em-up movement with W/A/S/D in 8 directions + animations. Movement code here.
![](https://private-user-images.githubusercontent.com/26883837/270981396-57c55638-312d-4841-afa4-ee5855ba6d5f.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzMzk5NjAsIm5iZiI6MTcyMjMzOTY2MCwicGF0aCI6Ii8yNjg4MzgzNy8yNzA5ODEzOTYtNTdjNTU2MzgtMzEyZC00ODQxLWFmYTQtZWU1ODU1YmE2ZDVmLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDExNDEwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM2OTRhMDViNGQzYmYzNzFlYTc4ZjA3MjY4YjFlYzk4NGE5YTcyODUyZWMxOTgyOTE0MGJmOTg5NTQ4NzBkZDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.rFrqoOxsss395L-ZiH-Q0PIgz3-XbUTLSQaaRJEdB5M)
This action becomes available when you fly out of bounds. Simple UI feedback done with Scriptable Object events.
![](https://private-user-images.githubusercontent.com/26883837/270985650-108891df-ccba-4d87-abd3-69596b239526.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzMzk5NjAsIm5iZiI6MTcyMjMzOTY2MCwicGF0aCI6Ii8yNjg4MzgzNy8yNzA5ODU2NTAtMTA4ODkxZGYtY2NiYS00ZDg3LWFiZDMtNjk1OTZiMjM5NTI2LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDExNDEwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY5NzM3MTllNTI1MDJiMTg2YjVlNWRhNmQ4YmU0ZmRkYTZhZDM3MTliNDEwMzVkMDFmZDNiYTc1YTQ1MzZmYTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.LmPGexOZPueLs610EnoyJ3Owp44tQ1MBMpgq0J0MvYo)