Wes Log
Wed, August 11, 2021
I've continued working on Gui. Completing some minimally functional UI. I've been learning https://www.gnu.org/software/emacs/ and studying design as well. I discovered that https://www.glfw.org/ does not support drag and drop OS file events as comprehensively as https://www.qt.io/ (drag enter/exit and formats like dragging browser links), which is unfortunate. I referenced https://tronche.com/gui/x/xlib/ to write events, but supporting more platforms and pushing upstream is a bit of a bother.
I noticed that Comma AI, PureRef, and Dolphin (KDE's file browser) all use Qt...
Tuesday, August 3, 2021
I added support for rendering animated gifs in Gui Gal today using http://giflib.sourceforge.net/gif_lib.html and writing my own implementations of the block extensions. It took quite a while to meet all the edge cases (ie transparent borders and back to prev disposal mode).
My logic behind working on Gui Gal in relation to open source hardware is that I believe to make notable progress we will require large amounts of information processing and automated systems. The internet is a gushing torrent of valuable information, but not being able to effectively filter and take actions based on that information is the defacto situation. I believe accelerating human decision cycles with AI is a cooperative advantage worth pursuing prior to hardware decentralization. It's clear to me that specialists outcompete generalists at most tasks in the physical realm today, but the virutal world is more welcoming to integrated thinking.
In some sense, we're already living in a timeless future brought about by machines. For example my CPU can reach over 4ghz while my car wheels sweat to spin at 2000 rpm.
Notes on building Gui Gal on my OSE Linux 2.0 Laptop: Took a long time to get all the deps and install SDL2 Need to call libgif make command from CMake Uncertain how to install SDL2 library from dep and apt error fetching libsdl2-img-dev global library and SDL_image.h path include
Monday, August 2, 2021
I started participatating in https://itch.io/jam/lowrezjam-2021, and I'm building an editor to help me create an entry https://github.com/Wesxdz/gui-gal I'm hoping that I can continue progressing development on Gui Gal as an open source alternative to PureRef, while also implementing features I feel PureRef is lacking like animated gif support/videos and an integrated ECS for more sophisticated node automation. For example, I've implemented the editor already in such a way that you could write a custom shader for every image. (I think as an avenue for open source entreprenuership cloud cross-device syncing and a marketplace of node assets would be neat) More broadly, this sort of tool precisely represents the minimalist flow that I'd like more game engines to reach.
I've also been reading https://en.wikipedia.org/wiki/Understanding_Media and ordered https://en.wikipedia.org/wiki/John_Chris_Jones 's book Design Methods: Seeds of Human Futures
Friday, July 29, 2021
Lately aside from helping install the AC and learning to weld, I've been sheltering from the intense heat in HabLab and doing some introspection.
Shipping video games is a skill that I have not prioritized improving at in the past, and I am now trying to gain this skill of finishing games by practicing on smaller games and gradually increasing the time and scope as I prove I can ship smaller projects. I'm not sure if this is the best method of practice, but I will reflect on it more as I continue to progress.
Personally, I tend to get caught up on tools. Particularly game engines are imo very bad. Open source game engines are even worse. Trying to use open source software for everything can feel like a battle in its own right, developing a video game on top of that is brutal.
In researching, I ended up reading Derek Yu's blog posts and book https://www.derekyu.com/makegames/archetypes.html, which I think is state of the art in terms of finishing indie projects.
It's definitely possible for me to ship a game, what's difficult is to ship something significant, something that other people actually care about. It takes a lot of time to build something like that, and the default behavior is for me to get distracted by something new, run out of money to pay rent, or otherwise fail to ship.
Friday, July 9, 2021
Integrating more wall module types into Blender, preparing for creation of module builder mechanic
Learning Python scripting in FreeCAD so I can eventually do automatic generation of placement and part variation
Unfortunate discovery: https://blenderbim.org/ does not currently work with https://github.com/ubisoft/mixer :(
Thursday, July 8, 2021
Playing with animation ideas for build instructions and user-configurable wall module material types
Thursday, July 1, 2021
Learning constraints and part design with FreeCAD (https://wiki.freecadweb.org/Tutorials)
Tuesday Jun 29, 2021
I've continued progress towards seed eco home visualiztion and research on the state of archviz in Unreal Engine. There are some very critical issues with the sweethome3d obj export workflow, mainly that many of the house part meshes are split into multiple submeshes and applying accurate uvs and materials is going to take a huge amount of repetitive work. The sheer number of static mesh components involved (1600+ for the home) prevents fast batch iteration in Unreal Engine, so I need to rebuild this demo from scratch using a more modular instanced and combined mesh approach.
There are currently at least two companies working towards modular architecture platforms in Unreal Engine. They are https://generatetechnologies.com/ and https://geoship.is/.
Many startups are raising funding through crowd equity sites to build modular homes (especially ADUs https://en.wikipedia.org/wiki/Secondary_suite) such as https://www.startengine.com/boxabl and https://www.seedinvest.com/modal.living/seed eco and housing related projects seem to be trending and very successful
Friday Jun 25, 2021
FreeCAD Badge Feature on a feature. Took about twenty minutes to learn following https://youtu.be/zKPbcr6QsKs, which I think is longer than it should have.
Tuesday Jun 22, 2021
Really exciting conversations on Discord today :)
I started working on implementing 3D printer mechanics. I was also thinking more about mechanics and I like the idea of building the core gameplay based on a couple games I played as a kid on Roblox: the first is https://roblox.fandom.com/wiki/Community:Stickmasterluke/Natural_Disaster_Survival and the second I cannot find atm (but basically you could craft a sailboat with hemp and craft metal by placing ores onto a bush fire for some amount of time)
Monday Jun 21, 2021
Musings
- The most powerful global institutions are adverse to the goals of post scarcity.
- Open source hardware has not reached a sufficient accessibility, affordability, speed, or universality of replication to be more convenient or reliable for the average person compared to buying mass produced items.
Very excited about Appropedia https://www.appropedia.org/User:J.M.Pearce
Thursday Jun 17, 2021
Research on FPGAs and George Hotz
Continue work on OSE playground
Setup basis for multiplayer and create client/server builds (need help testing between two Linux computers on separate networks)
sorry for low quality, max upload size is 1mb :(
Wed Jun 16, 2021
Create playground UE project with character rig and controls
MJ sez - Seed_Eco-Home_Training_MMOG - just some thoughts on how this could play out
Wes sez - I love the team based competitive building aspect. I think all of this is possible if I push my limits and can get auxiliary dev, 3d modeling/animation, and marketing help. The main hurdle is definitely multiplayer, which can be difficult to develop and test solo, especially because the NetDriver code on Linux is not as stable as on Windows (often networked games made in Unreal only support Windows clients), improving Linux networking is something I'd like to contribute upstream to the engine so other devs can support Linux
Tue Jun 15, 2021
Create Metahuman character for OSE game and setup playground project environment
The Datasmith IFC importer plugin only supports Windows due to a 3rd party dll, but it would probably not be that much work to add Linux support
Compiled FreeCAD with CMake configuration to OpenCascade 7.5
- I've been working on exporting the FreeCAD files to glTF so we can use https://modelviewer.dev/examples/loading/index.html
Here's a couple examples of rendering in UE 5 - Archviz
Outdoors
We can reach this level of fidelity: although many of the CAD workflow/rendering features are not available on Linux yet.