RSSAmplifier

Blog

Marian's Blog

Personal blog about game development, programming and making

https://marian42.de testRSS feed ↗36 posts

Latest posts

3D Printed Mechanical Digital Clock

This post is about building a 3D printed, mechanical digital clock, made out of seven-segment displays . The project was inspired by a video by Lukas Deem , who built a clock with seven-segment displays where the segments slide in and out when they change their state. In his design, each segment is controlled by a separate servo. I was also inspired by various projects from the Karakuri channel,…

Designing a Lego orrery

I've always been a fan of the Lego Technic series, especially those models that have gears and cranks and moving parts. But it seems that Lego is shifting the focus of the Technic series away from functional models, so I had to take matters into my own hands. I think an orrery is the perfect project to build out of Lego Technic parts as it makes for a cool display set and is functional at the…

Generating an infinite world with the Wave Function Collapse algorithm

This article describes how I generate an infinite city using the Wave Function Collapse algorithm in a way that is fast, deterministic, parallelizable and reliable. It's a follow-up to my 2019 article on adapting the WFC algorithm to generate an infinite world. The new approach presented in this article removes the limitations of my original implementation. I first mentioned these ideas in…

Adversarial Generation of Continuous Implicit Shape Representations

This article provides an overview of the paper "Adversarial Generation of Continuous Implicit Shape Representations" , which I co-authored with Matthias Fey . While the paper focuses on the theoretical aspects, I'll provide a higher level explanation and and some visualizations here on the blog. In the paper, we propose a GAN that generates 3D shapes. The GAN uses a DeepSDF network as a…

What I learned from building autonomous model race cars for a year

I was part of a university project group that develops autonomous model race cars. We are a group of twelve students working on the project in part time for year. We were provided with a car that meets the requirements for the F1/10th competition . Even though competing in F1/10th was not our goal, we kept the rules for the competition in mind. We focussed mostly on trying different driving…

Visualizing 150000 butterflies from the Natural History Museum

Click here for the interactive visualization. The Natural History Museum in London has a data portal in which they provide digital records for many of their specimens. Some of these records have images. I recently learned how to use machine learning tools such as convolutional neural networks and I wanted to use the NHM data to see what can be done with these tools. The dataset of butterflies…

Lego Part Designer

I made a web app that lets you design your own Lego Technic parts and save them as printable STL files. You can check it out here . I got the idea for this project when I was building with Lego parts and wondered how many of the common parts can be described with a simple rule set. The system I came up with assembles the parts out of five basic blocks: Pin Hole, Axle Hole, Pin, Axle and Solid.…

Faster Than Life – Global Game Jam 2019 Project

Like in the previous year , I took part in the Global Game Jam. I joined a team of six programmers, unfortunately there was a shortage of artists this year. During the 48 hour jam, we made a space game that is inspired by Faster Than Light. You travel through a sector of solar systems, with the goal to make your way home. In each system, you need to collect jump fuel to jump to the next system.…

Infinite procedurally generated city with the Wave Function Collapse algorithm

This is a game where you walk through an infinite city that is procedurally generated as you walk. It is generated from a set of blocks with the Wave Function Collapse algorithm. You can download a playable build of the game on itch.io and you can get the source code on github . Here is a video of me walking around a generated city: The algorithm I will use the word "slot" for a place in the 3D…

ESA ExoMars Rover 3D model

This is one of my first 3D modeling projects in Blender and my biggest 3D modeling project so far. It's a model of ESA's ExoMars rover. You can have a closer look at the model on Sketchfab : There is also a download option on Sketchfab so you can get the original .blend file and use it for anything you like!

3D printed model of my neighborhood

I 3D printed a model of the street where I live. This post will explain how I prepared the data for it. Update : I have now automated the entire process and published my code. You can find it here . I worked with aerial Lidar data that is provided by the state I live in to download for free. After completing the rather big download, I figured out what my coordinates are in the projection used with…

Agent V – Global Game Jam 2018 Project

This year I participated in my first game jam, the Global Game Jam 2018. With a team of artists, programmers and a sound designer, we made a video game within 48 hours. You play the game as a virus that infiltrates a company’s headquarters. The virus can not move on its own, it can only take control of hackable devices and use them to move around. There are six levels, each with a puzzle to move…

Generating 3D roof meshes from aerial LIDAR data

This is my graduation project I did in computer science. The goal was to come up with a method to generate 3D meshes of building roofs from point cloud data. The point cloud data was taken with aerial LIDAR scanners and is available online . In addition, I used building layout polygons, which are also available as open data. I tested several strategies to generate a mesh and I’ll explain the best…

LED Matrix Software

