Exquisite Corpse Drawing Game
A collaborative art game where multiple people draw different parts of a body without seeing what others have drawn, then randomly combine them to create unique creatures.
Features
π¨ Drawing Interface
- Interactive Canvas: Draw directly in the browser with customizable brush size and color
- Image Upload: Upload existing images to use as a base for drawing
- Category Selection: Choose to draw top (head/shoulders), middle (torso/arms), or bottom (legs/feet)
- Touch Support: Works on mobile devices with touch drawing
π² Random Combination Generator
- Automatic Mixing: Randomly selects one drawing from each category
- Visual Display: Shows the combined creature with labeled sections
- Local & Server Images: Combines both locally drawn and server-stored images
πΌοΈ Gallery System
- Category Organization: Separate galleries for top, middle, and bottom drawings
- Local Storage: Saves drawings in browser for immediate use
- Server Integration: Ready for server-side image storage
File Structure
assets/
βββ images/
β βββ exquisite-corpse/
β βββ top/ # Head, neck, shoulders drawings
β βββ middle/ # Torso, arms, waist drawings
β βββ bottom/ # Legs, feet, tail drawings
β βββ README.md # Instructions for contributors
βββ js/
β βββ exquisite-corpse-server.js # Server integration code
_pages/
βββ exquisite-corpse.md # Main game page
How to Use
For Players:
- Visit the Game: Navigate to
/exquisite-corpse/on your site - Choose a Category: Select which body part you want to draw
- Create Your Drawing:
- Draw directly on the canvas, or
- Upload an existing image and modify it
- Save Your Work: Download your drawing and optionally upload it to the server
- Generate Combinations: Click βCreate Random Creature!β to see random combinations
For Contributors:
- Draw Your Section: Create a drawing for your assigned body part
- Follow Guidelines:
- Only draw your assigned section
- Use white or transparent background
- Keep images around 400x300 pixels
- Upload to Server: Place your PNG/JPG file in the appropriate category folder
- Name Convention: Use descriptive filenames like
head-robot-001.png
Technical Implementation
Frontend (Client-Side)
- HTML5 Canvas: For drawing functionality
- Local Storage: Temporary storage of drawings
- Responsive Design: Works on desktop and mobile
- Touch Events: Mobile-friendly drawing interface
Backend (Server-Side)
- File Upload API: Handle image submissions
- Image Management: Organize images by category
- Random Selection: Server-side combination generation
- Statistics: Track drawing counts per category
Browser Compatibility
- Modern browsers with Canvas support
- Mobile browsers with touch events
- Fallback for older browsers (basic functionality)
Customization
Styling
The game uses CSS that matches your siteβs theme:
- Color scheme from your existing styles
- Responsive grid layouts
- Hover effects and transitions
- Mobile-optimized controls
Categories
You can easily modify the categories by:
- Updating the HTML select options
- Creating new folder structures
- Modifying the JavaScript category arrays
Server Integration
To enable server-side functionality:
- Set up a backend API (Node.js example provided)
- Update the JavaScript to use server endpoints
- Configure file upload handling
- Set up image processing if needed
Game Rules & Guidelines
Traditional Exquisite Corpse Rules:
- No Peeking: Donβt look at other peopleβs drawings before submitting
- Section Only: Draw only your assigned body part
- Creative Freedom: Be as creative as you want within your section
- Random Combinations: The magic happens when random parts combine
Technical Guidelines:
- Image Format: PNG preferred (supports transparency)
- File Size: Keep under 2MB for web performance
- Dimensions: 400x300 pixels recommended
- Background: White or transparent works best
- Content: Clear, recognizable body parts
Future Enhancements
Potential Features:
- User Accounts: Track individual contributions
- Voting System: Rate favorite combinations
- Social Sharing: Share creations on social media
- Advanced Drawing Tools: More brush types, layers, etc.
- Animation: Animated combinations
- 3D Support: Three-dimensional drawing interface
- Collaborative Mode: Real-time collaborative drawing
Technical Improvements:
- Image Processing: Automatic resizing and optimization
- CDN Integration: Faster image loading
- Caching: Better performance for frequent users
- Analytics: Track usage and popular combinations
- Moderation: Content filtering and approval system
Troubleshooting
Common Issues:
- Canvas Not Working: Check browser Canvas support
- Images Not Loading: Verify file paths and permissions
- Touch Drawing Issues: Ensure touch events are enabled
- File Upload Problems: Check server configuration
Browser Support:
- β Chrome 60+
- β Firefox 55+
- β Safari 12+
- β Edge 79+
- β οΈ Internet Explorer (limited support)
Contributing
To contribute to this project:
- Follow the existing code style
- Test on multiple browsers
- Ensure mobile compatibility
- Update documentation as needed
- Submit pull requests for improvements
License
This exquisite corpse game is part of your Jekyll portfolio site and follows the same licensing terms.
