Hackaday.io Hackaday.io
Projects
Discover Contests Courses Stack
More
Courses Tutorials Events Hackerspaces Hackaday.com Tindie Marketplace
Sign up Log in
Close
0%
0%

Let it Snow

Snowfall on Linux console

dumitrustamadumitru.stama
Following Follow project
Liked Like project

Become a Hackaday.io member

Not a member? You should Sign up.

Already have an account? Log in.

Sign up with Github
Sign up with Twitter
OR
Forgot your password?

Just one more thing

To make the experience fit your profile, pick a username and tell us what interests you.

Pick an awesome username
hackaday.io/
Your profile's URL: hackaday.io/username. Max 25 alphanumeric characters.
Pick a few interests
Projects that share your interests
People that share your interests

We found and based on your interests.

Choose more interests.

OK, I'm done! Skip
Join this project
Similar projects worth following
783 views
4 comments
5 followers
2 likes
  • Description
  • Details
  • Files 1
    • View all
  • Components 0
  • Logs 2
    • View all
  • Instructions 0
  • Discussion 4
View Gallery
783
4
5
2

Team (1)

  • dumitrustamadumitru.stama

Join this project's team
  • Project files on GitHUB
  • Youtube simulation
Software
ongoing project
linux framebuffer amd64 rdrand simulation

This project is submitted for

  • The 1kB Challenge

This project was created on 12/04/2016 and last updated 9 years ago.

Description

I never knew a full HD screen has soooo many pixels. I knew the actual numbers but to fill it pixel by pixel it's a hard job ! Remember this next time you play your favourite game at 60fps, your video card is a true hero, a miracle of recent years technology. My project sets up a snowfall simulation using the frame buffer in Linux console mode. The snowflakes collide with each other and other objects and pile up in time. There is a Youtube video linked on this page where you can actually see it in action for ~30 minutes. I used AMD64 assembly and "rdrand" instruction so you need a fairly recent processor to replicate it. I know, I know, NSA and other agencies have supposedly back-doored this instruction but I am not using it for cryptography :). Project is not yet optimised at algorithm level but it's already 1000 bytes in binary form (ELF headers don't count according to HAD 1KB contest rules since they don't add functionality)

Files

img.png

This is how it looks like at full resolution

image/png - 34.47 kB - 12/04/2016 at 17:53

Preview

Project Logs
Collapse

  • Second screenshot

    dumitru.stama • 12/11/2016 at 03:14 • 2 comments

    Here is another screenshot after letting the program run on the TV for one night.
    Almost there... :)

  • Screenshot

    dumitru.stama • 12/04/2016 at 17:50 • 0 comments

    Here is how it looks like in FullHD (the screenshot is in the files section).

View all 2 project logs

Enjoy this project?

Share

Discussions

Log In/Sign up to comment

Become a Hackaday.io Member

Create an account to leave a comment. Already have an account? Log In.

Sign up with Github
Sign up with X
OR
Eric Hertz wrote 12/08/2016 at 15:43 • point

Hah, cool! Got some ideas brewing from this, thanks :)

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/04/2016 at 19:26 • point

This brings back the nostalgia of the old xsnow program...

Next version : add pines and let Santa slide on his sleg :-)

Furthermore, no need of a special instruction to generate (pseudo-)random numbers. I think there is an "entropy pool" that will limit the rate of generated numbers to preserve "randomness" but you don't need that. A simple LFSR works. But if you are after code size, check the documentation carefully about the rate of execution of this opcode.

  Are you sure? yes | no

dumitru.stama wrote 12/04/2016 at 19:46 • point

:) I don't think there is enough space for that but I still have to optimize the implementation. Maybe I can squeeze a few hundred bytes out and put some sprites.
I choose rdrand because it spits out a random number (pseudo) in 4 bytes and it simplifies things a lot

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/04/2016 at 20:24 • point

By next version, I mean for a larger one. Though the xsnow sprites are low-res and easily compressible and could add some bonus points in the contest :-)

  Are you sure? yes | no

Similar Projects

The 2015 Hackaday Prize
Augmented Reality Cubic Kartoska Space Exploration Simulation. Totally Safe.
Project Owner Contributor

Very Expensive Tool with C++ and Javascript

skyberrysskyberrys

Hackaday Prize 2020
Built with the 65C02 and the Parallax Propeller. Retro II is open source and utilizes off the shelf parts to recreate the magic of the 80's.
Project Owner Contributor

Retro II - An Apple II Compatible Computer

jon-thomassonJon Thomasson

Learn circuit simulation with LTspice or NGSpice. Enter a schematic, simulate, view the results, and make simulation models.
Project Owner Contributor

Circuit Sim with SPICE @ 2015 SuperConference

tom-andersonTom Anderson

Warning! No Rocket involved! Collaborative Open Art Project.
Project Owner Contributor

1050mph Virtual Rocket Camera

frankstripodfrankstripod

Does this project spark your interest?

Become a member to follow this project and never miss any updates

Going up?

About Us Contact Hackaday.io Give Feedback Terms of Use Privacy Policy Hackaday API Do not sell or share my personal information

© 2025 Hackaday

Yes, delete it Cancel

Report project as inappropriate

You are about to report the project "Let it Snow", please tell us the reason.

Send message

Your application has been submitted.

Remove Member

Are you sure you want to remove yourself as a member for this project?

Project owner will be notified upon removal.