I wrote two programs that run on my LED matrix. They have different approaches and different aims. This post describes one of them. The app offers a web interface where users can write simple programs that are then compiled and started instantly from the website. The concept is similar to Shadertoy , where you write C-like shader code in a browser window and instantly see it run. The code of for…

LED Matrix Materials Guide

I built an LED matrix out of 256 WS2812 LEDs. This post will describe which materials I used and which I tried with no success so you don’t have to. Case For the case, I used a custom made photo frame. The main purpose of the case is to look good, which is harder to achieve if you make it yourself. I’m using a matte black aluminium frame. Make sure it is deep enough to house all parts. My frame…

No Man’s Starfield

This is a shader I made that renders a flight through a starfield. It’s meant to look like the galactic map that you can see in No Man’s Sky. Here is a link to the project on shadertoy: No Man’s Starfield The cool thing about this is that it runs inside a shader. A shader is a small program that runs on the graphics card and is usually used to create simple effects like shadows or reflections.…

Computer Vision and Robotics Demo with Raspberry Pi

This spring, I spent some time at SAP’s commercial hackerspace. I wanted to explore how computer vision can be used with embedded devices and robotics. I built a demo that can detect QR codes and similar symbols and point a laser at them. Possible applications of this are putting QR codes on objects to help the robot locate them and grab or manipulate objects. Another possible use case is local…

16×16 LED Matrix

This is a 16×16 RGB LED matrix, made of 256 WS2812B LEDs. It’s powered by a Raspberry Pi and can display images and animations. With a game controller attached, it can play games. The pictures below show how I built the frame. Painting the base plate Drawing the scale Ordered a custom picture frame Assembled frame Frame with glass front and baseplate Making the grid Completed grid Testing the LEDs…

Work in progress: Location based online game

This is a game prototype I’m currently working on. The game is played online, on a real world map and the location of the player is also the location ingame, just like in Ingress. I know that making an online game like this is an ambitious goal and it will probably never be finished, but this prototype is a good way for me to test the game mechanic and see what works and what doesn’t. The…

Game prototypes

I’d like to share two game prototypes I made a few years ago. The first one is based on Tetris: It was written in C++ with bare-bones OpenGL. Once you press shift, the game enters a “fast mode”, where the down button takes a piece all the way down and if you don’t press it for three seconds, it will drop where it is. This is meant to be a fast-paced version of the original Tetris. The second game…

Procedural pixelart generator

I made a procedural pixelart generator that is inspired by the art style of the upcoming space adventure game No Man’s Sky. Check it out and generate your own pixelart: https://marian42.github.io/proceduralart/ The art generator is written in javascript and uses noise functions such as simplex noise to generate procedural landscapes and other features. Whenever the page is loaded, a new random…

Raspberry Pi powered fishtank

My fishtank is now internet-connected. It is run by a Raspberry Pi that can do three things: Feed the fish, switch the lights and take pictures. To feed the fish, the Raspberry Pi sends commands to an automatic fishfeeder that I modified. It can empty any container in any order. This is achieved by an Arduino Pro Mini, two servos and a motor ( more ). The plate prevents hot air from flowing into…

Connecting my fish tank to the Internet of Things – Part 1: Hacking an automatic fish feeder

I bought a used automatic fish feeder from ebay. This device is completely mechanic and very old (older than 1989). It has 27 containers for fish food and a disc that does one rotation per day. By sticking pins into that disc one can trigger one or more feedings per day. A pin will rotate an outer ring with the containers by one unit. One container always faces down, emptying its contents. So if…

How to build a Lego Portal Gun

Resources: Parts: list , Rebrickable CSV , Bricklink XML Model: LDR , 3DS Build this MOC on Rebrickable Instructions: The model looks a bit better if this axle is shortened to 1.5 units. So if you are willing to sacrifice one axle and build bad lego, you can cut off the tip.

Android-Benachrichtigungen auf dem Schreibtisch

Das Ziel dieses Projekts ist, Benachrichtigungen von meinem Android-Handy automatisch auf einem LoL-Shield (Lots of LEDs) anzuzeigen. Dazu benutze ich einen Raspberry Pi, der sowieso schon auf meinem Schreibtisch steht, einen Arduino für das Schild und auf dem Handy Tasker , um auf Benachrichtigungen zu reagieren. Sobald eine Benachrichtigung erscheint, passiert folgendes: Der Arduino-Sketch zeigt…

Aquarium Innensicht mit Gopro

Wegen meinem Quadrocopter habe ich eine Gopro, die ja auch wasserfest ist. Da war es naheliegend, die mal im Aquarium auszuprobieren. Bei dem Aquarium stand einiges an Arbeit an, da das Glasbecken undicht war, und alles komplett ausgeräumt werden muss, um das Becken auszutauschen.

