All Projects â†’ atamocius â†’ flutterstein-3d

atamocius / flutterstein-3d

Licence: MIT license
🔫 A 3D raycaster implemented in Flutter

Programming Languages

dart
5743 projects
objective c
16641 projects - #2 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to flutterstein-3d

ofxRaycaster
Plane, 2D and 3D Ray objects for openFrameworks.It checks for the intersection of a ray with a segment, a sphere, a triangle, a plane, an ofPrimitive, an ofPolyline an with an ofMesh.
Stars: ✭ 54 (+35%)
Mutual labels:  raycasting
sdl2-raycast
SDL2 C++ raycasting engine with vertical movement, floor/ceiling texture mapping and sprites.
Stars: ✭ 80 (+100%)
Mutual labels:  raycasting
ray engine
A toy raycasting engine in Go + Ebiten
Stars: ✭ 19 (-52.5%)
Mutual labels:  raycasting
MoravaEngine
2D/3D graphics engine written in C++ language. It currently supports the following graphics APIs: OpenGL 3.3+, Vulkan 1.2, DirectX 11. Its current purpose is to experiment with various CG concepts and techniques.
Stars: ✭ 129 (+222.5%)
Mutual labels:  raycasting
sparse-octree
A sparse octree data structure.
Stars: ✭ 68 (+70%)
Mutual labels:  raycasting
raycaster-sdl
A simple raycasting demonstration using SDL2
Stars: ✭ 24 (-40%)
Mutual labels:  raycasting
bvh-tree
A Bounding Volume Hierarchy implementation using javascript
Stars: ✭ 41 (+2.5%)
Mutual labels:  raycasting
canvas-raycasting
Canvas + Raycasting Experiment
Stars: ✭ 17 (-57.5%)
Mutual labels:  raycasting
Portal-Raycaster
A software portal rendering game engine
Stars: ✭ 41 (+2.5%)
Mutual labels:  raycasting
RaycastVisualization
This asset allows users to view raycasts as the user fires them.
Stars: ✭ 61 (+52.5%)
Mutual labels:  raycasting
GPU-Zen-2-Baker
🥧 An OpenGL 4.x example of GPU Zen 2's ray casting techniques for baked texture generation chapter.
Stars: ✭ 32 (-20%)
Mutual labels:  raycasting
cub3d
This project is inspired by the world-famous eponymous 90’s game, which was the first FPS ever. It will enable you to explore ray-casting. Your goal will be to make a dynamic view inside a maze, in which you’ll have to find your way.
Stars: ✭ 18 (-55%)
Mutual labels:  raycasting
alephone-android
Port of the AlephOne engine on Android
Stars: ✭ 30 (-25%)
Mutual labels:  raycasting
find aik
Find Aik game for #FlutterCreate
Stars: ✭ 18 (-55%)
Mutual labels:  5kb

Flutterstein 3D

A 3D raycaster implemented in Flutter.

For anyone looking for the original / unminified code, there is a branch named prior-to-reduction which is pretty much the code prior to the minification.

This app was submitted as an entry to the Flutter 5KB Challenge.

Gameplay 0 Gameplay 1 Gameplay 2 Gameplay 3

Description

This is a an implementation of the 3D raycasting algorithm as employed by games like Wolfenstein 3D. It uses the Canvas API, specifically drawRawAtlas, to render the level data and also to batch the draw calls.

On-screen controls have also been implemented using PointerData, with inflated tap areas to improve responsiveness.

To keep things interesting

Due to the 5KB restriction, I can't really add any game logic. However, when I built the level, I hid 9 other Flutter logos (10 if you count the first logo at the start) within the level, see if you can find them all before reaching the exit (the exit is another elevator).

If you want to see where all of the logos are hidden, here is the map

Running the app

flutter run --release

I highly recommend running this on Android devices since that is where I have been testing the app on. Theoretically, it should also run on iOS since there is no platform specific code or configuration employed.

Orientation

Although the app supports both portrait and landscape orientation, it looks way better in landscape.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].