Inspiration
Our inspiration for this project comes from our admiration for the late artist Kim Jung Gi and our struggle with learning to draw online. Jung Gi is a line artist from Korea who is very famous for drawing anything from imagination, he achieved this through really observing what he sees daily and trying to memorize and draw them later. Many artist take his words and try to study subjects around them but certain subjects like airplane/tanks are not easy to access for an average person. So, we wanted to build a world which acts like a centralized platform consisting of 3d models of all these subjects so artists like us can study peacefully.
What it does
Observdraw lets players explore a 3D museum and its exhibits from a first-person perspective. Players can bring up a virtual sketchbook, choose a viewpoint, and enter Drawing mode.
The sketchbook supports:
- Persistent ballpoint-style drawing
- Pen and eraser tools
- Pixel-art tool cursors
- Five-stroke undo history
- Starting a blank page
- Exporting drawings as 2K PNG files
- Switching between stowed, held, and drawing states
How we built it
We built Observdraw with Godot 4 and C#. The environment, sketchbook, and exhibits use imported GLB models. A CharacterBody3D controller handles first-person movement and camera look, while static collision shapes make the museum and exhibits physically navigable. The drawing system uses a 2048×1352 2D canvas rendered inside a Godot SubViewport. That viewport becomes a live texture displayed on a QuadMesh placed over the 3D sketchbook page. Strokes are stored as ordered collections of 2D points with their own color and width. This supports thin black pen strokes, wider paper-colored eraser strokes, bounded undo history, page clearing, and PNG export.
Challenges we ran into
The biggest challenge we ran into was the drawings being in coordinate with the sketchbook window.. When players switch between normal mode to drawing mode.. many things get locked and importantly the cursor gets locked to sketchbook so artists can draw.. this was a really hard feature to implement as beginners.
Accomplishments that we're proud of
- We were able to complete the core features we thought of that is, players being able to draw/erase on the sketchbook, saving their drawings or erasing them. Obviously we also were able to complete character and world related features.
What we learned
- This is our first time using Godot engine, so learning about how game dev works in this engine was valuable
What's next for Observdraw
- We want to add VR support so the world feels more immersive
- We want to add a section when game launches that has many other worlds like a rainforest/classical museum other than what we have now.
- We believe adding multiplayer will be great touch too, this way artists can connect and review eachothers drawing in one space.
Built With
- c#
- godot
