Posts

Dwarf Fortress One Piece World

Perfect World

Perfect World is a series of programs that allow users to created specific orientations of geographic material in a game such that they can build a usually procedurally generated world. Having got into Dwarf Fortress with it's recent Steam release I was excited to learn that there was such a tool available for dwarf fortress. The possibilities felt once again endless as my mind went to all the different worlds that could be crafted this way. Though as I learned the reach of the program and effectiveness of the program are limited at times, the promise of what it can do currently was no dissapointing. Linked is the post that first informed me of these possibilities. 

The One Piece World

Thanks to the depths of the internet and peoples passion for One Piece a (nearly) full map of the world of one piece was not hard to find. I ended up going with this map done by deviant art user Sharpsider for it's organic coastlines and identifiable island geography. despite the size/ratios of the islands being off, I'm still happy with this choice in map. 

One Piece World Elevation Map

The Elevation map is the only map that you can import into Perfect World (PW) so it is where all preprocessing for the world should happen. Using the One Piece Wiki I was able to find screenshots of the islands viewed from a distance and so general geography was painted in with white being higher elevation and black being sea level. I suspect that where these islands meet the water might be largely cliffsides but the erosion that Dwarf Fortress processes brings some of them to beach level. 

Map Editing

Temperature Map

Using the Wiki throughout, I tried my best to get freezing/snowy islands cold and scorching places scorching. notable locations are Drum (sakura) Island and Punk Hazard that are both shown to have snowy environments on their islands. Generally the world of One Piece is shown with warm climates so temperate-hot biomes were most common when the exact environment was unknown. 

Savagery Map

Since Savagery might be a bit more a matter of perspective I used the experiences of the straw hat pirates in the anime to decide on savagery where it was more ambiguous. In accordance with that logic, government locations are highly savage as well as any islands that were inhabited by dangerous creatures/groups by about the 700ep mark.  

Volcanism Map

Despite my best efforts over the course of about 1.5 hours I could not get volcanism to work. changing the limits for where volcanism takes effect and zeroing out all undesirable locations proved to result in no change to the resulting volcanism. this was slightly disappointing as there are a number of notable islands that host volcanos as landmarks of the island. Given the amount of time and effort I put into figuring it out I decided it was a bug from it being a program for a different version of dwarf fortress and moved on. 

Results

Overall many of the features I wanted on the resulting map did indeed appear. There was some fiddling with the erosion cycles necessary  to keep the mountains from becoming hills, but otherwise the resulting Dwarf Fortress World Map was quite close to what I painted out. In the future I might not go as in-depth with the elevation map as it needs to be resized to 257x257 to be used by PW so a lot of the details I painted in did not come through how I hoped in the resulting world. The work flow of PW is not too far off from what is done in Wallpaper Engine for creating Wallpapers so I was happy to have an understanding of how to do what I wanted before even picking up the program.

3/19/23

Computer Control Console and Chair Attachments

Initial Goals

Wire routing for my computer setup is a constant battle to leave them as visible as possible without having them get in the way of day to day tasks.  In order to route wires to my chair for things like phone charging and headphone/mic connection I needed a port for wire extensions to lead into and main connections for peripherals to meet them.

Deciding on the back of the chair to be where the wires would lead to, I went about creating a snap in place connecting piece for a point for additional parts to be connected to.  As the main point of connection between add-on pieces and the chair this connecting piece needed to be a tight fit while also being able to bend around the cut-out at the head rest of the chair. In order to achieve this I had to include areas in the model to provide room for the piece to bend during installation but wouldn't effect the stability of pieces added to it.

While building out where the ports would lead, I realized the utility of being able to add other prints to the chair, so I immediately began adding areas where additional parts could be slotted onto it. By the end of modeling the housing for the ports I had added 5 add-on slots that could be used for additional accessories. 

4 of these slots are meant for smaller additions individually or used in tandem for a larger add-on. The largest slot is at centered at the top and is meant to support a "headpiece" type add on for the chair. Having fun putting the cart before the horse for a bit I ended up modelling out one of these headpieces that has the working name of a halo, which includes top down lighting and top down cooling via LED lights and a 40mm fan respectively. The headpiece also adds a headphone dock and mounting for oculus rift storage/display.


What else can I add...

Armrest Control Panel?

Knobs and Sliders are Always Welcome

Having planned for there to be LEDs and a fan as part of the headpiece I wanted to include controls to be able to change the fan speed or the intensity and color of the LEDs. The tactile feel of turning a physical knob or adjusting a slider was desired so space was made for those components. Wanting a more intense and "hacked-together" look I felt that adding some screens to display various data points or graphics.

Gonna Have to Control Things with Something

All these screens and nobs and sliders must be controlled by a microcontroller or a small computer like a raspberry pi, so I'm thinking I'll include both of them, providing a space under the arm controls that could house both of them. wire routing tunnels are available for the A/V wires to reach both the port piece on the back of the chair as well as the screens on the top of the arm controls.

Something's still missing...

Desk Control Console?

Balancing Overall Detail

zooming out from the vertices I thought about the overall look of what I had planned, a very heavily modified computer chair with all sorts of electronics in it, only to sit in front of a moderately usual desk setup. Well that couldn't be the end result, if I'm imagining/planning my dream computer chair, why not also my dream computer desk peripheral setup.

Trying to carry over some of the design language from the halo, I laid out a curve on a model of my desk that that could encapsulate the volume of my chair as well as the space that my keyboard and mouse took up and assumed this to be about the "working volume" of my person at my desk. Using the working volume curve as a minimum distance and the positioning of my computer and monitors on my desk as a maximum distance, I was able to find a space that I could model out some basic and superfluous utilities.

