Wednesday, March 13, 2024

Character Generator Studies: User Interface Libraries - Data Handling spells

 chatgpt cleaning up my ramblings. Which is an interesting dilemma - authenticity is being a rambling messy human with convoluted thought processes that is difficult to discern and filled with contradictions - but AI cleans it all up - makes it more understandable. It’s coherent, but the human isn’t.  If you can understand me - it’s either: it was a simple concept to begin with or the ai cleaned it up. 


As I venture deeper into the realms of coding through my latest project, a character generator for the Cepheus Engine, my understanding of JavaScript (JS), HTML, and CSS has expanded significantly. This project has not only served as a practical coding exercise but also as a fascinating exploration into how these technologies interweave to create dynamic and interactive web applications.


The Foundation: HTML, CSS, and JS


At its core, HTML acts as the skeleton, holding the data and the structure of the webpage. Then comes CSS, with its styling prowess, defining the aesthetics from the width and height of elements to the more nuanced details like border radii and shadows, infusing life into the HTML’s static structure.


JavaScript (JS), however, is where the magic truly happens. It introduces interactivity, holding the initial states of our characters and managing complex data structures. Through JS, characteristics such as species—be it Human or Starborn, adapted for life in habitats and ships—are meticulously detailed in objects and arrays, painting a vivid picture of the character’s attributes and potential journey.


The Challenge of JavaScript and Data Handling


JavaScript demands a nuanced understanding of how data is stored, manipulated, and transformed. It’s here that I’ve leaned heavily on ChatGPT, my invaluable guide through the labyrinth of functions and logic that underpin the character generation process. Understanding data handling in JS mirrors the complexities of logistics and quality control, where the sequence and order of information—or in a broader sense, “Material Handling”—significantly impacts outcomes and transformations. ChatGPT knows all the functions but it’s up to me to arrange the logic to make a working product. I had to start from scratch 3 other times. 


UI Libraries and Philosophical Musings

The next frontier in my coding journey is mastering User Interface (UI) libraries, particularly in navigating the intricacies of character creation stages. 

The multitude of decisions a player makes during this process raises intriguing philosophical questions about freedom versus determinism in storytelling. Is the path of a character shaped by autonomous choices, or is it predetermined by the cold logic of a random number generator?

React.js is a well known library. Searching with JS UI libraries gives a lot of libraries for more advanced users and I found React.js easier and since I have some open source coders in the philippines i can ask, I’m inclined to discuss these more with them. 


Expanding Horizons: Beyond Character Generation

The significance of UI extends beyond character creation. I’m exploring how to apply my newfound knowledge to other projects, such as static web apps for generating ships, vehicles, robots, and habitats, along with my silver-rated Mneme World Generator. These tools aim to make the game more accessible and streamline the setup process, enhancing the overall experience for players.

I think it’s possible to do it all myself, although the clean up work is going to a problem. It’s easier for me to understand the concepts and make working prototypes - and then hire one of the many students and teach them what I learned to the tedium of building every element. This will free me to have working tools and test them more - and then proceed to the next horizon: GODOT studies as a more visual set of tools is what I want to do. 


Getting into Godot by the time i’m in my 50s or late 40s because of real life - I wanted to be a game designer but of course real life and mediocre stats. I do a lot of projects that are for the greater good - like shifting businesses to open source so they can hire more staff instead of paying a lot of money to licenses - just moving a our business to Next Cloud (1M php or 20,000usd /year, inclusive of the full time regular staff that will help maintain it) from Google (2M php or 40,000usd/year) and showing to many MSMEs here in the philippines its doable and training a generation of OJTs to do the same thing we did for ourselves to others is an important part of my identity - these IT students entering the workforce where they will be doing just dumb-support for MS365 and GWS. instead they will help in pfsense wireguard, erpnext, next cloud, and of course arduino implementation. 

When you have mediocre stats you try more things and make more calculated bets, and you lose a lot. But when you do start winning, your low stats as compared to the Heroes means that you still make diversified bets. So i’ll be old barely scratching my dreams and in the limit scope of my circumstance. 


No comments: