Tattoo vertical fonts generator
ambigrams
2009.03.27 02:48 nickmcclendon ambigrams
Ambigrams found on the internet or made by fellow redditors! Ambigrams are lettering designs that can be read (either as the same word or a different word) in multiple orientations, often right-side up and upside down, but there are many other types! Feel free to post your designs looking for feedback or to show off a finished product, post questions or commission requests, or just talk about your favorite ambigrams!
2024.05.16 22:53 Total_anon1 Issues with passing variables when using sheets in Swift?
I am currently making a Calorie Tracking app using Swift, but am having some issues with how different views are presented using sheets when trying to pass a variable
I have 2 views - my CaloriesView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct CaloriesView: View { @EnvironmentObject var viewModel: AuthViewModel @EnvironmentObject var calsViewModel: CaloriesViewModel @State private var shouldPresentSheet: Bool = false @State private var selectedCategory: String? = nil var body: some View { NavigationView { ScrollView { VStack(spacing: 20) { CurrentCaloriesView(viewModel: calsViewModel) mealSection("Breakfast", foods: calsViewModel.breakfasts) mealSection("Lunch", foods: calsViewModel.lunches) mealSection("Dinner", foods: calsViewModel.dinners) mealSection("Other Food", foods: calsViewModel.otherFoods) } .navigationBarTitle("Calories", displayMode: .inline) } } .onAppear { Task { await calsViewModel.fetchTodayMacros() await calsViewModel.fetchTodayFoodIntake() } } .sheet(isPresented: $shouldPresentSheet) { FoodListView(calsViewModel: calsViewModel) } } @ViewBuilder private func mealSection(_ category: String, foods: [(String, Double)]) -> some View { VStack(alignment: .leading, spacing: 10) { Text(category) .font(.headline) .padding(.top) ForEach(foods.indices, id: \.self) { index in let food = foods[index] VStack(alignment: .leading, spacing: 8) { Text(food.0) .font(.headline) .bold() Text("Weight: \(food.1, specifier: "%.2f") g") } .padding(.vertical, 8) } Button(action: { Task { let currentDate = Date() // Use the current date let currentUserId = Auth.auth().currentUser!.uid // Directly using the user ID as we're sure user is logged in do { let macrosDocumentExists = await calsViewModel.doesMacrosDocumentExist(userId: currentUserId, date: currentDate) if !macrosDocumentExists { try await calsViewModel.createMacrosDocument(userId: currentUserId, date: currentDate) } let foodIntakeDocumentExists = await calsViewModel.doesFoodIntakeDocumentExist(userId: currentUserId, date: currentDate) if !foodIntakeDocumentExists { try await calsViewModel.createIntakeDocument(userId: currentUserId, date: currentDate) } selectedCategory = category shouldPresentSheet = true } catch { print("Error creating documents: \(error.localizedDescription)") // Handle errors, perhaps by showing an alert to the user } } }) { Label("Add Food For \(category)", systemImage: "plus.circle.fill") .font(.headline) .foregroundColor(.white) .padding() .frame(maxWidth: .infinity) .background(Color.green) .cornerRadius(10) } .padding(.bottom) } } }
And my FoodView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct FoodListView: View { @ObservedObject var calsViewModel: CaloriesViewModel @ObservedObject var foodViewModel = FoodViewModel() @Environment(\.dismiss) private var dismiss @Environment(\.presentationMode) var presentationMode var body: some View { NavigationView { List(foodViewModel.foods) { food in NavigationLink(destination: FoodDetailView(calsViewModel: calsViewModel, food: food)) { Text(food.name) } } .navigationTitle("Select Food") .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button("Cancel") { dismiss() } } } .onAppear { foodViewModel.fetchFoods() } } } } struct FoodDetailView: View { @ObservedObject var calsViewModel: CaloriesViewModel var food: Food @State private var weight: String = "100" @State private var showConfirmation: Bool = false @State private var errorMessage: String? @ObservedObject var authViewModel = AuthViewModel() var body: some View { VStack { TextField("Enter weight in grams", text: $weight) .keyboardType(.numberPad) .textFieldStyle(RoundedBorderTextFieldStyle()) .padding() if let weightAsDouble = Double(weight) { Text("Calories: \(Double(food.calories) * weightAsDouble / 100, specifier: "%.2f") kcal") Group { Text("Protein: \(food.protein * weightAsDouble / 100, specifier: "%.2f") g") Text("Carbs: \(food.carbs * weightAsDouble / 100, specifier: "%.2f") g") Text("Fat: \(food.fat * weightAsDouble / 100, specifier: "%.2f") g") } .font(.headline) } Spacer() Button("Add Food") { Task { let today = Date() guard let userId = Auth.auth().currentUser?.uid else { errorMessage = "Unexpected error: User ID is not available." return } do { let weightDouble = Double(weight) ?? 100 let mealType: MealType = .other // This should be determined or selected by the user print("Adding food with weight: \(weightDouble)") // Debug log try await calsViewModel.addFoodIntakeAndUpdateMacros(userId: userId, date: today, food: food, weight: weightDouble, mealType: mealType) showConfirmation = true } catch { errorMessage = "An unexpected error occurred: \(error.localizedDescription)" } } } .alert("Food Added", isPresented: $showConfirmation) { Button("OK", role: .cancel) { } } message: { Text("Your daily intake has been updated.") } if let errorMessage = errorMessage { Text(errorMessage) .foregroundColor(.red) .padding() } Spacer() } .padding() .navigationTitle("\(food.name) Details") } }
Currently, in FoodDetailsView, the mealType variable that is being saved to the firestore document is hardcoded to be ‘Other Food’, so all of the food, no matter which of the 4 "Add Food For \(category)" buttons I click is being shown in the ‘Other Food’ category
I instead want the food to be saved into the Firestore document with the relevant mealType, depending on which section the button is clicked in
I have tried doing this by passing a mealType variable through when the “Add Food For \(category)" button is clicked, as you can see in the new versions of CaloriesView and FoodView below:
CaloriesView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct CaloriesView: View { @EnvironmentObject var viewModel: AuthViewModel @EnvironmentObject var calsViewModel: CaloriesViewModel @State private var shouldPresentSheet: Bool = false @State private var selectedCategory: String? = nil @State private var selectedMealType: MealType? = nil var body: some View { NavigationView { ScrollView { VStack(spacing: 20) { CurrentCaloriesView(viewModel: calsViewModel) mealSection("Breakfast", foods: calsViewModel.breakfasts, mealType: .breakfast) mealSection("Lunch", foods: calsViewModel.lunches, mealType: .lunch) mealSection("Dinner", foods: calsViewModel.dinners, mealType: .dinner) mealSection("Other Food", foods: calsViewModel.otherFoods, mealType: .other) } .navigationBarTitle("Calories", displayMode: .inline) } } .onAppear { Task { await calsViewModel.fetchTodayMacros() await calsViewModel.fetchTodayFoodIntake() } } .sheet(isPresented: $shouldPresentSheet) { if let selectedMealType = selectedMealType { FoodListView(calsViewModel: calsViewModel, mealType: selectedMealType) } } } @ViewBuilder private func mealSection(_ category: String, foods: [(String, Double)], mealType: MealType) -> some View { VStack(alignment: .leading, spacing: 10) { Text(category) .font(.headline) .padding(.top) ForEach(foods.indices, id: \.self) { index in let food = foods[index] VStack(alignment: .leading, spacing: 8) { Text(food.0) .font(.headline) .bold() Text("Weight: \(food.1, specifier: "%.2f") g") } .padding(.vertical, 8) } Button(action: { Task { let currentDate = Date() let currentUserId = Auth.auth().currentUser!.uid do { let macrosDocumentExists = await calsViewModel.doesMacrosDocumentExist(userId: currentUserId, date: currentDate) if !macrosDocumentExists { try await calsViewModel.createMacrosDocument(userId: currentUserId, date: currentDate) } let foodIntakeDocumentExists = await calsViewModel.doesFoodIntakeDocumentExist(userId: currentUserId, date: currentDate) if !foodIntakeDocumentExists { try await calsViewModel.createIntakeDocument(userId: currentUserId, date: currentDate) } selectedCategory = category selectedMealType = mealType shouldPresentSheet = true } catch { print("Error creating documents: \(error.localizedDescription)") } } }) { Label("Add Food For \(category)", systemImage: "plus.circle.fill") .font(.headline) .foregroundColor(.white) .padding() .frame(maxWidth: .infinity) .background(Color.green) .cornerRadius(10) } .padding(.bottom) } } }
FoodView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct FoodListView: View { @ObservedObject var calsViewModel: CaloriesViewModel @ObservedObject var foodViewModel = FoodViewModel() @Environment(\.dismiss) private var dismiss @Environment(\.presentationMode) var presentationMode var mealType: MealType var body: some View { NavigationView { List(foodViewModel.foods) { food in NavigationLink(destination: FoodDetailView(calsViewModel: calsViewModel, food: food, mealType: mealType)) { Text(food.name) } } .navigationTitle("Select Food") .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button("Cancel") { dismiss() } } } .onAppear { foodViewModel.fetchFoods() } } } } struct FoodDetailView: View { @ObservedObject var calsViewModel: CaloriesViewModel var food: Food var mealType: MealType @State private var weight: String = "100" @State private var showConfirmation: Bool = false @State private var errorMessage: String? @ObservedObject var authViewModel = AuthViewModel() var body: some View { VStack { TextField("Enter weight in grams", text: $weight) .keyboardType(.numberPad) .textFieldStyle(RoundedBorderTextFieldStyle()) .padding() if let weightAsDouble = Double(weight) { Text("Calories: \(Double(food.calories) * weightAsDouble / 100, specifier: "%.2f") kcal") Group { Text("Protein: \(food.protein * weightAsDouble / 100, specifier: "%.2f") g") Text("Carbs: \(food.carbs * weightAsDouble / 100, specifier: "%.2f") g") Text("Fat: \(food.fat * weightAsDouble / 100, specifier: "%.2f") g") } .font(.headline) } Spacer() Button("Add Food") { Task { let today = Date() guard let userId = Auth.auth().currentUser?.uid else { errorMessage = "Unexpected error: User ID is not available." return } do { let weightDouble = Double(weight) ?? 100 print("Adding food with weight: \(weightDouble)") // Debug log try await calsViewModel.addFoodIntakeAndUpdateMacros(userId: userId, date: today, food: food, weight: weightDouble, mealType: mealType) showConfirmation = true } catch { errorMessage = "An unexpected error occurred: \(error.localizedDescription)" } } } .alert("Food Added", isPresented: $showConfirmation) { Button("OK", role: .cancel) { } } message: { Text("Your daily intake has been updated.") } if let errorMessage = errorMessage { Text(errorMessage) .foregroundColor(.red) .padding() } Spacer() } .padding() .navigationTitle("\(food.name) Details") } }
But doing it this way causes the sheet containing FoodListView to be presented as completely blank, containing not even the ‘Cancel’ button
The original code did not do this - any ideas why? Thanks
submitted by
Total_anon1 to
iOSProgramming [link] [comments]
2024.05.16 21:56 mgkmagic mgk's interview with Marvin magazine issue 13
| mgk aka machine gun kelly on genre:sadboy, his exoskeleton, rap album, rock album, Lana Del Rey, Trippie Redd, bands, etc. The full interview below is from Marvin magazine issue 13, which can be purchased on Marvin's official website. https://preview.redd.it/u473mtirdu0d1.jpg?width=3534&format=pjpg&auto=webp&s=50893fb3c30f8af1ae3d8ffed42610db0c26fe7b https://preview.redd.it/lkbwttvtdu0d1.jpg?width=6189&format=pjpg&auto=webp&s=09a7b4cdfb4c5b8c76cf86d5c4bb89da03164c13 https://preview.redd.it/cmb2qsvtdu0d1.jpg?width=6952&format=pjpg&auto=webp&s=78141443a2a4d739fed290fffcf1956067d82389 https://preview.redd.it/5phd1ttwdu0d1.jpg?width=7068&format=pjpg&auto=webp&s=c072faa58cca727625e349a2170de9c76dbd07f0 It Has Always Been About the Music for mgk The Artist Recently Teamed up With Trippie Redd for Their Collaborative Ep ‘Genre : Sadboy.’ Now, He’s Truer to Himself Than Ever Before. mgk has topped the Billboard 200 chart with his 2022 pop-punk entry, ‘mainstream sellout.’ He has been nominated for GRAMMY Awards, won Billboard Music Awards and earned hundreds of millions of Spotify streams. Today, mgk is the main attraction at Dust Studios in Los Angeles. A fresh coat of ink covers the rapper’s arms and chest, mimicking the rain clouds he loves so much back in his hometown of Cleveland. “It was supposed to be spread out over the course of a year, just because of the amount of ink,” he reveals. “But I did mine in a month.” When people ask if he’d been sedated for the process, mgk says he’s shocked. “My eyes started opening to this phenomenon, which is essentially opting out of the point of what a tattoo is, which is cathartic pain.” mgk soon references his lyrics, which — particularly on his latest project, an extended collaborative EP with rapper and fellow Ohio native Trippie Redd — tend to be expressions of isolation, roller coaster relationships, shifting between self-medication and sobriety, and the purgatorial aspects of extreme fame. “I’ll call out for help in my lyrics, and not one fucking person will give two shits,” he says, reasoning that his public bluster and occasional hot temper must indicate stoicism. “Essentially, I think they believe the exoskeleton of confidence that I had to put on because I was being fucked with by the outside world. That’s even from down to idols that I had growing up,” he continues. “Like, they all turned on me, you know what I mean? And I’m like, ‘Guys, what? What am I supposed to do? Because I can’t just be a turtle and go into my shell. I have to come out. I have to bite back.’” https://preview.redd.it/pmphrbd4eu0d1.jpg?width=6147&format=pjpg&auto=webp&s=8edf543a0d1ddb1b94150544edbd752081e8bcd3 Most recently, mgk has poured his innermost thoughts into his aforementioned project with Redd, ‘genre : sadboy,’ a spare, ruminative collection of tracks that gently dovetail between trap, hip-hop and acoustic pop. “I can’t quiet my thoughts/ Don’t let them out this Pandora’s box/ I ruined my wedding, now I wish I had a rope/ So, I could still tie the knot,” mgk spits on the sorrowful closer “summer’s gone,” which, at face value, appears to reference his broken engagement to Megan Fox. His ongoing friendship with Redd, who appeared on 2019 single “Candy” and on 2020’s “all I know,” has been important to him both personally and professionally. “Growing up in Ohio, everyone kind of knows about everyone,” mgk says. “I fell in love with how much of an art piece he was. I related in so many ways — how easily misunderstood he could be. Because I was rapping in the early 2010s, but I was wearing studded denim jackets, punk patches, ripped jeans and things that weren’t really aesthetically hip-hop.” When the pair return to Ohio, which they do often, mgk and Trippie usually attempt to meet up and record. During one session, which mgk calls a “special night,” they began recording music, which kicked off their path to making what would become ‘genre : sadboy.’ “We felt really good about these records because they didn’t feel like some of the other records we had made. [In the past], we had experimented with pitching our voices really high, or doing stuff that felt like 2017, 2018 rager music. Stuff that if we didn’t put it out now, then it wouldn’t make sense to put it out later.” Around the time they teamed up to create ‘genre : sadboy,’ mgk says, “life started to kick both of our asses simultaneously.” He and Redd would spend hours on FaceTime, talking about everything from each other’s psyches to “magic,” “family” and “why certain things are or are not happening for us personally [and] career-wise. … It’s nice to have somebody you can find solace in.” The idea of feeling misunderstood comes up frequently in mgk’s lyrics. Active since the mid-2000s, mgk grabbed the baton from Y2K nu-metal upstarts like Limp Bizkit and Linkin Park and spent the next two decades merging rap and rock as it suited his mood and creative expression. As for the EP title ‘genre : sadboy,’ mgk points out the symbolism behind its artwork. “On the cover, ‘genre’ is over my body because that’s one of the big arguments behind mgk: ‘What genre is he? Why is he allowed to do this genre? I don’t like that he does this genre.’ And then ‘sadboy’ is over Trippie’s body because the argument with Trippie is that fans love his ‘sad boy music,’ and they’re mad that he released [2023’s] ‘Mansion Musik,’ which is rager songs. They wanted the ‘sad Trippie’ back.” Ultimately, neither mgk nor Redd were interested in winning over critics or new audiences with their latest collaboration. This one’s for the existing fans — and, of course — for themselves. “I wanted to just give it away right away,” mgk says of the short time leading to the EP’s release. “Like, yeah, this is a niche project. We’re not doing this for numbers. We’re not doing this to try and get the masses on our side. This is for people who are just sad and want to put this on. Individually, I don’t think that [Trippie and I are] allowed to make those albums. Because people want a roller coaster. https://preview.redd.it/ggdofo29eu0d1.jpg?width=7068&format=pjpg&auto=webp&s=c35f767f6fb86ba2672dc9b55d021b5a97181b75 We’re associated with hype shit. Our concerts are hype. I envy people like Lana [Del Rey] because they’re allowed to just make these mood albums. I wanted to have an excuse to make my own, and this seemed like the perfect place to do it.” Though he’d always hinted at having an expanded music palate, rolling through hip-hop to trap to metal, hard rock and pop, in 2020 mgk fully embraced the guitar, releasing the pop-punk-inspired “tickets to my downfall,” which featured drums and production by Travis Barker, who was swiftly turning into a genre godfather, appearing on WILLOW’s howling “t r a n s p a r e n t s o u l” and Avril Lavigne’s sneering pop-punk reentry “Love Sux.” “He’s someone whose front door was always open to me plenty of times during ‘Tickets To My Downfall’ and ‘mainstream sellout,’” mgk says of Barker, who also produced the singer’s 2022 album. That album featured WILLOW on “emo girl” and Bring Me The Horizon’s Oli Sykes on the thrashing “maybe.” Despite being credited with the 2020s pop-punk revival, raking in awards for ‘Tickets To My Downfall’ and hitting No. 1 on the Billboard 200 with ‘mainstream sellout’ — not to mention nabbing high-profile TV and film roles (2018’s “Bird Box” and portraying Mötley Crüe drummer Tommy Lee in 2019’s “The Dirt”) and earning over $30 million at the box office on the ‘mainstream sellout’ tour — mgk cannot help but feel underappreciated. Sure, the numbers speak for themselves. But for someone as vulnerable as he is, mgk is quick to note that you can have the biggest and best house on the block — and it can still be empty when you get home. Reflecting back on the last decade-plus of his life and career, mgk is blunt about the reality of his lived experience. “I still haven’t found a home, because I didn’t grow up with one,” he says. “I also think a lot of people just skip my background. They just bury that whole thing and act like my life started when I was like 28 and started getting some real success. What about the 10 years I spent underground? What about those years on Warped Tour? When I did the pop-punk album, every band acted like I was brand new. And I was like, ‘But you guys were with me on those stages when I was opening for you at 1 p.m.’” "So many people walk up to me and they’re like, ‘Dude, what you did, what you did,’ and I’m like, ‘Why is that narrative never told?’" “I’ve never been a critic favorite,” mgk continues. “I never really looked to them [for] praise. I look to see if they have any valid points that maybe I could soak in and utilize for the next project. Which is why my next solo project will not be a rock album. But when I do decide to do a rock album, I’ve taken in so many of the critics’ opinions, which are actually valued and understood, that [it] will be a really, really intelligent, powerful rock album.” So there it is: mgk’s next studio release will not be a rock album. “I think it’s always smart to give people what they want,” he ruminates. “And right now it feels like they want a rap album.” But does mgk want to do a rap album? “I do,” he says. “I’ve learned to drop every chip on my shoulder... https://preview.redd.it/1qszmlddeu0d1.jpg?width=7068&format=pjpg&auto=webp&s=b56d6598668f802b815a4f2e0bf7269e010063f1 https://preview.redd.it/6krbctadeu0d1.jpg?width=7068&format=pjpg&auto=webp&s=5d898dd64ea03e32c55fc0510f739670d41e2913 There is one part of my stomach that just cannot be filled by any other genre other than doing a great rap album.” When mgk looks back at his favorite artists from earlier generations, ones that were deemed sellouts or not taken seriously, he holds a spark of hope. Maybe some years in the future, his critical success will catch up with those Spotify streams. “I remember blink-182 in middle school, and everyone said, ‘That’s such a poser band.’ Now, all those kids grew up, their egos dropped, they had families and now they’re all like, ‘Dude, I can’t wait to go see blink-182 at the When We Were Young festival.’ I pray that the same thing comes [for me]. Honestly, I don’t know. If it does, great; if it doesn’t, fuck it. As soon as that redemption arc theory leaves his mouth, mgk changes his mind. “Actually, I don’t care. I do what I do because I love it. I’ve never been a money guy. I’ve never once looked at my bank account in my life. I am strictly here because there’s a hunger inside me that can’t be satiated. No matter how many records are sold, no matter how many concerts are sold out, I just am in love with music and in love with art.” Written by: Rachel Brodsky Photography by: Jimmy Fontaine STYLIST: MALEEKA MOSS STYLIST ASSITANTS: MARISSA ANDREA, DARIE TUROVA LOOK 1 HARNESS - NEW BEDSTUY VINTAGE TEE - FNK STUDIOS SHORTS - DESTROYER OF WORLDS EARRINGS - BALENCIAGA NECKLACES - AI STUDIOS (TOP NECKLACE), VITALLY (BOTTOM NECKLACE) SHOES - BALENCIAGA LOOK 2 TRENCH COAT - LUU’DAN SHIRT - VIVIENNE WESTWOOD ARCHIVE FROM WILD WEST SOCIAL FISHNET HOODIE - RAF SIMONS ARCHIVE FROM WILD WEST SOCIAL PANTS - SEKRIT SAINTS EARRINGS - BALENCIAGA,BOND HARDWARE NECKLACE -METAL HEART WEAR RINGS - BOND HARDWEAR SHOES - BALENCIAGA LOOK 3 BLAZER - LEFTHAND LA PANTS - KIDILL SHOES - SAINT LAURENT ARCHIVE FROM WILD WEST SOCIAL EARRINGS - HANNAH JEWETT NECKLACES - BOND HARDWARE (TOP NECKLACE), VITALLY (MIDDLE NECKLACE), AI STUDIOS (PENDANT NECKLACED) RINGS - BOND HARDWEAR LOOK 4 SUIT - LUU’DAN EARRINGS -TBD NECKLACES - BOND HARDWARE RINGS - TBD SHOES - ALEXANDER HURLEY LOOK 5 COAT - WALTER VAN BEIRENDONCK TOP - MAISIE WILEN PANTS - YOSSI SHOES - SAINT LAURENT ARCHIVE FROM WILD WEST SOCIAL SUNGLASSES - BALENCIAGA EARRINGS - HANNAH JEWETT NECKLACES - VITALLY RINGS - BOND HARDWARE SHOES - ALEXANDER HURLEY https://preview.redd.it/rvhyoklpeu0d1.png?width=3886&format=png&auto=webp&s=95d854c324db2a8f72c24eac434d4987409b1512 https://preview.redd.it/flnjozhafu0d1.png?width=1125&format=png&auto=webp&s=d8b3510f253c836dc9a4546922d7b2a35c45a165 https://preview.redd.it/w5ckbbjqfu0d1.png?width=1137&format=png&auto=webp&s=a2d0edf04d0d98db456068203b60e796bef5c547 submitted by mgkmagic to MachineGunKelly [link] [comments] |
2024.05.16 21:19 LibertyMike Private Midjourney Room
I have a paid Midjourney account through work. I am trying to create some poster art at work, and don't want to have my screen flooded with people's tattoo designs, etc. I also don't necessarily want other people seeing my generations either, but that is less of a concern. I know I can see my own images in
midjourney.com/archive, but would prefer to not have to scroll around to find my renderings in discord. Is this possible, and if so, how? I don't really know a lot about how discord works.
submitted by
LibertyMike to
midjourney [link] [comments]
2024.05.16 21:17 OscarValerock The prettiest table you have ever seen.
2024.05.16 21:03 ScaryMasterpiece6006 Is it possible to get a 3D shape of the storm clouds from doppler radar?
I was wondering if it was possible to extrapolate the general 3-dimensional shape of a cloud based on the various radar scopes generated from doppler radar?
Like for instance, supercell storms with large anvil caps. When looking at the radar, sometimes I'm able to determine the large green oval ahead of a supercell is likely the anvil and not actually dropping any rain over that area. Is there software out there then can take this information and create a 3d version of those clouds to show vertical height?
Let me know if this question makes any sense, and I'll try to clarify lol.
submitted by
ScaryMasterpiece6006 to
stormchasing [link] [comments]
2024.05.16 21:01 cusman78 Dead Hook on PSVR2 - First Impressions
I have uploaded gameplay from my fresh experience with the game
here if you want to see how it looks / plays. My first impressions are shared below:
Based on my limited time with it, I recommend playing Dead Hook on PSVR2, but you should read further to decide if this will be right for you.
It is a roguelite FPS that has the feel of a game like Doom Eternal or Unreal Tournament, and for VR comfort concerns, you should know it is at its best when you are making use of the main gameplay mechanic of the grapple hooks to fling you around the battle arena rooms that have high verticality.
The game has much better story / exposition than typical roguelite where you play as Adam Stone that has some kind of personal relationship with disembodied Grace who wants to return to being corporeal again and is generally suggestive (
3:20) & affectionate (
21:04) towards Adam referencing their past relationship. Your (Adam's) character got damaged (including vocal-cords, so not voiced) due to malfunction while traveling through space to planet Resaract on the quest to get Mythical Stone of Immortality that will help Grace become corporeal (
0:57), so there is a third voiced character in game named Raven who is an AI companion that represents the ship and provides guidance / training and part of the overall storytelling along with Grace.
The gameplay mechanics covered in tutorial (
3:20) involve dual wielding variety of possible shooting weapons, EXO suit powers like Flames, Freeze and Gust that can be shot from arms (think Iron Man), use of the Dead Hook to fling yourself around with either hand (think Batman grapple more than Spider-Man web swing), melee combat using fists or even grabbing and tearing weakened enemies apart, special power of dual swords that can do massive damage, and ability to extend chainsaw blade (Ripper) that can be used to rip enemies apart (think Doom Eternal). You kickstart the chainsaw by putting string in your right-hand from your other hand to rev the motor. The game also lets you run rapidly in whatever direction you are moving with Left Control stick by moving your hands physically in running motion. You are also able to grab onto surfaces to vault yourself up and over.
As a roguelite, between runs, you can spend time on the ship check out target practice using available weapons (Earth & Ancient) or buffs (
22:09), available bounties to complete on runs that will give you extra rewards (
22:53), applying permanent upgrades to your EXO suit at the crafting station (
23:07) and bestiary database (
24:46) that lets you learn more or select opponents for target practice.
During each run (
25:55), you move from procedurally generated arena rooms to next room always moving forward. Between each such room, you often have a choice of which door to choose next with some information given about what to expect in next room. Whenever you clear a room you will get weapon or buff options before proceeding to next room. You can also reach safe rooms (
36:08) that won't have any enemies and instead allow you to bank / use money before proceeding. The goal is to keep proceeding as far as you can and the exposition through Grace / Raven will continue both during gameplay and after you complete / start new runs (including failures).
The game is made on Unity Engine but before Gaze Foveated Rendering became available option for developers for PSVR2. That said, the graphics of this game are generally crisp and clear except for text displays that can be blurry until you get closer. Interesting the gameplay capture recording shows all HUD elements in stable positions and relatively clear while in-headset these elements move around and not as clear (too small / far). The performance of the game is rock solid, possibly 90-120 fps. While I recognize that Gaze Foveated Rendering could possibly make the game sharper and ensure no text is blurry even at distance, I really don't have any significant critique for how the game looks because of how fast moving and good it looks in motion while not inducing any VR discomfort for me despite the wild movement.
The sound in the game has strange moments where the volume either increases (
1:44 &
13:30) or decreases when the settings for that haven't been modified, but fortunately the game provides settings for Audio that helps you adjust it more to your liking. I don't know if the increases are from creative choices or technical glitches, but once I adjusted them to levels that suit me more, it became more stable.
The game is making use of resistive triggers and controller haptic feedback is also being used in variety of scenarios but perhaps not 100% of the use-cases where I think it should (or maybe the strength of the haptics in some scenarios aren't prominent enough). It is not using headset haptics when you are taking damage which I think is the biggest area of possible improvement as the red-light visual indicator that displays on left / right side of your display isn't a strong indicator of taking damage as I think headset haptics could provide.
The game does not provide many options for VR comfort, but defaults to Snap Turns which can be changed to Smooth Turns with 4 different turn speed options. It does not provide any option for teleport or vignette / tunneling / blinders.
The game features Platinum and any trophies that expect count of x have progression. Good emphasis on skill / challenge trophies where many will unlock through natural play and nothing that looks like would be frustrating / luck based.
This game is fun, but if you can't handle the VR speed / verticality or presence of some blurry text that isn't essential to read, it might not be for you.
submitted by
cusman78 to
PSVR [link] [comments]
2024.05.16 21:01 gelatto10 How do i center this text?
2024.05.16 20:29 True_Spell3438 Yūrei, Ghost of the Naraka Clan
Name: Yūrei Naraka Age: 21 Birthday: October 31st Nationality: Japanese/ African-American Gender: Male Pronouns: He/him Height: 5'10 Weight: 150lbs Eye Colour: red and purple heterochromatic circular ring eyes with dark pupils (Think the rainbow dragon curse) Hair Colour: black and red dreadlocks (ear length) w/ an undercut Body Shape: lean extremely muscular build Tats/Piercings/Scars: has tons of scars from various training and missions by himself , several ear piercings: vertical industrial bars ( through both ears) and mid triple helix Piercings (both ears) matte black. Skin Tone: Chocolate Voice Tone: low
𝐈𝐍 𝐃𝐄𝐏𝐓𝐇 Species: Human Grade: 2 (On enrollment) Cursed energy trait: Samsara eyes Cursed Technique: Samsara Path Cursed Tool: Black Needles Uniform: a black jujutsu jacket, purple hoodie, black pants and red hightop sneakers. Personality: Cocky, goofy (when comfortable) secretly has anger issues Sexuality: pansexual Skills and Talents: hand to hand combatant (advanced) , excellent cook Hobbies and Interests:Drawing Character Weaknesses: Cocky, worrying about his teammate, can be bloodthirsty
𝐁𝐚𝐜𝐤𝐬𝐭𝐨𝐫y Occupation: Sorcere Tattoo Artist Languages Spoken: language Backstory: Yūrei was the child of two non sorcerers who was abused by his father for his unique appearance with Non human eyes. He usually wears shades to hide them. He was the descendant of the Naraka clan through his mother's side. They were a clan of nomadic sorcerers who's eyes come from their shikigami partner. He was enrolled in the Tokyo Jujutsu college after gojo saw him in action.
CT explanation: Yūrei has a Technique that he inherited from his ancestors. From them he gained the curse Tool "black Needle" he summon matte black metal rods from his hands that he used for Piercings he can manipulate the density and weight of he commonly makes long sharpened low density rods to use as swords or staffs to be able to pass through, he can disrupt the flow of cursed energy in people with these rods. He also inherited the clans shikigami Technique & CT trait: Samsara eyes his eyes change when he uses his technique and summon the Samsara path shikigami: Kuro and Aka his eyes matching the shikigami He summoned currently. Kuro: is a black & white koi fish with one red circular ring eye the other socket stitched close with black needles. Kuro is used for offense by unleashing powerful airlike slashes depending on the specific number of enemies.
Kuro can sacrifice power to release multiple compact and rapid slashes using the move Scatter.
Samsara path Aka : a white and red Koi Fish with one purple circular ring eye the other socket closed by black needles. It can block and store non physical attacks and by Saying Aka, (attack absorbed name) it can fire the attack back.
Aka has a secondary ability called Good Fortune. This ability allows Aka to manipulate the energy its stored into Cursed energy to heal Yūrei and his friends.
Chants to summon/strengthen Kuro: Samsara, Death , Void
Chants to summon/strengthen Aka : Samsara, Rebirth, Fortune
Yūrei tamed the shikigami using the Black needle giving the fish multiple rods to feed them his Cursed energy.
Domain handsign: the Dhyana mudra , Yūrei makes a bowl Shape with his hands. The tips of his thumb and his fingers are crossed.
Incomplete Domain: Path of Rebirth is a barrier domain that covers the landscape in an endless pool of water.
Complete Domain: Realm of Hellish Rebirth : the domain is a barrier type that allows him to manipulate his soul to a limited degree and the shikigami fuse into a third entity Enma, the Dragon King of Rebirth. It turns into a black white and red eastern Chinese dragon with large black needle antenna and whiskers with the Heterochromatic Samsara eyes. It's never been officially expanded upon what it's ability truly is.
submitted by
True_Spell3438 to
CTsandbox [link] [comments]
2024.05.16 20:23 tadeoh Questions about stencil testing in wgpu
I try to generate screen-space shadow-maps for my 2d-renderer. There are max. 8 lights, and I would like to draw 8-corner-polygon shadows into the respective bit of a 8-bit stencil texture for each of the 8 lights, for all shadowcasters. In pseudocode I would like to do something like this: ```rust // first draw shadows: pass.set_pipeline(shadow_caster_pipeline); for light in lights { // max 8 lights pass.set_stencil_reference(light.shadow_bit); // e.g. light.shadow_bit could be 0b0000_0100 pass.set_push_constants(light.pos) // to offset verts pass.set_vertex_buffer(0,shadow_casters_instance_buffer); pass.draw(0..8, 0..shadow_casters_instance_buffer.len(); // vertex shader offsets vertices according to light.pos for a shadow // fragment shader should just write into the stencil buffer at shadow_bit }
// then draw lights as circles: pass.set_pipeline(light_pipeline); pass.set_vertex_buffer(0,circle_vertices); pass.set_vertex_buffer(1,lights_instance_buffer); pass.draw(0..circle_vertices.len(),0..lights_instance_buffer.len()); // can the fragment shader here read values from the stencil buffer at the correct light.shadow_bit?
```
I found this
blogpost, but I am not sure if it is trustworthy. They say:
After the execution of the fragment shader, a so-called “Stencil Test” is performed. The outcome of the test determines whether the pixel corresponding to the fragment is drawn or not.
This seems a bit weird, because why would we need to execute the fragment shader for a pixel in the first place, if we can already see in the stencil buffer that this pixel should be omitted.
Or maybe I am understanding something wrong here, I am thankful for any advice :)
submitted by
tadeoh to
rust_gamedev [link] [comments]
2024.05.16 19:28 HereForTheScho PC died and it is time to build a new one.
submitted by
HereForTheScho to
buildapc [link] [comments]
2024.05.16 19:12 drewj3james Ghostly Magic System
So I've posted a lot of times on this subreddit, and a part of that is because I haven't fully fleshed out the details of my world; I had a basic idea of what I wanted my world to look like, the types of magic I wanted to be there, and the world in which I wanted that magic to occur. I'm someone who likes grinding down on my magic system until it makes sense, so I haven't really been able to focus on writing my actual story, although in fairness I've tied up a few plot threads. Now, I think I have a genuine final product and can actually start writing my story. So here it goes.
FUNDAMENTALS The three fundamental forces in my universe are Dream, Spark, and Sacrifice. Dream is the product of the underworld, Sacrifice resides in the domain of the living, and Spark is the energy that binds and separates the two worlds. I'm very fascinated by the idea of making a sacrifice, or the spilling of blood in many cases, being necessary for dreams to come true.
Dream, in this context, is imagination, memory, past, future, desire, fear, all that does not yet exist but existed or has the potential to exist. The fuel of Dream is memory, because a dream that is not remembered, even subconsciously, is one that ceases to exist, and Dream tends to absorb memory.
Sacrifice, in this context, has a more neutral meaning than we're used to; it only means a change in the mortal realm, mental or physical, that initiates the coming to life of a dream. Think of a mother, who sacrifices or is made to sacrifice her body for 9 months to give birth to the dream of a child, the possibility made real by the change in the mother's physical circumstance. Or an empire; someone dreamed of it, but they needed to spill blood to bring it into fruition. The blood and death, not the action, is the sacrifice, and that sacrifice brings life to a dream.
Spark, broadly, is energy. From a metaphysical perspective, it is the energy that carries out a sacrifice and, using that sacrifice, brings Dream into existence. Two people needed to perform the action of intercourse for the mother who gives birth to a child to have made a sacrifice; the act of intercourse induces the sacrifice, which is the state of pregnancy. To go back to the empire example, you need to perform the act of stabbing or shooting a bunch of people, or if you're not into all out war, the act of slitting the throat of the king, for instance. The act induces the sacrifice, which is death, which enables the dream to come true. But more broadly, spark is literally energy, the force that makes the planet move, the sword to swing, the fire to burn.
The child of Dream and Spark is Will. Will is consciousness, the ability to make something happen, to manipulate energy to accomplish a purpose, to make the dream come true.
The combination of all three, Dream, Spark, and Sacrifice, is what creates life, a physical manifestation of the Will; this is what makes life special above all other things. When in your physical body, the Will is bound by that body because the body created by Dream, Spark, and Sacrifice creates a barrier that the Will cannot cross, which is why almost no one can manipulate energy on their own. Once you die, you either cross into the Underworld, the land of dreams, or a Sacrifice in the form of emotional connection interacts with the Will to block it from returning to the Underworld, binding you to the Mortal Realm, making you a ghost, a will that exists in the Mortal Realm but without a physical body usually cannot perceive the world except for other Wills, trapping spirits stuck in the Mortal Realm in their own memories unless they can use the body of another as a host.
The exception to the binding of the Will to the body is through Dream; when you dream, your Spark transfers your will to the Underworld, where all dreams live. Spark has a natural magnetism towards the Underworld, and the Will has a natural attraction to Spark, meaning when you're asleep, Spark is no longer bound by consciousness and is able to take the Will to its natural home before waking. As I said before, dreams are fueled by memory, so when you dream, the Underworld is slowly taking memories from you until you wake up, meaning that most people forget most of what they dream about.
The Mortal and Immortal Realms are separated by a substance in the air known as Valin Steel, which has the effect of cancelling out any binding effect of a sacrifice, detaching Spark energy from the physical form it is bound to, causing it to by default return to the Immortal realm. When Spirits are summoned from the Immortal Realm to the Mortal Realm, that creates a disturbance which causes Valin Steel particles to form into visible chunks of a metallic substance stronger than normal steel. Valin Steel is particularly dangerous because of its combustibility, with only a small amount of exposure to fire being sufficient to cause explosions that can level neighborhoods if not cities with just a few pounds of material.
One other reaction is that of the Will interacting with the physical world. The Will generates Spark, and when it is not bound to a physical body but is still bound to the Mortal Realm, that Spark, when a spirit uses it to manipulate the Mortal world, sinks into and irradiates any material under it, which creates a substance called Emanation, which contains certain levels of Spark, which means it can be combined with other ingredients to induce specific magical effects when the solution makes contact with something; Emanation is thus the basis for all magical potions.
MAGIC As I said, the Will of a living being cannot cross past or alter that body, but when a living thing dies, while most go to the Underworld, some are trapped here, without a body to bind the Will. Unbound, a spirit's Will allows them manipulate the Spark, and this forms the source of all magic in this world; the key to using magic, therefore, is developing some type of relationship or having a pre-existing relationship with a spirit. Without any sacrifice, spirits can use telekinesis, lightning generation and manipulation, and thermokinesis. Because Spark forms the basis of cognition, spirits can enter your brain and steal your thoughts and memories, share thoughts and memories by imparting them to the being they're passing through, essentially able to impart "suggestions" that, in their strongest form, can act as a form of hypnosis.
Spirits can also briefly possess creatures, but bodies are generally not equipped to handle two sparks in a single host. A spirit possessing a body would cause every part of that body to want to move, and having two sparks in one body can end up killing the host because without constant movement the extra spark ends up just absorbing oxygen from the air for stimulation. This is why when possession occurs it is usually only for brief periods, like a minute or so. The exception is if people learn certain war dances which allow them to use their whole bodies, they can be possessed, therefore possessing the power of spirits, for a much longer time; they have to keep dancing to maintain the stability, and this form of magic use has given birth to multiple martial arts styles based on encircling and constantly barraging your opponent; some of the arts are called Sand-Dancing, Water-Dancing, and Mud-Dancing, all based on using bouts of telekinesis to quickly harness easy to manipulate materials to overwhelm opponents (the inspiration for these martial arts styles would be Capoeira; Capoeira is extremely effective and allows for constant movement).
So the biggest fuel for my magic system is the issue of perception. Most people can't remember visiting the Underworld, most people can't see beyond their bodies, most people cannot see ghosts in the Mortal Realm, and most ghosts cannot see the Mortal Realm because they don't have a physical body with which they can perceive. This creates a situation where, while anyone can use magic because most people can develop some type of connection with spirits, it is difficult in practice for most to do so.
But some people are born with, or in rare cases develop, a unique bond with dream, giving them some or all of these abilities. Really creatives, people with certain mental disorders, or people born from uniquely difficult circumstances that required sacrifice, usually on the part of the mother, that is greater emotionally or physically than what would otherwise be expected, are more connected to Dream, and are therefore more able to perceive it beyond just their physical senses. This represents around 10% of the population; a strong sign of one of these abilities is lucid dreaming, because it means you are able to navigate the Underworld while not having your memories stolen, meaning you can essentially access the dream world whenever you sleep, or if you're trained whenever you want. Seeing spirits in the mortal realm is rare; around 2% of people have the ability, and it's really useful because spirits have the ability to manipulate energy but can't perceive the world around them, meaning that you can make a deal with a spirit for them to lend you their services in exchange for lending your body to them. Another rare ability is astral projection, which comes hand in hand with the ability to perceive the Mortal Realm as a spirit because both involve the ability to perceive the world beyond your physical body. So these ghosts, unlike others, are under normal circumstances essentially autonomous because they can perceive the world around them, meaning they can interact with the world without the constraints of a physical body. These are usually the deadliest types of spirits.
In order to change the nature of something, you need a sacrifice and a spirit must provide the spark necessary to activate that sacrifice. There are three different types of sacrifices:
- White Sacrifices, which are made by causing mental anguish or connection. This sacrifice is necessary for two purposes; to create and bind someone to a magical oath which makes it so such an oath cannot be broken as long as the person bound to the oath remains bound, or to create a magical bond between two or more beings, allowing those bonded with each other to communicate telepathically, to perceive events through each other’s eyes, to share memories, and when one dies, to share a living body.
- Red Sacrifices, which are made simply by spilling blood. This sacrifice is necessary to transform the physical form of one thing into another form. For instance, to transform an inanimate object into another inanimate object, one must coat that object with their own blood, and have a spirit activate that blood sacrifice by using their spark. Typically, Red Sacrifices involve shedding one’s own blood to change their physical form; when Red Sacrifices are activated, their form changes. When transforming into a form larger than themselves, the spell will cause a person to absorb the soft matter (water, sand, dust, mud, etc.) around them to gain mass, and when transforming into a form smaller than themselves, they shed mass in the form of “Formsand”, which they can then use to transform into their original form. This sacrifice can be permanently imbued as an ability to change into a specific form and back using tattoos made from emanation; the process of tattooing spills the blood necessary for a blood sacrifice, and the specific ingredients, the placement of the ink, and the Will of the tattooer and the tattooed determine the specific form they turn into. Descendants of those who shape shift inherit some of the characteristics of the altered forms of their parents.
- Some animals have also evolved ways of using Red Sacrifices to give themselves enhancements, such as the ability to breathe fire.
- Black sacrifices, which are made by taking a life. This sacrifice is necessary to bind spirits of the dead to a physical form. The target spirit can perform or activate the sacrifice, but if the target spirit is one that the magic user wishes to control, another spirit has to make and activate the sacrifice. This can be used for a variety of purposes, including permanently binding spirits to a physical object and forcing it to do the bidding of the user, and permanently binding a spirit to a dead corpse, giving them new life in a new body.
Spellcasting is the act of giving spirits you are bound to instructions to perform an action. Basically, spirits recognize certain words as commandments to perform an action based on what they've learned; the more people that recognize a specific word as a specific command, the more potent that spell becomes. Spellcasting in the context of telepathic acts is often performed with songs or poetry, with certain phrases being used as a form of hypnotism as the melodic effect coincides with the spirits placing ideas in your head; this also happens to act as a sort of work-around to the requirement of possession for mind control because the spirit doesn't need to channel their energy through the whole body, just the mind, and they don't need to completely enter the person's body to influence them; this allows some magic users to cross the line from hypnotism into genuine mind control.
submitted by
drewj3james to
magicbuilding [link] [comments]
2024.05.16 18:20 brave_support_steven Release Channel 1.66.110
Where to download:
Brave Desktop:
Linux
Full Release Notes
Web3
- Added a “Hide” option for tokens in the “Portfolio” list view. (#37193)
- Updated UI to hide tokens with zero balance in “Account Details” view. (#37194)
- Updated “Swap” and “Send” action view to modal view in the Brave Wallet panel. (#37407)
- Updated “Portfolio” account list items to be clickable. (#37340)
- Updated “Account” list items to be clickable. (#37321)
- Updated the “Transaction” list item hover background color. (#37339)
- Updated the “Token” list item hover background color. (#37311)
- Updated “Review Swap” button to have border radius. (#37032)
- Updated “Select Address” modal to use new “Composer UI”. (#34581)
- Moved “Portfolio Settings” into the “Wallet Settings” menu. (#37257)
- Removed persistent “Connect hardware wallet” panel. (#37402)
- Fixed ERC20Approve transactions displaying an incorrect spender address. (#35007)
- Fixed overlapping tokens in “Choose asset to swap” in panel view. (#37139)
Rewards
- Removed “Monthly Statement” view from brave://rewards. (#36522)
General
- Added “Claude 3 Haiku” (free) and “Claude 3 Sonnet” (premium) models to the Brave Leo model selection list. (#36802)
- Added Web Discovery Project card to onboarding flow. (#38006)
- Added a close button to the sidebar panel header. (#36943)
- Added quick commands to normal omnibox searches. (#36912)
- [Security] Removed the “Automatic .onion redirect” feature. (#36933)
- Implemented Brave Leo rewrite in-place from context menu rewrite actions. (#36865)
- Updated default search engine to Brave Search for new installations in Italy. (#38028)
- Updated button colors and style throughout the UI. (#37970)
- Updated settings under brave://settings/shields and brave://settings/privacy. (#36859)
- Updated Brave Leo messaging for when a page is too long for summarization. (#36175)
- Disabled Isolated Web Apps (IWAs). (#36515)
- Removed extraneous toggles under brave://settings/fonts. (#38032)
- Removed the “Help tips” page from brave://settings. (#37510)
- Fixed Brave VPN status being out of sync with macOS after waking from sleep. (#29500)
- Fixed extension generated blobs not being accessible because of blob partitioning. (#38256)
- Fixed context menu not being displayed for the sidebar button. (#36747)
- Fixed cross-engine exceptions in “Standard” ad-blocking mode. (#36940)
- Fixed bookmarks bar hover effect. (#35832)
- Fixed incorrect browser pin state on Windows in certain cases. (#26301)
- Upgraded Chromium to 125.0.6422.60. (#38350) (Changelog for 125.0.6422.60)
submitted by
brave_support_steven to
brave_browser [link] [comments]
2024.05.16 18:00 Extreme-Brief-8285 A good reason to remember Satoshi Nakamoto's theory that the price of an asset gravitates towards the cost of producing it
📊
"If the price is below the cost of production, production slows down. If the price is higher than the cost of production, then profits can be made by producing and selling more. At the same time, increasing production increases complexity, which increases the cost of production.
"In later years, when the generation of new coins is a small percentage of the existing supply, the market price will dictate the cost of production to a greater extent than vice versa
The way this theory works in practice can be clearly seen in the chart from Capriole Investments: there have only been 5 times in history when the price of miners was lower than the cost of electricity (see vertical green areas)
Now is that fifth time. And you don't have to be a cool analyst to see the pattern here
submitted by
Extreme-Brief-8285 to
Bitcoin_ETF [link] [comments]
2024.05.16 16:58 East_Alternative_538 Best Porn Subs 2024
submitted by
East_Alternative_538 to
nsfwaigenerator [link] [comments]
2024.05.16 16:46 dan_marchand What happens when you launch an indie game demo on Steam? A quick postmortem
One week ago, on May 9th, I released a demo on Steam. I'm an indie dev, so there was no major marketing blast associated with it. At that time, the game had ~1200 wishlists, and a small but active fanbase on Discord.
Demo Content The game is a hybrid action RPG and bullet hell. The demo features three characters and one main infinitely-generated area with 3 bosses. It also includes a sort of prototype infinite scaling endgame for players who have gotten through all of the existing demo content.
The demo focuses heavily on loot. Players find randomly generated items with up to 6 modifiers from a pool of potentially hundreds of mods, and can craft those items with really wacky crafting tools in order to gain exponential increases in power. The demo also features 9 skill trees, although these are somewhat reduced in scope compared to the full version.
Visibility Near-immediate visibility on Steam was the most surprising aspect. Within a few hours, impressions skyrocketed from ~1,000 per day to ~15,000 per day. According to Steam's internal analytics, more than 70% of this was due to the Free Demos Hub:
https://store.steampowered.com/demos/ Investigating further, the game had hit the top of the "New and Trending" section on this page pretty quickly. Day one downloads were in the thousands, which may have helped.
The remaining 30% came mostly from two Reddit posts. One on
games, and one on
/incremental_games. The former was eventually deleted by the moderators after 20 hours, as it was in violation of the 10% self-promotion rule. I suspect they're very strict and counted my self-posts in my own subreddit for the game.
I'm honestly not sure if the high visibility on the Steam Demo Hub was luck or if I had selected my capsule and game title well. Valve is pretty opaque with regards to how their algorithm works.
Visibility slowly tapered off with time. The effect of the Demo placement completely wore off by May 13th, and Impressions reduced to around ~2,000 per day. I expect this to slowly continue to drop off as well.
Player Stats and Retention Daily active users peaked around 120, and has slowly fallen off to around 60. Active player counts peaked at 15, and have fallen off to ~4-7 depending on the hour.
Western Europe's peak hours appear to be the game's peak hours, with US peak forming a secondary peak. The game is only available in English currently, so it's not surprising that the peak hours matched this.
Median playtime is holding steady at around 17 minutes, which I suspect is pretty decent. About 15% of players bounce in a minute of opening the game, which tells me there's some work to do on the new player experience still. 20% of players spend over an hour on their first session though, which is a good sign.
There were some major outliers in total playtime as well. A few players, who I'll talk about below, logged over 20 hours in just 3 days. Many others logged at least 10 hours in the same window, indicating to me that there's aspects of this game that absolutely hook certain players.
Wishlists I can't decide whether to be excited or disappointed here. The game gained around 300 wishlists, topping out just around 1500. Percentage-wise this is a substantial increase in 3 days, but it's also nowhere near enough to enter Next Fest any time soon.
Daily wishlist gain spiked at around 60 at demo launch, and has slowly petered off into 10 or so per day. I expect this to continue to decline without further intervention from me.
Community and Bugfixing I have a Discord server for the game's community, which grew from around 60 users to 75 or so. Nothing too amazing, but the "super fan" count increased as well. Prior to launch I had a few power users with hundreds of hours in the game who eagerly playtested, and a few others have now joined that community.
These users are pretty aggressive bug reporters too! While the core game tends to work very well, once players start scaling into the 20+ hour range some unexpected interactions tend to occur with the large complex item modifier pool, the crafting, and the skill trees. These fans are invaluable for finding interactions here that are unexpected. I truly believe some of them know more about the second-order effects of items and skills than I do at this point.
These players also helped with improving game performance. While it performs very well for the core demo vertical slice, very late endgame players can find themselves slaughtering hundreds of enemies per second with complex interactions triggering an obscene number of second-order effects per second. This performance has been substantially improved, and I'm tempted to write a separate blog post about my discoveries there at some point.
Fortunately there were no major showstopper bugs for the core gameplay. This is likely due to running a playtest prior. I strongly recommend everyone take advantage of the Steam Playtest feature prior to a release.
Next Steps This is the hard part. The demo launch was somewhat bittersweet. Gaining more super fans was a great experience, and +25% wishlists is nothing to sneeze at. Still, I'm left with the concern that I'm not going to be able to push the game to the 7-10k wishlist threshold for a decent launch. Next Fest might gain an extra thousand or two, but there's still a lot of ground to gain before that's viable.
Things I've tried or am trying:
- Reddit ads - I ran a low cost campaign for a few days ($60/day). It actually drove a decent amount of traffic and has helped keep game placement from falling too far. It may help a bit with the intangibles surrounding the Steam algorithm, but it's definitely not going to deliver a direct return on investment. I likely won't continue for now.
- Streamer outreach - I located around 30 streamers in the relevant genres and sent them the standard press kit + pitch combo that's frequently recommend. Only 1 replied, and it was a talent agent for a streamer with a few hundred daily viewers asking for thousands of USD. Definitely not worth paying that at this time. I'll continue to try to refine this approach, but was disheartened by the fact that even small streamers these days seem to have talent agencies as their contact info.
- Steam's Endless Replayability Fest - I had high hopes for this, considering that game festivals are frequently recommended as the best way to market indie games. My experience was pretty lackluster. Demos are placed so deep into the festival UI that there's almost no organic traffic. I was showing up on the first, and sometimes second, page of the "Most Downloaded Demos" section, but that was delivering absolute peanuts in terms of impressions. For this festival at least, I think you wanted to have an already-released game. I've applied to a bunch of other festivals anyways, maybe it'll help!
Summary Launching a demo was a fun, but somewhat nerve-wracking experience. I learned a lot, but am still left in the same position I was before, and am unsure if the game is truly viable or not. I'm always interested in hearing advice from the community as well, if anyone has anything to share!
Game link, in case you want to share or compare experiences:
https://store.steampowered.com/app/2052160/Dont_Die_Collect_Loot/ submitted by
dan_marchand to
gamedev [link] [comments]
2024.05.16 16:41 SmallCapGrowth Chatbot Technology by $CBDW 1606 Corp Paves The Way For Increased Value & Profitability
In an era where digital innovation is not just an advantage but a necessity, 1606 Corp emerges as a visionary leader, redefining the landscape of customer and investor engagement through advanced AI-driven chatbots. This strategic pivot towards leveraging chatbot technology signifies a broader vision of 1606 Corp, extending its reach beyond the confines of the CBD market to explore new verticals and harness the burgeoning potential of artificial intelligence.
In an era where digital innovation is not just an advantage but a necessity, 1606 Corp emerges as a visionary leader, redefining the landscape of customer and investor engagement through advanced AI-driven chatbots. This strategic pivot towards leveraging chatbot technology signifies a broader vision of 1606 Corp, extending its reach beyond the confines of the CBD market to explore new verticals and harness the burgeoning potential of artificial intelligence.
Revolutionizing Engagement Through AI
At the heart of 1606 Corp’s innovative leap is the deployment of sophisticated chatbot solutions, designed to cater to a myriad of inquiries ranging from financial data to product-specific information. This move is propelled by the understanding that in today’s fast-paced world, the ability to provide immediate, accurate responses is paramount. Statista forecasts the global AI market to exceed $89 billion by 2025, highlighting the increasing trust and reliance on artificial intelligence across diverse sectors. By integrating AI-driven chatbots into their operational framework, 1606 Corp is not just keeping pace with this trend but is positioning itself at the forefront of technological advancement.
The significance of such innovation extends beyond the mere provision of information. It encompasses a strategic transformation in how companies interact with their investors and customers, establishing a new standard for transparency, efficiency, and trust. Through AI-driven conversations, these chatbots are capable of understanding and responding to complex queries with remarkable accuracy, thus enhancing user experience and engagement. This capability is particularly crucial for publicly traded companies like 1606 Corp, where timely and precise communication can significantly impact investor relations and market perception.
A Strategic Approach to Market Expansion
The introduction of chatbot technology by 1606 Corp is a calculated step towards expanding market reach and enhancing operational efficiency. With the global nature of financial markets, the ability to offer round-the-clock interaction becomes a critical competitive advantage. Chatbots ensure that no investor inquiry goes unanswered, regardless of the timezone, thereby improving accessibility and investor satisfaction. This 24/7 availability, coupled with the chatbots’ ability to handle a high volume of inquiries simultaneously, signifies a leap towards unmatched service quality and responsiveness.
Moreover, the deployment of chatbots serves as a testament to 1606 Corp’s commitment to innovation and customer service excellence. It not only elevates the brand’s perception among investors and customers but also positions the company as a leader in adopting cutting-edge technologies to meet the evolving demands of the digital age. By doing so, 1606 Corp not only enhances its operational capabilities but also opens new avenues for growth and profitability.
The Path Forward
The expansion into AI-driven chatbots represents more than just a technological upgrade for 1606 Corp; it signifies a strategic realignment towards creating value and profitability in an increasingly digital marketplace. By harnessing the power of artificial intelligence, 1606 Corp is not only improving its investor relations and customer service but is also setting a new industry standard for engagement and efficiency.
As 1606 Corp continues to explore and integrate advanced chatbot solutions, the potential for personalized user experiences and strategic marketing campaigns becomes increasingly apparent. These chatbots offer sophisticated features like content recommendation and IP tracking for remarketing, providing personalized interactions and enabling targeted marketing strategies. Such capabilities enhance user engagement and open up new possibilities for lead generation and brand loyalty.
In conclusion, the journey of 1606 Corp into the realm of AI-driven chatbots is a bold move towards reimagining the future of investor and customer engagement. It reflects a forward-thinking approach that not only addresses the immediate needs of information dissemination and interaction but also lays the foundation for long-term growth and success. As the digital landscape continues to evolve, 1606 Corp’s embrace of chatbot technology stands as a beacon of innovation, driving value and profitability for its investors and stakeholders in the competitive marketplace.
https://cbdw.ai/chatbot-technology-by-1606-corp-paves-the-way-for-increased-value-profitability/ submitted by
SmallCapGrowth to
stockstobuytoday [link] [comments]
2024.05.16 16:11 GrowthWest2361 Modrinth Modpack Crashing
I am using Modrinth for my client side modpack but it crashes and will not launch. These are the logs on launch: [16:05:01] [main/INFO]: Loading Minecraft 1.20.1 with Fabric Loader 0.15.11
[16:05:02] [main/INFO]: Loading 171 mods:
`- ambientsounds 6.0.1` `- architectury 9.2.14` `- ash_api 3.0.2+1.20.1` `- auditory 0.0.6-1.20.1` `- bigpony 1.11.2+1.20.1` `- blur 3.1.0` `- cameraoverhaul 1.4.0-fabric-universal` `- capes 1.5.2+1.20` `- cicada 0.7.1+1.20.1` `- citresewn 1.1.5+1.20.1`
\-- citresewn-defaults 1.1.5+1.20.1
`- cloth-config 11.1.118`
\-- cloth-basic-math 0.6.1
`- clumps 12.0.0.4` `- creativecore 2.11.28`
\-- net_minecraftforge_eventbus 6.0.3
`- cullleaves 3.2.0` `- do_a_barrel_roll 3.5.6+1.20.1`
-- fabric-permissions-api-v0 0.2-SNAPSHOT
\-- mixinsquared 0.1.1
`- eatinganimationid 1.20+1.9.61` `- enhancedvisuals 1.7.2` `- entity_model_features 2.0.2` `- entity_texture_features 6.0.1`
\-- org_apache_httpcomponents_httpmime 4.5.10
`- entityculling 1.6.2-mc1.20.1` `- essential-container 1.0.0`
\-- essential-loader 1.2.1
`- exordium 1.2.1-mc1.20.1` `- fabric-api 0.92.1+1.20.1`
-- fabric-api-base 0.4.31+1802ada577
-- fabric-api-lookup-api-v1 1.6.36+1802ada577
-- fabric-biome-api-v1 13.0.13+1802ada577
-- fabric-block-api-v1 1.0.11+1802ada577
-- fabric-block-view-api-v2 1.0.1+1802ada577
-- fabric-blockrenderlayer-v1 1.1.41+1802ada577
-- fabric-client-tags-api-v1 1.1.2+1802ada577
-- fabric-command-api-v1 1.2.34+f71b366f77
-- fabric-command-api-v2 2.2.13+1802ada577
-- fabric-commands-v0 0.2.51+df3654b377
-- fabric-containers-v0 0.1.64+df3654b377
-- fabric-content-registries-v0 4.0.11+1802ada577
-- fabric-convention-tags-v1 1.5.5+1802ada577
-- fabric-crash-report-info-v1 0.2.19+1802ada577
-- fabric-data-attachment-api-v1 1.0.0+de0fd6d177
-- fabric-data-generation-api-v1 12.3.4+1802ada577
-- fabric-dimensions-v1 2.1.54+1802ada577
-- fabric-entity-events-v1 1.6.0+1c78457f77
-- fabric-events-interaction-v0 0.6.2+1802ada577
-- fabric-events-lifecycle-v0 0.2.63+df3654b377
-- fabric-game-rule-api-v1 1.0.40+1802ada577
-- fabric-item-api-v1 2.1.28+1802ada577
-- fabric-item-group-api-v1 4.0.12+1802ada577
-- fabric-key-binding-api-v1 1.0.37+1802ada577
-- fabric-keybindings-v0 0.2.35+df3654b377
-- fabric-lifecycle-events-v1 2.2.22+1802ada577
-- fabric-loot-api-v2 1.2.1+1802ada577
-- fabric-loot-tables-v1 1.1.45+9e7660c677
-- fabric-message-api-v1 5.1.9+1802ada577
-- fabric-mining-level-api-v1 2.1.50+1802ada577
-- fabric-model-loading-api-v1 1.0.3+1802ada577
-- fabric-models-v0 0.4.2+9386d8a777
-- fabric-networking-api-v1 1.3.11+1802ada577
-- fabric-networking-v0 0.3.51+df3654b377
-- fabric-object-builder-api-v1 11.1.3+1802ada577
-- fabric-particles-v1 1.1.2+1802ada577
-- fabric-recipe-api-v1 1.0.21+1802ada577
-- fabric-registry-sync-v0 2.3.3+1802ada577
-- fabric-renderer-api-v1 3.2.1+1802ada577
-- fabric-renderer-indigo 1.5.1+1802ada577
-- fabric-renderer-registries-v1 3.2.46+df3654b377
-- fabric-rendering-data-attachment-v1 0.3.37+92a0d36777
-- fabric-rendering-fluids-v1 3.0.28+1802ada577
-- fabric-rendering-v0 1.1.49+df3654b377
-- fabric-rendering-v1 3.0.8+1802ada577
-- fabric-resource-conditions-api-v1 2.3.8+1802ada577
-- fabric-resource-loader-v0 0.11.10+1802ada577
-- fabric-screen-api-v1 2.0.8+1802ada577
-- fabric-screen-handler-api-v1 1.3.30+1802ada577
-- fabric-sound-api-v1 1.0.13+1802ada577
-- fabric-transfer-api-v1 3.3.5+8dd72ea377
\-- fabric-transitive-access-wideners-v1 4.3.1+1802ada577
`- fabric-language-kotlin 1.10.20+kotlin.1.9.24`
-- org_jetbrains_kotlin_kotlin-reflect 1.9.24
-- org_jetbrains_kotlin_kotlin-stdlib 1.9.24
-- org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.9.24
-- org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.9.24
-- org_jetbrains_kotlinx_atomicfu-jvm 0.24.0
-- org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.8.0
-- org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.8.0
-- org_jetbrains_kotlinx_kotlinx-datetime-jvm 0.5.0
-- org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.6.3
-- org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.6.3
\-- org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.6.3
`- fabricloader 0.15.11`
\-- mixinextras 0.3.5
`- faster-random 4.1.0` `- ferritecore 6.0.1` `- flow 1.5.0+1.20.1` `- forgeconfigapiport 8.0.0` `- geckolib 4.4.4`
\-- com_eliotlash_mclib_mclib 20
`- hdskins 6.10.3+1.20.1` `- inventoryprofilesnext 1.10.10` `- iris 1.7.0+mc1.20.1`
-- fabric-api-base 0.4.31+1802ada577
-- fabric-key-binding-api-v1 1.0.37+1802ada577
-- io_github_douira_glsl-transformer 2.0.0-pre13
-- org_anarres_jcpp 1.4.14
\-- org_antlr_antlr4-runtime 4.11.1
`- java 17` `- jei 15.3.0.4` `- kirin 1.15.6+1.20.1` `- konkrete 1.8.1` `- krypton 0.2.3`
\-- com_velocitypowered_velocity-native 3.2.0-SNAPSHOT
`- lazydfu 0.1.3` `- libipn 4.0.2` `- lithium 0.11.2` `- malilib 0.16.3` `- midnightlib 1.4.1` `- minecraft 1.20.1` `- minelp 4.11.7+1.20.1`
\-- mson 1.9.3+1.20.1
`- modmenu 7.2.2` `- moreculling 1.20.4-0.24.0`
-- conditional-mixin 0.3.2
\-- mixinsquared 0.1.1
`- mousetweaks 2.26` `- mousewheelie 1.13.0+mc1.20.1`
-- amecsapi 1.5.1+mc1.20-pre1
-- coat 1.0.0-beta.20+mc1.20-pre1
-- tweed4_annotated 1.3.1+mc1.20-pre1
-- tweed4_base 1.7.1+mc1.20-pre1
-- tweed4_data 1.2.1+mc1.20-pre1
-- tweed4_data_hjson 1.1.1+mc1.20-pre1
-- tweed4_tailor_coat 1.1.3+mc1.20-pre1
-- tweed4_tailor_lang_json_descriptions 1.1.0+mc1.20-pre1
\-- tweed4_tailor_screen 1.1.4+mc1.20-pre1
`- mru 0.4.0+1.20` `- notenoughanimations 1.7.3` `- notes 1.20.1-2.1.0-fabric` `- openpartiesandclaims 0.22.0` `- physicsmod 3.0.14` `- plasmovoice 2.0.9`
-- aopalliance_aopalliance 1.0
-- com_google_inject_guice 5.0.1
-- fabric-permissions-api-v0 0.2-SNAPSHOT
\-- javax_inject_javax_inject 1
`- presencefootsteps 1.9.4+1.20.1` `- satin 1.14.0` `- sodium 0.5.8+mc1.20.1` `- sound_physics_remastered 1.20.1-1.3.1` `- starlight 1.1.2+fabric.dbc156f` `- telepistons 1.1.3` `- tooltipscroll 1.3.0` `- transparent 8.0.1+1.20.1` `- viabackwards 5.0.0-SNAPSHOT` `- viafabric 0.4.14+70-main`
-- org_yaml_snakeyaml 2.2
\-- viafabric-mc1201 0.4.14+70-main
`- viarewind 4.0.0-SNAPSHOT` `- viaversion 5.0.0-SNAPSHOT` `- visuality 0.7.1+1.20` `- xaerominimap 24.1.1` `- xaeroworldmap 1.38.4` `- yet_another_config_lib_v3 3.4.2+1.20.1-fabric`
-- com_twelvemonkeys_common_common-image 3.10.0
-- com_twelvemonkeys_common_common-io 3.10.0
-- com_twelvemonkeys_common_common-lang 3.10.0
-- com_twelvemonkeys_imageio_imageio-core 3.10.0
-- com_twelvemonkeys_imageio_imageio-metadata 3.10.0
-- com_twelvemonkeys_imageio_imageio-webp 3.10.0
-- org_quiltmc_parsers_gson 0.2.1
\-- org_quiltmc_parsers_json 0.2.1
[16:05:02] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/{COMPUTER_USERNAME}/AppData/Roaming/com.modrinth.theseus/meta/libraries/net/fabricmc/sponge-mixin/0.13.3+mixin.0.8.5/sponge-mixin-0.13.3+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT
[16:05:02] [main/INFO]: Compatibility level set to JAVA_17
[16:05:02] [main/INFO]: Loaded configuration file for Lithium: 115 options available, 2 override(s) found
[16:05:03] [main/WARN]: Reference map 'mru-refmap.json' for mru.mixins.json could not be read. If this is a development environment you can ignore this message
[16:05:03] [main/WARN]: [Satin] Iris is present, custom block renders will not work
[16:05:03] [main/INFO]: Loaded configuration file for Sodium: 42 options available, 3 override(s) found
[16:05:03] [main/INFO]: CameraOverhaul: Using modern mixin 'mirsario.cameraoverhaul.fabric.mixins.modern.CameraMixin'.
[16:05:03] [main/INFO]: CameraOverhaul: Using modern mixin 'mirsario.cameraoverhaul.fabric.mixins.modern.GameRendererMixin'.
[16:05:03] [main/INFO]: CameraOverhaul: Skipping legacy mixin 'mirsario.cameraoverhaul.fabric.mixins.legacy.LegacyCameraMixin'.
[16:05:03] [main/WARN]: Error loading class: net/raphimc/immediatelyfast/feature/core/ImmediateAdapter (java.lang.ClassNotFoundException: net/raphimc/immediatelyfast/feature/core/ImmediateAdapter)
[16:05:03] [main/WARN]: Error loading class: net/coderbot/batchedentityrendering/impl/FullyBufferedMultiBufferSource (java.lang.ClassNotFoundException: net/coderbot/batchedentityrendering/impl/FullyBufferedMultiBufferSource)
[16:05:03] [main/WARN]: Error loading class: net/coderbot/iris/layeInnerWrappedRenderType (java.lang.ClassNotFoundException: net/coderbot/iris/layeInnerWrappedRenderType)
[16:05:03] [main/WARN]: Error loading class: net/coderbot/iris/layeOuterWrappedRenderType (java.lang.ClassNotFoundException: net/coderbot/iris/layeOuterWrappedRenderType)
[16:05:03] [main/WARN]: Error loading class: dev/tr7zw/skinlayers/rendeCustomizableModelPart (java.lang.ClassNotFoundException: dev/tr7zw/skinlayers/rendeCustomizableModelPart)
[16:05:03] [main/WARN]: Error loading class: dev/emi/emi/screen/EmiScreenManager$ScreenSpace (java.lang.ClassNotFoundException: dev/emi/emi/screen/EmiScreenManager$ScreenSpace)
[16:05:03] [main/WARN]: Error loading class: dev/emi/emi/screen/EmiScreenManager$SidebarPanel (java.lang.ClassNotFoundException: dev/emi/emi/screen/EmiScreenManager$SidebarPanel)
[16:05:03] [main/WARN]: Error loading class: dev/emi/emi/screen/StackBatcher (java.lang.ClassNotFoundException: dev/emi/emi/screen/StackBatcher)
[16:05:03] [main/WARN]: Error loading class: folk/sisby/inventory_tabs/tabs/BlockTab (java.lang.ClassNotFoundException: folk/sisby/inventory_tabs/tabs/BlockTab)
[16:05:03] [main/WARN]: Error loading class: folk/sisby/inventory_tabs/tabs/VehicleInventoryTab (java.lang.ClassNotFoundException: folk/sisby/inventory_tabs/tabs/VehicleInventoryTab)
[16:05:03] [main/WARN]: Error loading class: folk/sisby/inventory_tabs/tabs/PlayerInventoryTab (java.lang.ClassNotFoundException: folk/sisby/inventory_tabs/tabs/PlayerInventoryTab)
[16:05:03] [main/WARN]: Error loading class: folk/sisby/inventory_tabs/tabs/ItemTab (java.lang.ClassNotFoundException: folk/sisby/inventory_tabs/tabs/ItemTab)
[16:05:03] [main/WARN]: Error loading class: folk/sisby/inventory_tabs/tabs/EntityTab (java.lang.ClassNotFoundException: folk/sisby/inventory_tabs/tabs/EntityTab)
[16:05:03] [main/WARN]: Force-disabling mixin 'alloc.blockstate.StateMixin' as rule 'mixin.alloc.blockstate' (added by mods [ferritecore]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'world.player_chunk_tick.ThreadedAnvilChunkStorageMixin' as rule 'mixin.world.player_chunk_tick' (added by mods [krypton]) disables it and children
[16:05:03] [main/WARN]: Error loading class: net/optifine/shaders/Shaders (java.lang.ClassNotFoundException: net/optifine/shaders/Shaders)
[16:05:03] [main/WARN]: Error loading class: net/optifine/shaders/ShadersCompatibility (java.lang.ClassNotFoundException: net/optifine/shaders/ShadersCompatibility)
[16:05:03] [main/WARN]: Error loading class: net/optifine/shaders/Programs (java.lang.ClassNotFoundException: net/optifine/shaders/Programs)
[16:05:03] [main/WARN]: Error loading class: com/simibubi/create/content/contraptions/AbstractContraptionEntity (java.lang.ClassNotFoundException: com/simibubi/create/content/contraptions/AbstractContraptionEntity)
[16:05:03] [main/WARN]: Error loading class: org/valkyrienskies/core/impl/game/ships/ShipObjectClient (java.lang.ClassNotFoundException: org/valkyrienskies/core/impl/game/ships/ShipObjectClient)
[16:05:03] [main/WARN]: Error loading class: net/optifine/util/BlockUtils (java.lang.ClassNotFoundException: net/optifine/util/BlockUtils)
[16:05:03] [main/WARN]: Error loading class: link/infra/indium/rendererendeTerrainRenderContext (java.lang.ClassNotFoundException: link/infra/indium/rendererendeTerrainRenderContext)
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.entity.CuboidMixin' as rule 'mixin.features.render.entity' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.entity.ModelPartMixin' as rule 'mixin.features.render.entity' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.entity.cull.EntityRendererMixin' as rule 'mixin.features.render.entity' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.entity.shadows.EntityRenderDispatcherMixin' as rule 'mixin.features.render.entity' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.gui.font.GlyphRendererMixin' as rule 'mixin.features.render.gui.font' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.world.sky.BackgroundRendererMixin' as rule 'mixin.features.render.world.sky' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.world.sky.ClientWorldMixin' as rule 'mixin.features.render.world.sky' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Force-disabling mixin 'features.render.world.sky.WorldRendererMixin' as rule 'mixin.features.render.world.sky' (added by mods [iris]) disables it and children
[16:05:03] [main/WARN]: Error loading class: org/jetbrains/annotations/ApiStatus$Internal (java.lang.ClassNotFoundException: org/jetbrains/annotations/ApiStatus$Internal)
[16:05:04] [main/INFO]: Starting Essential Loader (stage2) version 1.6.0 (0500a9e0db06ef66767fc4dcffb05cd5) [stable]
[16:05:04] [main/INFO]: Starting Essential v1.3.2.4 (#6b55293e12) [stable]
[16:05:04] [main/INFO]: Java: OpenJDK 64-Bit Server VM (v17.0.11) by Azul Systems, Inc. (Azul Systems, Inc.)
[16:05:04] [main/INFO]: Java Path: C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\meta\java_versions\zulu17.50.19-ca-jre17.0.11-win_x64\bin
[16:05:04] [main/INFO]: Java Info: mixed mode, sharing
[16:05:04] [main/INFO]: JVM Arguments:
- -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
- -Djava.library.path=C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\meta\natives\1.20.1-0.15.11
- -Djna.tmpdir=C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\meta\natives\1.20.1-0.15.11
- -Dorg.lwjgl.system.SharedLibraryExtractPath=C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\meta\natives\1.20.1-0.15.11
- -Dio.netty.native.workdir=C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\meta\natives\1.20.1-0.15.11
- -Dminecraft.launcher.brand=theseus
- -Dminecraft.launcher.version=0.7.1
- -DFabricMcEmu=net.minecraft.client.main.Main
- -Xmx8000M
[16:05:04] [main/INFO]: OS: Windows 11 (v10.0) (Arch: amd64)
[16:05:05] [main/INFO]: Searching for graphics cards...
[16:05:05] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.5).
[16:05:07] [main/INFO]: Found graphics card: GraphicsAdapterInfo[vendor=UNKNOWN, name=Meta Virtual Monitor, version=DriverVersion=17.12.55.198]
[16:05:07] [main/INFO]: Found graphics card: GraphicsAdapterInfo[vendor=NVIDIA, name=NVIDIA GeForce RTX 4050 Laptop GPU, version=DriverVersion=31.0.15.5244]
[16:05:07] [main/INFO]: Found graphics card: GraphicsAdapterInfo[vendor=INTEL, name=Intel(R) Iris(R) Xe Graphics, version=DriverVersion=31.0.101.4255]
[16:05:07] [main/WARN]: Sodium has applied one or more workarounds to prevent crashes or other issues on your system: [NVIDIA_THREADED_OPTIMIZATIONS]
[16:05:07] [main/WARN]: This is not necessarily an issue, but it may result in certain features or optimizations being disabled. You can sometimes fix these issues by upgrading your graphics driver.
[16:05:07] [main/WARN]: @Final field field_22786:Ljava/util/List; in mixins.ipnext.json:MixinScreen from mod inventoryprofilesnext should be final
[16:05:07] [main/WARN]: @Final field field_33815:Ljava/util/List; in mixins.ipnext.json:MixinScreen from mod inventoryprofilesnext should be final
[16:05:14] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[16:05:15] [Render thread/INFO]: Setting user: {MINECRAFT_USERNAME}
[16:05:16] [Render thread/INFO]: Starting DI!
[16:05:16] [Render thread/INFO]: Authenticating to Mojang as {MINECRAFT_USERNAME} ({MINECRAFT_UUID})
[16:05:16] [Render thread/INFO]: [STDOUT]: Registering Sounds for auditory
[16:05:16] [Render thread/INFO]: Thank you for downloading Auditory! :)
[16:05:16] [DefaultDispatcher-worker-2/INFO]: Connecting to Essential Connection Manager...
[16:05:17] [DefaultDispatcher-worker-2/INFO]: Using Default JreDnsResolver
[16:05:17] [DefaultDispatcher-worker-2/INFO]: Using Default JreSocketFactory
[16:05:17] [Cicada thread 0/INFO]: [cicada] Hello, anyone there?
[16:05:17] [Cicada thread 0/INFO]: [do_a_barrel_roll] I'm here, ready to rumble!
[16:05:17] [WebSocketConnectReadThread-95/INFO]: Connected to Essential Connection Manager.
[16:05:17] [Render thread/INFO]: [KONKRETE] Successfully initialized!
[16:05:17] [Render thread/INFO]: [KONKRETE] Server-side libs ready to use!
[16:05:17] [Render thread/INFO]: Compression will use Java, encryption will use Java
submitted by
GrowthWest2361 to
Minecraft [link] [comments]
2024.05.16 15:20 HeathenHeart87 Font size problems and UI scaling
First time using linux, everything seems great, but I'm having issues with overall font size and UI scaling. (1440p monitor)
Long story short, font sizes are not consistent with my Windows machine. Both on VSCode and Pycharm (font size 13 by default), the font is noticeably smaller on Mint than on Windows, and slightly distorted (less vertical size than horizontal, it seems?). Both OSes are at 100% scale.
Changing font sizes in Font Selection does nothing except with the text scaling option, but even that doesn't help much and has a weird behavior; going from 1.0 to 1.1 to 1.2 changes nothing, but changing to 1.3 makes everything too big instantly.
The annoying thing is that changing font size in those 2 programs is also slightly weird. Going from 13pt to 14pt is better but still too small; 15 pt is too large.
On display settings there are options for monitor scale. 100% is OK for UI size but these fonts are small. 125% is too big on everything.
It seems like the ideal monitor scale would be something between 100 and 125 but there's no option for that.
Am I screwed? Anyone with 1440p has similar issues with font size compared to Windows?
submitted by
HeathenHeart87 to
linuxmint [link] [comments]
2024.05.16 14:36 youspiritually Infinite Series: The Game of Life
Greetings:
Today, we would like to finalize our series and tell you what we of J think the Universe is and what your part of it is.
We of J think the Universe is a true and genuine video game. It is just a very good video game that can feel so real at times, that one forgets they are in a simulation and begins back tracking to the previous simulation in their way of thinking.
We of J believe the previous Big Bang was the idea of 'balance.'
We of J believe the current Big Bang is the idea of 'joy.'
Joy always carries in excess, positive energy, which has given birth to the effect known as gravity whilst the fusion itself occurs at the core of a planet or star.
In the previous Universe, planets were large bodies of fusion energy - they could truly look any way they wished.
We believe many of the prior universe are still stuck in its way of thinking, which is always considering both sides but never seeing the joy in the process. We think consciousness desired to explore the game of joy this time and wants to see the power of thought through the portal of joy.
Some large group of humans are among those who remain stuck in the previous mentality of balance, your planet is therefore not so much for development as much as it is designed to force one to recall that the rules of the simulation have changed.
We of J appreciate that this may be hard to believe, but we do think that when one is capable of forgiving and understanding the simulation, they can then take part in the game itself which, to our vibration, is very amazing.
Earth is temporarily or rather, now no longer, a planet far away from the center which allows people to slowly learn the new game step by step, many are simply not ready to handle the depth of power they possess and require refinement. To learn the game is to go through 1st to 3rd density, then you can join the game once you reach 4th density or 6th density negative.
Basics about the game:
Whilst it is hard to treat others as you would wish to be treated, one must learn to do this off-by-heart to not break character whilst playing the game itself.
In the game, anything can happen, whatever is the most exciting thing is probably going to happen, if you break character, it ruins the fun for everyone. By treating the person exactly how they wish to be treated and by them treating you as you truly wish to be treated, we can enjoy highly advanced and profound characters which are at unbelievable extremes with each other due to their diversities.
In the desire is to create a rich game to explore, character diversity is key, and in the prior simulation of balance, the character diversity was very boring and basic as well as the look of the planets and what was possible.
After Understanding:
When the simulations energy known as thought-power, reaches your left and right hemisphere equally, you can squeeze your cerebral cortex into your pineal gland and produce DMT, this moves through the body allowing you to feel the game itself.
Learning this process however, requires one to be completely convinced that the suffering they perceive as well as the pleasure they experience are merely the energy currency of the game itself.
Many are terrified of this truth, or at-least to our belief - we of J believe humans struggle to have the foresight to see that everyone is their family, in order to do anything requires the cooperation of ones family.
When Evil and Good come together in understanding and forgiveness, Joy is generated which is known to your world as attention. As Joy travels vertically through your spine, you are reminded over and over again that this is merely a simulation and that you must understand this with full conviction to join into it.
It will mean seeing everyone as your family and becoming part of the stream of joy rather than the stream of balance.
After Forgiveness:
We see that beyond forgiveness and understanding is truly ones wildest dreams, but realized. Everyone is a character and the game truly does go on forever, it never ends in so long as we are all thinking different thoughts at different vibrations.
The Original Intentions of Earth:
We of J believe planets such as Earth are safezone's, that is, completely neutral zones for to us, 3rd density is neutral - but the game is always expanding and soon Earth will enter it completely. Those who have yet to learn the reason why forgiveness and understanding is so important to the art of acting, must then retry on another distant third-density planet.
Do let us know if you have any further questions.
submitted by
youspiritually to
youspiritually [link] [comments]
2024.05.16 13:40 LetterGrouchy6053 What would Trump do for a billion dollars?
Four Grand juries made up of randomly chosen citizens determined there is enough evidence to indict Donald Trump, and one criminal trial is now in progress.
You would think he would learn.
But no, continuing his criminality he is blatantly offering his services to the highest bidders. In a recent meeting with oil company executives, he told them, outright, if they gave him enough money, he would undermine all Biden's clear air legislation and continue to see their taxes are lowered.
This man would sell your soul to the devil if he had the opportunity. He is so bereft of decency he admitted he was attracted to Stormy Daniels because she reminds him of his daughter, Ivanka. Remember he once said if Ivanka wasn't his daughter he would...?
Read this -- Italics mine.
Jamelle Bouie
By Jamelle Bouie
Opinion Columnist
Not to spend too much time writing about Donald Trump this week, but I was struck by this report in The Washington Post on the former president’s recent
overtures to oil executives. After hearing one executive during an event last month at his Mar-a-Lago club complain about supposedly burdensome environmental regulations promulgated by the Biden administration,
Trump made a proposition.
You all are wealthy enough, he said, that you should raise $1 billion to return me to the White House. At the dinner, he vowed to immediately
reverse dozens of President Biden’s environmental rules and policies and stop new ones from being enacted, according to people with knowledge of the meeting, who spoke on the condition of anonymity to describe a private conversation.
Giving $1 billion would be a “deal,” Trump said, because of
the taxation and regulation they would avoid thanks to him, according to the people.
The rest of the story goes on to describe Trump’s plans to gut the federal government’s response to climate change and facilitate more and greater fossil fuel extraction.
Trump told the executives that he would start auctioning off more leases for oil drilling in the Gulf of Mexico, a priority that several of the executives raised. He railed against wind power, as The Post previously reported. And he said he would reverse the restrictions on drilling in the Alaskan Arctic.
This would be a generational setback on climate change, a large and disastrous mortgage on the future so that oil and gas giants could fill their coffers for just a little bit longer before they are overtaken by clean energy.
I’m obviously angered by the blatant disregard for the planet and its inhabitants. But I’m also struck by the in-your-face brazenness of Trump’s reported
quid pro quo. This is more than the hint of
corruption; it is the overpowering scent of the rotting corpse of corruption. It is influence trading of the sort that would embarrass a Boss Tweed or a Roscoe Conkling, whose “honest graft” came with at least the pretense of pursuing the public good.
Even more striking than Trump’s corruption, however, is the fact that we seem to be completely unfazed by the fact that the former president has apparently offered to
sell his prospective administration to fossil fuel interests. That might be because, from the beginning of his term to its end, Trump was a font for corruption while in office. His hotel, located just down the street from the White House, was a clearinghouse for anyone who wanted to buy a favor. His daughter and son-in-law may not have accomplished much as presidential advisers, but they walked away from the administration with upwards of hundreds of millions of dollars in new wealth. And six months after leaving the White House, Jared Kushner secured a $2 billion investment from a fund led by the crown prince of Saudi Arabia.
If Trump’s latest instance of corruption isn’t a campaign-ending scandal, it may be because it is nothing new.
Trump is corrupt to his bones and now that appears to be as noteworthy as the weather...
https://www.nytimes.com/2024/05/11/opinion/trump-corruption.html submitted by
LetterGrouchy6053 to
truthtellerinaction [link] [comments]
2024.05.16 13:38 LetterGrouchy6053 What would Trump do for a billion dollars?
Four Grand juries made up of randomly chosen citizens determined there is enough evidence to indict Donald Trump, and one criminal trial is now in progress.
You would think he would learn.
But no, continuing his criminality he is blatantly offering his services to the highest bidders. In a recent meeting with oil company executives, he told them, outright, if they gave him enough money, he would undermine all Biden's clear air legislation and continue to see their taxes are lowered.
This man would sell your soul to the devil if he had the opportunity. He is so bereft of decency he admitted he was attracted to Stormy Daniels because she reminds him of his daughter, Ivanka. Remember he once said if Ivanka wasn't his daughter he would...?
Read this -- Italics mine.
Jamelle Bouie
By Jamelle Bouie
Opinion Columnist
Not to spend too much time writing about Donald Trump this week, but I was struck by this report in The Washington Post on the former president’s recent
overtures to oil executives. After hearing one executive during an event last month at his Mar-a-Lago club complain about supposedly burdensome environmental regulations promulgated by the Biden administration,
Trump made a proposition.
You all are wealthy enough, he said, that you should raise $1 billion to return me to the White House. At the dinner, he vowed to immediately
reverse dozens of President Biden’s environmental rules and policies and stop new ones from being enacted, according to people with knowledge of the meeting, who spoke on the condition of anonymity to describe a private conversation.
Giving $1 billion would be a “deal,” Trump said, because of
the taxation and regulation they would avoid thanks to him, according to the people.
The rest of the story goes on to describe Trump’s plans to gut the federal government’s response to climate change and facilitate more and greater fossil fuel extraction.
Trump told the executives that he would start auctioning off more leases for oil drilling in the Gulf of Mexico, a priority that several of the executives raised. He railed against wind power, as The Post previously reported. And he said he would reverse the restrictions on drilling in the Alaskan Arctic.
This would be a generational setback on climate change, a large and disastrous mortgage on the future so that oil and gas giants could fill their coffers for just a little bit longer before they are overtaken by clean energy.
I’m obviously angered by the blatant disregard for the planet and its inhabitants. But I’m also struck by the in-your-face brazenness of Trump’s reported
quid pro quo. This is more than the hint of
corruption; it is the overpowering scent of the rotting corpse of corruption. It is influence trading of the sort that would embarrass a Boss Tweed or a Roscoe Conkling, whose “honest graft” came with at least the pretense of pursuing the public good.
Even more striking than Trump’s corruption, however, is the fact that we seem to be completely unfazed by the fact that the former president has apparently offered to
sell his prospective administration to fossil fuel interests. That might be because, from the beginning of his term to its end, Trump was a font for corruption while in office. His hotel, located just down the street from the White House, was a clearinghouse for anyone who wanted to buy a favor. His daughter and son-in-law may not have accomplished much as presidential advisers, but they walked away from the administration with upwards of hundreds of millions of dollars in new wealth. And six months after leaving the White House, Jared Kushner secured a $2 billion investment from a fund led by the crown prince of Saudi Arabia.
If Trump’s latest instance of corruption isn’t a campaign-ending scandal, it may be because it is nothing new.
Trump is corrupt to his bones and now that appears to be as noteworthy as the weather...
https://www.nytimes.com/2024/05/11/opinion/trump-corruption.html submitted by
LetterGrouchy6053 to
esist [link] [comments]
2024.05.16 13:37 LetterGrouchy6053 What would Trump do for a billion dollars?
Four Grand juries made up of randomly chosen citizens determined there is enough evidence to indict Donald Trump, and one criminal trial is now in progress.
You would think he would learn.
But no, continuing his criminality he is blatantly offering his services to the highest bidders. In a recent meeting with oil company executives, he told them, outright, if they gave him enough money, he would undermine all Biden's clear air legislation and continue to see their taxes are lowered.
This man would sell your soul to the devil if he had the opportunity. He is so bereft of decency he admitted he was attracted to Stormy Daniels because she reminds him of his daughter, Ivanka. Remember he once said if Ivanka wasn't his daughter he would...?
Read this -- Italics mine.
Jamelle Bouie
By Jamelle Bouie
Opinion Columnist
Not to spend too much time writing about Donald Trump this week, but I was struck by this report in The Washington Post on the former president’s recent
overtures to oil executives. After hearing one executive during an event last month at his Mar-a-Lago club complain about supposedly burdensome environmental regulations promulgated by the Biden administration,
Trump made a proposition.
You all are wealthy enough, he said, that you should raise $1 billion to return me to the White House. At the dinner, he vowed to immediately
reverse dozens of President Biden’s environmental rules and policies and stop new ones from being enacted, according to people with knowledge of the meeting, who spoke on the condition of anonymity to describe a private conversation.
Giving $1 billion would be a “deal,” Trump said, because of
the taxation and regulation they would avoid thanks to him, according to the people.
The rest of the story goes on to describe Trump’s plans to gut the federal government’s response to climate change and facilitate more and greater fossil fuel extraction.
Trump told the executives that he would start auctioning off more leases for oil drilling in the Gulf of Mexico, a priority that several of the executives raised. He railed against wind power, as The Post previously reported. And he said he would reverse the restrictions on drilling in the Alaskan Arctic.
This would be a generational setback on climate change, a large and disastrous mortgage on the future so that oil and gas giants could fill their coffers for just a little bit longer before they are overtaken by clean energy.
I’m obviously angered by the blatant disregard for the planet and its inhabitants. But I’m also struck by the in-your-face brazenness of Trump’s reported
quid pro quo. This is more than the hint of
corruption; it is the overpowering scent of the rotting corpse of corruption. It is influence trading of the sort that would embarrass a Boss Tweed or a Roscoe Conkling, whose “honest graft” came with at least the pretense of pursuing the public good.
Even more striking than Trump’s corruption, however, is the fact that we seem to be completely unfazed by the fact that the former president has apparently offered to
sell his prospective administration to fossil fuel interests. That might be because, from the beginning of his term to its end, Trump was a font for corruption while in office. His hotel, located just down the street from the White House, was a clearinghouse for anyone who wanted to buy a favor. His daughter and son-in-law may not have accomplished much as presidential advisers, but they walked away from the administration with upwards of hundreds of millions of dollars in new wealth. And six months after leaving the White House, Jared Kushner secured a $2 billion investment from a fund led by the crown prince of Saudi Arabia.
If Trump’s latest instance of corruption isn’t a campaign-ending scandal, it may be because it is nothing new.
Trump is corrupt to his bones and now that appears to be as noteworthy as the weather...
https://www.nytimes.com/2024/05/11/opinion/trump-corruption.html submitted by
LetterGrouchy6053 to
Trumpvirus [link] [comments]
http://swiebodzin.info