Left Wing

Using the Wireframe view for clarity (cause believe me the other ways were harder to discern): The left wing of the console provides metal flip switches (undecided purpose), and docking stations for an additional microcontroller, a macro keypad, and a wireless phone charging dock (contradicting the original purpose of this build I know) with a semi circle light bar accent

Center

The center of the console has docking stations for a monitor remote, external computer power button, and a dedicated computer volume knob. The center of the console would also include 2 large triangle buttons (purpose undecided) and a cutout to allow for mouse and keyboard wires to be routed around the back.

Right Wing

The right wing of the console would include docks for an additional raspberry pie and connected screen, a wireless mini keyboard for the pi. The right wing also has docks for a GameCube controller and two Xbox One controllers. Each wing includes 8 USB connections and a flat-top area to allow for plugging thing in to charge and having a place to put said thing down while it charges without being within the working volume. 

Current Standings and Progress

At the moment the inside of the desk console is still being modeled as geometry and print dimension requirements give me headaches. The internals and externals of the chair attachments have been modeled out and the chair attachments have begun printing. The connecting piece for the chair attachments required a reprint to get the right fit that I was talking about but otherwise its mostly been an adventure in gluing prints together post modeling. I've drifted toward snap together pieces for most of my multipart prints so depending on glue for a lasting connection is slightly nerve racking but a lot easier than getting a snap together fit just right.

I plan on moving forward with the chair attachments but am unsure of a timeline for it all, for most parts of this project I would need to buy atleast 1 or 2 electrical components which isn't an option at the moment, but I'll just be happy to get everything glued together and looking close to what I hope for.

11/12/22

Using Wallpaper Engine


Though I've been using the program for years in order to have satisfying and functional wallpapers on my computer I never took the time to learn how to use it for my own wallpaper creation. At least twice before I looked into the process only to find seemingly minimal help online from the developers or from users that make their own, though I'd believe that I narrowly missed them each time. This time however I was able to find guides from the developers as well as online video tutorials for a number of things and am now getting more comfortable with the process and components that go into making one of these live wallpapers. Not touching the programming side of things just yet I was most excited to get a feel for the audio responsive side of things as it is a requirement for the wallpapers that I choose to use. In this demo of a wallpaper I was able to produce an audio responsive wallpaper that I can say I like.

Going into this project I wanted to try to paint the color of a picture in with the sound that is being produced by the computer currently. For this I thought about cutting a picture up similar to a stencil by all its different colors and then fill them in with the sound kind of like how you would with screen printing. In order to do this for a mixture of colors it would require creating opacity masks for the audio responsive layers that have red values according to the amount of each different color and this sound like a bit more file management than I was looking to bite off. So rather than put myself through that headache I decided to search for something with clearly distinct colors that I could mask off with 100% or 0% opacity marks and not worry about the shading as much.

Looking through old reposts from a tumblr I came across this breakout videogame cover (possible just a mock design by a tumblr user) as it had exactly what I was looking for and the star field background would work well with a star field plugin that is preinstalled in the software.

After a fair amount of learning and redoing parts of the wallpaper I finally got it to the point that it is seen in the video. I wouldn't say the production value looks high as I didn't take the time to redo the original design in a raster graphics program nor did I apply any antialiasing when scaling the image so it looks the literal low quality that it originates from, but it looks good enough that I would personally use it even if its in part due to the pride I have for making it.

I started the long process of converting a piece of art I made into a raster graphic  in Inkscape (free illustrator basically) to eventually use to create another wallpaper that I do plan on using myself, but I'm looking at at least a few more weeks of work on that before I even get any pictures into Wallpaper Engine to start making the wallpaper. 

6/25/22

Exploring Blender Some More

I doubt Blender will ever fail to surprise me when it comes to its capability and the exhaustive collection of tools and addons that it provides. After about a decade of coming back to blender now and again I still operate within the software at what feels like a beginner level when, most of the tutorials I watch use primarily shortcut keys and I'm still clicking around the interface for most things. That said I'm still proud to be messing with and slowly getting the hang of Blender, remembering how intimidating it was when I first approached it (especially when the primary mouse button was switched by default). 

Before I got to using Blender I had some exposure to 3D models thanks to a program called Pepakura Designer that allowed for the unfolding of the UV maps of 3D objects for the purpose of printing them out on cardstock and building the object with glue. This was a great way to get precise physical models of 3D objects at the time (such as asset models in video games) but slowly 3D printers have moved in to fill that need, which I'm thankful for as it meant a lot less paper folding in my future. 

Feeling a bit more confident in my 3D modelling skills to the extent that I feel is needed for my small 3D printing projects, I decided to dive into learning texture wrapping and animating for the umpteenth time in Blender. To my own surprise this time though I came out with something not disappointing looking. Finally wrapping my head around the export-import process of the UV Layouts in order to edit them, then grasping the layout of the animation window of blender I feel I was able to produce something that shows promise of learning more when it comes to both. 

The model itself is a cigarette style case but for 2 Juul devices and 4 Juul pods, The pods and Juul device are measured as close as I could get with a stick ruler as I'm still waiting on some calipers. The articulation shown should be physically possible If I'm able to print this at some point. 

3/30/22



Updated Animation

Workspaces Over the Years

Putting this website together I kept coming across photos of my different computer work spaces over the years and enjoyed seeing the progression of their presentation.



11/28/21