Inspiration/Motivation
- Dawson was having shower thoughts
- Computer Craft Minecraft mod pack
- CMSC 23320
What it does
Essentially, this is a Terminal/Shell Video Game, heavily influenced by Minecraft/Terraria. This is implemented completely in the terminal, and supports programmable computer blocks which allow running arbitrary programs and IO interfacing with other computer blocks. You can create a network!
Features:
Programmable computer block
- (Arbitrary language supported blocks, programmable with any text editor in game, capable of receiving and transmitting IO via local ports, sockets, and threads)
- (Computer blocks are able to detect IO on ports based upon wiring in the game. Configured through applying BFS on a network tree)
- (Adjacent monitors combine to one giant monitor that supports any resolution, displays text output sent via signals from computer blocks)
2D-Minecraft Creative mode
- (Map exploration, block placement, block deletion, player movement, character inventory etc.)
- Cool Inter-block Interactions
- (Chain-able TNT, Fluid dynamics, Water-lava obsidian generation, Optional player gravity)
Game Engine
- Renders the game, transfer IO, manages block resources, physics engine
- Seeded terrain generation using various statistical methods
- (Caves, Lakes, Mountains, Grass)
- Dynamic terrain plant regeneration
How we built it
- Python curses library
- Pixel Art
- Object oriented design
Challenges we ran into
Literally Everything
Coordinate translation for rendering
- Converting map coordinates to screen coordinates and back
- Screen was centred around the player
- Each block was 3 tall 5 wide for the desired aspect ratio
Seeded map generation
- Generating mountains
- Guiding a general convex shape generation with mountains
- Fine tuning parameteres
- Generating mountains
Network ecosystem
- Merging adjacent monitor blocks into 1 large screen using BFS
- Transferring IO between connected devices
- Handling appropriate threads and sockets
- Defining a computer network
The Team
Accomplishments that we're proud of
- Implemented a fully playable game with acceptable graphics
- Computer Network Ecosystem
- Terrain generation
What's next for Shellcraft
- Multiplayer
- Advanced computing interfaces (More IO Devices)
- GUI (Terminal)
- Enemies
- Optimizing the game engine performance
- Survival Mode
Built With
- curses
- pixelart
- python
Log in or sign up for Devpost to join the conversation.