static void blood(Point point, World world) {
        if (bloodImg == null) {
            bloodImg = new BufferedImage(1200, 800, BufferedImage.TYPE_INT_ARGB);
            Graphics2D g2d = (Graphics2D) bloodImg.getGraphics();
            //g2d.setBackground(new Color(0, 0, 0, 0));
            //g2d.clearRect(0, 0, 1200, 800);
            g2d.dispose();
        }
        if (oldPoint != null) {
            Graphics2D g2d = (Graphics2D) bloodImg.getGraphics();
            if (world.getTick() % 10 == 0) {

                DataBuffer buffer = bloodImg.getRaster().getDataBuffer();
                if (buffer instanceof DataBufferByte) {
                    byte[] imagePixelData = ((DataBufferByte) buffer).getData();
                    for (int i = 3; i < imagePixelData.length; i += 4) {
                        if (imagePixelData[i] != 0) {
                            short abs = imagePixelData[i];
                            if (abs < 0) abs += 256;
                            abs = (short) (abs * 0.99);
                            if (abs >= 128) abs -= 256;
                            imagePixelData[i] = (byte) abs;
                        }

                    }
                }
            }

            for (int a = 0; a < 5; a++) {
                int dx = (int)(Math.random()*10 - 5);
                int dy = (int)(Math.random()*10 - 5);
                float d1 = (float)(Math.random()*10);
                Color clr = new Color(
                        blood.getRed()+(int)(Math.random()*100-50),
                        blood.getGreen()+(int)(Math.random()*10-5),
                        blood.getBlue()+(int)(Math.random()*10-5),
                        50+(int)(200*Math.max(1, 1.0*world.getTick() / world.getTickCount()))
                );
                g2d.setColor(clr);
                g2d.setStroke(new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL, 0, new float[]{d1, 20f}, 1f));
                g2d.drawLine(oldPoint.x+dx, oldPoint.y+dy, point.x+dx, point.y+dy);
            }
            g2d.dispose();

        }
        oldPoint = point;
    }