Uni-Timer

Ich bin seit diesem Semester Student und in der Uni dauern Vorlesungen immer 90 Minuten, von “viertel nach” bis “viertel vor”. Da kam mir die Idee, dass man eine Uhr bräuchte, die nicht den Fortschritt der aktuellen Stunde, sondern den der aktuellen Vorlesung zeigt. Dazu habe ich schnell diese App zusammengecodet: Die App zeigt die verbleibende Zeit oder den Fortschritt an und merkt sich den Namen…

Quadrocopter

Ich habe mir dieses Jahr den Traum erfüllt, einen selbst zusammengestellten Quadrocopter zu bauen. Investitionen Für mich ist dieses Projekt bisher immer an zu hohen Kosten und mangelnden Informationen für Einsteiger gescheitert. Diese Probleme wurden zum Teil ausgeräumt durch die Erkenntnis, dass es deutlich günstigere Systeme als die von Mikrocopter gibt, als auch die Hilfe von der Community bei…

Raspberry Pi Projekte

Was macht man eigentlich mit einem Raspberry Pi? Ich habe mir vor einem halben Jahr einen gekauft. Seitdem steht er hier auf meinem Schreibtisch und führt eine Reihe von Aufgaben aus. Hier eine Übersicht: http-Server für einige Webseiten auf dem Pi und die Daten auf meiner externen Festplatte Samba und FTP Server für die Daten auf der Festplatte Wetterstation : Mit einigen Sensoren werden einmal…

Quadrocopter Lichtsystem

Dies ist ein Arduinoprojekt, das vier RGB-LED-Streifen an den vier Armen des Quadrocopters ansteuert. Das Ziel war, bei möglichst geringen Materialkosten möglichst viele Möglichkeiten bei der Beleuchtung des Quadrocopters zu haben. Verwendete Teile: 1m RGB-LED Streifen, jeweils zwei Segmente a 3x RGB pro Arm, mit 12V TLC5940 LED Driver zur Steuerung der LEDs ATmega328p (der Microcontroller des…

Quadcopter Lightpainting

Die Fotos wurden mit einem beleuchteten Quadrocopter, einem Stativ und 15 Sekunden Belichtung aufgenommen. Bei diesen Fotos stimmte die Einstellung noch nicht, sodass sie zu dunkel sind: Das letze Foto wurde mit einem kleineren Quadrocopter, einem Hubsan X4 aufgenommen, an den ich eine blaue LED mit Knopfzelle geklebt habe.

Raspberry Pi Wetterstation

Um die Daten, die meine Arduino-Wetterstation liefert, verfügbarer zu machen, habe ich mich entschieden, das Projekt jetzt mit einem Raspberry Pi weiterzuführen. Die Sensordaten werden wieder vom ILC-Board geliefert, das ich für den Schülerwettbewerb Intel Leibniz Challenge bekommen habe. Dazu kommt ein weiterer Helligkeitssensor und ein weiterer Temperatursensor . Den Temperatursensor verwende…

BTduino documentation

The BTduino app sends data using the serial interface of a microcontroller and a bluetooth connection. The concept of the protocol is to send all data in text form. Each set of data consists of the name and the value, seperated by a colon. This way of communication is not the most efficient one, but it is easy to use and human readable. Example: name:value Special commands Setup requestsetup The…

BTduino

BTduino is an Android app that lets you add a custom bluetooth interface to your Arduino project without any programming on the Android side. Everything is better with bluetooth! Here are some examples: Download Android APK file Android 4.0 or higher is required. Arduino example sketch Arduino sketch without examples Source code To use this app, you need an Arduino or any microcontroller with a…

How to add Bluetooth to your Arduino Project with BTduino

This tutorial will show you how to connect your Arduino project to an Android device using the BTduino app . You don’t need an extra Arduino library and you don’t need to code anything on the Android side. Here is what you need: an Android device running Android 4.0 or higher that supports bluetooth (most phones do) an Arduino or any microcontroller that has a Serial connection a bluetooth module…

Arduino-Wetterstation mit Bluetooth, Datalogging und Android-App

Die Wetterdaten für die Wetterstation werden von einem Board gesammelt, das ich für einen Schülerwettbewerb ( ILC ) bekommen und zusammengesetzt habe. Auf dem Board rechnet ein ATxmega128A3U . Temperatur, Luftfeuchte, Luftdruck, Helligkeit, Regenmenge und Windgeschwindigkeit werden bestimmt. Die letzen beiden Werte werden durch mechanische Aufbauten ermittelt, an denen ein Magnet einen Hallsensor…