a presentation of TFNN. The Tom O'Brien Show is produced every business day. Tom takes your phone calls toll-free at 1-877-927-6648 internationally at<PHONE_NUMBER>. Let's go to Mike in Southern California. Hey, Mike, what's going on? Hey, Tom, nice to talk to you again. And I have to start out and first tell you, I love this trading room. This thing is great. This app, it works great. And getting all the information, you're instantly there. No delay, nothing. I know, I appreciate you growling proud of us. Your channel is in my pocket all day long. It's wonderful. Thank you, man. Thank you. Now, Tom O'Brien. Welcome, folks. This is Jacob Schupfield, and then for Tom O'Brien. I don't know if you heard the intro, but that caller, he loves the trading room on Discord. You guys got to get in. All right, so the rally continues. The ES, I mean, this is up insane. We're really looking for the 4,400 level right now. I'm sure we'll probably hit something like that this week, something to kind of keep an eye on, some interesting volume movement right here today. We were speaking a little bit about GDX of 0.39, the dollar, sitting at 103.63 right now. I want to look at today some of the big gainers. We had Carnival Cruise, right? And these cruise lines got kind of smacked during COVID, right? But I mean, we have about almost a 13% increase today on massive volume. They had a pretty good outlook, according to some analysts, basically saying that the cruises aren't going anywhere. I wonder if there's some way that they're going to, now of course, you know, Gen X and the boomers are really what you want to look at because they have money to spend. But I wonder if there's going to be a way that they can kind of acquire millennials and Gen Z at some point. I don't know many younger folks going on cruises. I'm sure they're a blast. But regardless, I think there's some positive outlook on their earnings. So we'll see if that follows through. Additionally, we have Oracle running today. They're up in the AI sweep as well. They're up 6.2%. So again, some positive outlook on their earnings. So, yeah, some big gainers today. Some kind of interesting news regarding this and we'll see how much it actually affects their companies. And I'm sure it will at some point. Uber is still up today, but Uber and DoorDash, right? So there's kind of a new law going on in New York City, okay, and it's about imposing a minimum wage for these drivers. I think Dash is down today, but this seems a little bit more company-specific. Oh, no, we're up, okay. We were down earlier today, but up 0.43%. Anyways, so over the weekend, the NYC Mayor Eric Adams, he declared at the beginning of July 12th, the city is officially raising the minimum wage for its app-based restaurant delivery workers. And that's obviously Uber and DoorDash to $17.96 per hour, and that's from its current average of $7 per hour.  That number is expected to climb to at least 1996 per hour by 2025. It could be worse for the delivery apps as the 2025 proposed rate is much less than the 2382 per hour the Department of Consumer and Worker protections has previously proposed. And so it actually seems that this is kind of a, there was some kind of compromise made between the government and the lobbyists. Certainly the comptroller of NYC had something to say about it. He believes that the rule doesn't go far enough, saying that the mayor acquiesced to the lobbying of DoorDash and Uber, and that workers would actually be taking home just $12.69. Regardless of that, this is definitely going to increase operation costs for them. I think they have put them over to contract work, but they're still going to have to be paid like employees. Pretty interesting. Also, if we want to look at kind of DoorDash in particular, right? It seems like these kind of disparities in prices and movements today is a little bit company specific. The world on the street from people I understand, and I know, they are leaving DoorDash. If they've worked for DoorDash, they want to get away from that company. They don't apparently pay them very well, comparatively speaking. There's a few other companies that are kind of popping up doing the same thing. And the drivers just simply make more money. A lady that I see every day at Publix when I go to get lunch, she does DoorDash as well. She told me this earlier, and I have a few other friends who are kind of following suit. So pretty interesting. We'll see how that goes out. Additionally, we have some news with Target. The company has lost 15 billion market value since the start of a boycott that had been going on due to some of the products they were selling. JPMorgan downgraded the stock. So it's quite interesting. Obviously, we had a kind of similar situation go on with Bud Light. They lost their number one consumer beer. I think they were down 60% in sales over the Memorial Day weekend, which is pretty significant. So we'll see if this, I, whether or not you agree with the protests, it's still causing quite a bit of an impact on this company. Target also suffers from some interesting issues regarding retail theft, right? And this is hitting a lot of the major brick and mortar retail places. Let's take a look over here. The retail shoplifting is costing billions. The CEOs worry that they're powerless to stop it. This is retail executives are sounding the alarm on in-store shoplifting as theft burns a multi-billion dollar hole in their balance sheet. You had even Walmart moving out of Chicago. I remember a few years back you had, I think Walgreens or CVS was moving out of LA just because the thefts, excuse me, the losses due to the thefts were just so high. There was a study done, and this was in California, that people responsible for these thefts is only a small amount of people, right? It's a small group. I think it's something of like 200 to 500 individuals who are responsible for most of it. Any kind of crackdown, and if these cities do get pressured into doing so if more of these companies leave, I wouldn't suppose that it'd be that difficult if it's such a small amount of people, right? And these people are in the system, so regardless, it's quite interesting to see such a large cut into the profit, essentially, into revenue. This article saying as of a possible recession and declining consumer sentiment wasn't enough to worry about retail executives are struggling with increasing amounts of stock disappearing or shrink in the industry parlance. The problem was talked about more on retailers earning calls this quarter than any other quarter on record. That was nearly 200 mentions. The increased attention is basically due to more large retailers calling out shrink, and that's the loss from the thefts, as a real problem impacting both sales and margins. Shrink levels are increasing for almost all retailers. Relish, this is from Michael Relish, is Co-CEO, Apparel Brand Pacific Sunwear of California Incorporated, and that is PacSun, big clothes company. The shoplifting losses are beginning to reach staggering levels. Target said that loss or stolen inventory will hurt profitability with 500 million. So, you know, not only are they getting boycotted, but they're also losing almost half a billion to retail theft this year. Obviously, this is something that really needs to be addressing if I were a shareholder, I'd be putting the heat on target. Folks, stay tuned, we'll be right back. We have exciting news, Tigers. This June, Tim Ord of the Ord Oracle will be hosting two webinars providing insight into his renowned market timing methodologies. On June 8th, Tim will delve into the S&P 500, teaching sentiment indicators, identifying market bottoms and divergence, and so much more. On June 15th, Tim pivots to the gold market, taking a look at cycle analysis, ratio studies, advanced decline indicators, and other important tools for analyzing this sector. Sign up today on TFNN.com, TFNN, educating investors. Currencies, commodities, and bond markets are as important as ever right now with how they're driving the volatility in equity markets across the globe, which is why it's a great time to try out Teddy Kegstad's Tiger Forex report. Teddy Kegstad breaks down the Forex markets every Monday using his 30-plus years of experience as a trading veteran of futures, Forex, stocks, and options. Teddy releases his weekly Tiger Forex report every Monday morning with coverage of all the major currency pairs, including the Dollar Index, the Euro Dollar, Pound Dollar, Dollar Swiss, Dollar Yen, as well as many more, and he also has weekly coverage of the crude oil market and the 30-year T-bonds as they both influence Forex markets tremendously. When you sign up for the Tiger Forex report, you also gain instant access to Teddy's 60-minute webinar archive that he just hosted, Forex Strategies, and Fundamentals, What is Behind the Tiger Forex report? For all the details and to start your 30-day Tiger Forex report subscription today, visit the front page of TFNN.com. TFNN, educating investors. Are you looking for a way to consistently add winning trades to your portfolio? Tom O'Brien is here to help. Tom O'Brien has been successfully trading markets for over 30 years, a frequent contributor to TD Ameritrade Network and CNBC. Tom O'Brien founded TFNN over 20 years ago to help educate investors just like you. Tom's Daily Market Newsletter, Market Insights, is published every morning when the market's open to give you the competitive informational edge you need to succeed. These newsletters are packed full of Tom's advanced technical analysis and are geared to deliver comprehensive strategies for a successful portfolio. Get Tom O'Brien's newsletter, Market Insights today and try all of our products and newsletters 30 days risk-free with our money back guarantee at TFNN.com. TFNN, educating investors. Everything in the universe is governed by the Fibonacci sequence. This mathematical principle is responsible for everything from the most aesthetically pleasing artwork to patterns in the stock market. To stay on top of stock patterns you can take advantage of, sign up for the Fibonacci 24-7 newsletter at TFNN.com. When you subscribe, you'll get a weekly report from Veteran Day Trader Larry Pezzavento on stocks you need to pay attention to and you can trust Larry's analysis. After all, he's got 45 years experience as a day trader. Larry will also provide daily charts, videos and data on the key markets that he's tracking. Expect notifications from Larry on market movement you need to act on at any time. First-time subscribers also get a 30-day money back guarantee. If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up. Subscribe to the Fibonacci 24-7 newsletter today. TFNN.com, educating investors. Hey, that's 1-877-927-6648 internationally at<PHONE_NUMBER>. All right, welcome back folks. Yeah, before we just move on from this topic, I just, I wanna put this number out here. The National Retail Federation calculated that the lost inventory, that cost retailers nearly 94.5 billion and that's just in 2021. And we have an increase to the past two years and you say, well, how do we deal with this, right? You go to places like Amazon, you buy online but those products still need to get somewhere, right? They have these little, how do you say little nodes that ship out everything. And this is from two, excuse me, this is from last year, January but this is what it looks like in LA. This is insane to me. This is what it looks like in LA where the Amazon trains stop, right? The trains that are carrying Amazon products, excuse me. The trains that are carrying Amazon products when they stop, this is what happens. They get raided. So I mean, it's like cattle rustling but less like romantic, I guess, I don't know. I mean, that's just insane. So there's stuff going on in LA for sure. And I think they gotta figure that out. We'll see. Anyways, some news on Lockheed Martin, a lot of interesting stuff going on. They're cracking in a little bit more to chips. They're down a little bit today, that's all right. This business booms. So Lockheed Martin and Global Foundries disclosed a partnership to drive manufacturing and innovation of semiconductors and boost domestic supply chains for the US national security systems. Both companies will build a chiplet ecosystem to produce chips rapidly and affordably, supporting the Chips and Science Act's goals of enhancing critical semiconductor technologies. So this is huge for them. Let's look at GFS real quick.  So this is up almost 5% today with that kind of news. So interesting, Lockheed Martin has a huge price already, kinda hard to get in. Maybe GFS is a nice way to get some exposure on something like that. I'm looking on today. Yeah, so they liked it quite a bit, up almost 5%. Dealing more with Lockheed Martin, this is from May, but it's important to kinda, I think, reinforce just how strong this company is. They won the $751 million contract to support a missile program. Valued at 750.6 million, the contract is projected to be completed by August 18th, 2027. Per the terms of the deal, Lockheed will supply JA double SMs, jasms, along with containers, tooling and test equipment, and spares to support the missile program. They're getting big, big money. The future integration efforts will focus on the US and international versions of Lockheed's F-35 Lightning II fighter aircraft, pretty neat aircraft if you watch some videos on it, and other international platforms. This indicates a strong demand that the missile enjoys in the domestic, as well as the international defense space. On that note as well, the US is announcing a new 2.1 billion weapons package for the Ukraine, and no doubt, Lockheed Martin, I mean, obviously they benefited already, but it just shows you that Ukraine is willing to borrow more and the US is willing to send more, going out into the future on this. So that's, the Department of Defense announced on Friday that it'll purchase 2.1 billions in weapons for the Ukraine, including munitions for the Patriot and Hawk air defense systems. The weapons are being purchased for Kiev under the Ukraine Security Assistance Initiative. The administration had primarily relied on the presidential drawdown authority to ship arms directly from US stockpiles of Ukraine. Weapons provided under the USAI could take months or years to deliver as they involve contracts and might need to be manufactured. Just a little look on this more, a Pentagon fact sheet claims the US is now committed to Ukraine, 39.7 billion in security assistance alone. However, a February report published by the Kiel Institute, said American military spending has already topped 45 billion. So there's a lot of money to be made, and again, as more conversation goes on around some conflict, there was some in Sudan earlier, this, I think last month, actually, and then heated kind of tensions between the US and China, these security stocks are a great place to fly to, just because they stay stable, huh? It just, I mean, Lockheed, let me look at a year to date. I think it's highest was like five, I think it's 508, so we're down a little bit, but yeah, these stocks continue to do well. I think Raytheon, let me see what that's trading out right now. It was in its 90s for a while, he is still there. Oh, we had a nice boost up to 108, so there's definitely some trading going on with these guys currently as well, so. Interesting nonetheless, Microsoft is trying to purchase Activision Blizzard, and so Activision Blizzard, it's main way it makes money, and this is with every other large, what they call AAA game developers, as they do the microtransactions, okay? So you're playing the game, and you don't wanna spend all the time leveling or whatever, right? And so you can go ahead and use real world money in order to get boost in the game, or if you want your whatever character to look nice. Regardless, it's a massive industry, okay? Microsoft has Xbox, and so the name of the game in this business is you buy titles essentially, right? So the biggest competitors are gonna be Microsoft's Xbox and PlayStation, and so you want the new games to be developed to only be on one platform or the other, and this is how they stay competitive, and they can charge inordinate amounts of money for it. There's always a big protest regarding it, but it still works, so people don't stop spending the money, so the practices continue. Anyway, the FTC has already sued to block the $68.7 billion acquisition, choosing to bring the case before it's internal administrative law judge. I know the UK also, this was months ago I was bringing this up, the UK had blocked it as well, and I was curious to see if US would do it, and they did. So they're set to file for an injunction seeking to block Microsoft's proposed acquisition, by filing for the injunction, the FTC is seeking to stop the acquisition before the deal's July 18th deadline. Pretty insane. And it just seems like this is like cost of doing business for a lot of these large companies. I think Google's facing an antitrust issue now with how they handle some data. Meta always does this. I'm sure you just write it in at this point, but Microsoft is facing it now as well. And so we'll see what happens. If they acquire Activision, Activision Blizzard has tons of titles, so Microsoft will now have kind of the monopoly on that. And they stand to make quite a bit of money from it. And these tech entertainment systems, even when you're facing recessionary periods, people still continue to buy them.  I don't play video games anymore, but when I was young, that was what happened, right? Like every Christmas, they planned the release this way, every beginning of summer break when you were in middle school, they planned it. And even people into adulthood still kind of hold on to that and it's become a cultural thing.  Folks, stay tuned, we'll be right back. The gold report. As a precious metal, gold is still king. It continues to hold the most effective safe haven and hedging properties across the global major trading hubs of the London OTC market, the US futures market, and the Shanghai Gold Exchange. The gold report. Tom O'Brien publishes his weekly gold report every Monday morning for subscribers, consisting of coverage of the XAU, HUI, GDX, the Dollar, Bonds, the South African Rand, as well as 25 different mining equities with specific buy-sell recommendations. The gold report. New subscribers get a 30-day money back guarantee so you have nothing to risk. Subscribe to Tom O'Brien's gold report newsletter now at TFNN.com. Sharpening your skills as an investor is like getting better at playing a musical instrument. You have to practice, sure, but you also need excellent instruction from experts. At TFNN, you'll get advice and guidance from the authority and technical market analysis, and it's not just dry, tedious text either. TFNN airs live financial content streamed live on TFNN.com and TFNN's YouTube channel with Tiger TV, live every market day from 8.30 a.m. to 4.00 p.m. Eastern. For free, each host is an experienced trader and gives their take on the market while taking calls and questions live from around the world. From the moment the market opens until the closing bell sounds, Tiger TV has eight different shows with expert hosts to help you make the right moves with your money. Watch online at TFNN.com or on TFNN's YouTube channel and become the investor you were born to be, TFNN, educating investors. TFNN has just launched their new trading room, the Tiger Zen, hosted at Discord. TFNN has been educating traders for more than 20 years with live programming hosted by a variety of professional traders during market hours. And now they are expanding their reach with the Tiger Zen, available to all Tigers and Tigresses for just $1 for the year. There's no catch or added costs when you join our community of traders. In the Tiger Zen, you can look over the shoulders of Tom O'Brien and the other TFNN hosts while they analyze charts during their live Tiger TV programs and join an interactive trading community with hundreds of members exchanging ideas, interact with other Tigers and Tigresses as they share trading ideas, news analysis and discuss the market action all trading day, even at night and on the weekends. The Tiger Zen at Discord is accessible on mobile or tablets as well. So it's always at your reach. To sign up today and become a part of this educational community of traders, just visit the front page of TFNN.com. This segment is brought to you by Think or Swim. For more information, just click the Think or Swim banner on the front page of TFNN.com. All right, welcome back folks. Some quick news before we get into a story I want to talk about. We had NASDAQ buy a Denza for $10.5 billion and that's like a risk data company. And the US exchange operators biggest deal. So NASDAQ is acquiring a financial risk software company Denza for $10.5 billion and it's largest ever acquisition as the world's big exchange operators diversify from transactions into more stable revenue streams like data, risk and management. The cash and stock acquisition acquisition is expected to quote significantly enhance NASDAQ's offerings and regulatory technology, compliance and risk management. This is an exceptional opportunity. This is NASDAQ chief speaking to acquire a leading software company. So yeah, I mean a pretty huge acquisition Denza which is owned by a private equity firm Toma Bravo is expected to generate 590 million in revenue and 300 million in free cash flow this year. Pretty nuts. Some other quick news, Argentina is turning again to the IMF and the last ditch bid to stave off the valuation. Inflation the South American nation is expected to reach 145% this year and a recession is looming and essential banks, net reserves of hard currency are negligible. The Argentine peso, the Argentine peso has fallen almost 40% against US dollar on the black market this year. That's good. Peronist government is striving to avoid a big devaluation. Yeah, well, or a lapse into hyperinflation. How could you not be there already? I think like it was in the 90s, right? It's really like Pete Singer or something like that. He, anyways, they went into a huge amount of debt to the IMF and that's just a bad spot to be in as a country regarding sovereignty, right? So it's kind of insane to see what happens with that. And then the EU is offering Tunisia over a billion dollars to stem migration. Brussels proposes 255 million in grants for Tunis, linking longer term loans of up to 900 million to reforms. The financial assistance package was announced on Sunday and Tunis after Ursula von der Leyen, that's Germany's, I think that's her, the EU representative for Germany, accompanied by the prime ministers of Italy and the Netherlands spoke with the Tunisian president. Yeah, so basically all the migrants flood through either Libya or Tunisia and it's starting to weigh a little bits on the EU kind of system. So they're now gonna just pay Tunisia to stop doing it. I know that's also an issue with Turkey as well and they've been trying to figure out ways that they can meet halfway to kind of stem the flow of migration. It seemed like it was gonna be a positive back in 2016. You know, you had a declining population in order to kind of fund the pensions and keep cheaper products and all that kind of stuff. They were accepting migrants, but now there's just so many and it's really affecting the systems over there. I know the UK suffers quite a bit from this. And the idea essentially is not paying it off like some kind of ransom, but what it is is Tunisia is suffering a little bit economically speaking. So this kind of money will hopefully prevent people from feeling like they need to flee their country into the EU for better economic kind of futures. So the story I wanted to talk about, and this is about California's $100 billion electric bullet train. So that's gonna be fully solar powered. And the reason I wanna, that I thought this was interesting, right, is you have these fires coming out of Canada and it is cutting energy production of solar panels by like 50%. It's pretty intense. And this is why I've always kind of promoted having a larger, excuse me, a more diverse energy portfolio, right? And it seems, you know, I think regulators and legislators are a little slow to the game. So, you know, they're on solar now and maybe there's a lot of, I would suppose, public government incentive to keep on that and not shift the way or at least diversify. But we can see now that just relying on something solar powered has its drawbacks, right? And so obviously that's affecting things up in New England, this 50% cut. California deals with wildfires like nobody else. And so it'll be, you know, I think there's something that kind of need to think through on this. But regardless, let's crack into this a little bit because I think it's just kind of interesting and it's kind of a push forward in some capacity. So this is just kind of talking about a little bit of the history of it. Obviously Elon Musk got a lot of hype on the Hyperloop. So let's talk about the actual high speed rail. So the California high speed rail authority is preparing to begin discussions with potential suppliers of a $200 million utility scale system that it will own and operate. It'll include 552 acres of solar panels that is an immense amount of land, generating 44 megawatts of electricity, enough for a city of 33,000 people and batteries to store 62 megawatt hours of power. The system must be robust enough to provide powerful electrical bursts to propel trains at up to 220 miles per through the 171 mile central valley segment of railway. That'd be nuts to ride onto. Let's see here, withstand intense heat and keep passengers moving along, even if there's a blackout at local utilities. That's significant as well, right? Because they have some energy strains in California too. Work could begin by 2026 to ensure it's ready to power trains by 2030. The target opening date for the railways initial segment, Margaret Sederith told authorities director of planning and sustainability. Excuse me, she is the authorities director of planning and sustainability and she told this to Forbes. Little plug for the state of California. We were talking about that just earlier in the show. And that's another thing to look at too, right? Like this is a relatively progressive thing to do. In a lot of ways it's positive, having high speed rails and doing it, quote unquote, in a green manner is viewed positively. But they also have so many other problems as well. And so, not that they necessarily, I suppose, care too much about public opinion, but there's certainly gonna be some kind of pushback, at least socially, regarding this, right? So it'll be interesting. The country's most ambitious and expensive infrastructure project with an estimated cost of more than a hundred billion. And so this is crazy too, okay?  And it's, you know, a lot of our infrastructure, again, this isn't being tagged on to the interstate, but it brings a broader question like, how are we going to move forward as a country, right? A lot of this stuff was built in the 50s. Has it been kept up? I mean, in the case of I-95, probably not. I would also say there's much more people now. I worry too with where I'm at in St. Pete and Tampa and the kind of Bay Area there. There's just so many people and does that add to extra stress on our overpasses. You know, we have a bridge that crosses the Bay to get into Tampa. What are the effects of that? I mean, that's, you know, the amount of added people there and essentially the vibration from driving, it's interesting to see if infrastructure can actually withstand that for an extended period of time without any kind of like major overhaul and investments regarding like repair. And if it's just not worth it, what is the infrastructure of the future regarding transportation? I think they're building a train here. It's gonna, I think it's connecting to Orlando. And that'll be interesting. Florida's unique too, because it's so hot out and it's like, where does it drop you? But I still think it's an interesting kind of push forward. Folks, stay tuned. We'll be right back. If you're looking for potential trading setups in the stock market, then Rocket Equities and Options Report is a newsletter you should try. Tommy O'Brien delivers options and equity trades when the markets present them using a combination of fundamentals and technicals. Sign up for Rocket Equities and Options Report today with a 30 day money back guarantee so you have nothing to risk. For all the details and to start your subscription today, visit the front page of TFNN.com. TFNN, educating investors. You might think that if you want to be successful at trading in the stock market, you're going to need a crystal ball. After all, it's impossible to predict the future, right? Like any endeavor in life, before you decide it's impossible, get some advice from the experts. You might find that it's not so impossible after all. For daily market overviews that give you direction on the key indices, selective stocks and commodities, subscribe to the opening call newsletter at TFNN.com. The opening call newsletter is written by Basil Chapman, creator of the trading methodology known as the Chapman Wave. The Chapman Wave up down sequence gives you an edge in identifying price turns, finding the peaks and valleys in stock prices.  First time subscribers also get a 30 day money back guarantee. If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up. TFNN.com, educating investors. Biotech is booming, but for how long? Whether you think the Biotech bull has room to run or has run its course, trade L-A-B-U or L-A-B-D, directions daily S&P Biotech three times, bull and bear ETFs. Visit DirectionInvestments.com slash Biotech today. An investor should consider the investment objectives, risks, charges and expenses of the direction chairs carefully before investing. The prospectus and summary prospectus contain this and other information about direction chairs. To obtain a prospectus or summary prospectus, please contact direction chairs at<PHONE_NUMBER>. The prospectus or summary prospectus should be read carefully before investing. An investment in the funds is subject to risk including the possible loss of principal. The funds are designed to be utilized only by sophisticated investors such as traders and active investors. Distributor, Four Side Fund Services, LLC. We have exciting news, Tigers. This June, Tim Ord of the Ord Oracle will be hosting two webinars providing insight into his renowned market timing methodologies. On June 8th, Tim will delve into the S&P 500, teaching sentiment indicators, identifying market bottoms and divergence and so much more. On June 15th, Tim pivots to the gold market, taking a look at cycle analysis, ratio studies, advanced decline indicators and other important tools for analyzing this sector. Sign up today on TFNN.com, TFNN Educating Investors. This program is brought to you by Vista Gold, traded on the NYSE American and TSX under the symbol VGZ. More damning information on some of the weed stocks. Washington State Marijuana Farms, they're temporarily shut down because they're using DDT and DDE on their cannabis. That's a really bad thing to use in anything that's going for human consumption. I do remember though, my granddad was in the military in the 60s and he said, DT was the best thing to ever be created. But that's a loaded kind of opinion, especially coming from that era. So some of the two months following the move, the state cannabis regulator said that cannabis licenses are situated in the five mile stretch of land along the south end of the Okanogan River and north of Lake Pateros. This is so bad environmentally, not to mention people smoking it. And I had some faith, I feel like when they were making this recreational that they would have better oversight regarding this. And clearly they didn't. I guess at least it is illegal for them, but it would be nicer to have some oversight and how many people have been smoking.  Actually, I have a friend who works for a company. They've created a detergent for weed, for commercial cannabis. But I don't think they were accounting for DDT and DDE when they were making that. Anyways, earlier I wanted to speak a little bit about the central banks buying gold. Obviously the western banks have been adding quite a bit, but China has been buying quite a bit. And I put a really big emphasis on that one. China stretches gold buying spree into the seventh straight month in May and they add signaling more central bank de-dollarization. Heightened central bank demand for gold has yet to abate as China amassed more of the yellow metal in May. And that's according to Bloomberg, the country's central bank purchased 16 tons of the reserve commodity last month, continuing a trend that started in November. Through the preceding six months, China acquired 144 tons of gold and is now amassed 2,092 tons. And my mouse is no longer operational, but just give it a second and we'll keep up. China is not the only country boosting demand for the precious metal. And really the East loves gold and they've been a major driver of that essentially. Yep, and we have William in Boca looking at AMD. William, how are you doing? Are you there? I'm doing fine, how are you? Doing all right, William. So you wanna take a look at AMD? Sure do. Yeah, so AMD is, that's in my kind of opinion on it is going to be the competitor for Nvidia. Looking at the chart here on the year to date, May you had that bump up and you really kind of had a consolidation around the 120 and moving up and what are we at today, 128. It didn't get as much exposure or explosion kind of regarding the AI boom that's been going on. But I think it's starting to get looked at a little bit more and the reason I say that is because a lot of forums or people online are now kind of questioning why hasn't AMD received the same kind of exposure as Nvidia? And what it increasingly kind of seems like is just that Nvidia had so much hype around it and the way this market moves a lot is through hype. That's kind of my look on it. I think AMD is poised to benefit a lot more from this AI hike, but I think a lot of other companies are as well. And they're a pretty solid company. So that's kind of my like cursory analysis on AMD. If you wanna call in tomorrow, I can do a bit more of a look into their financials as well and kind of give you some better insight. But yeah, a lot of people are starting to look at AMD and a lot of people like it as well, so. Well, I sure like it. I've been writing covered calls on that stock for, I don't know, a year. Oh, right on. It sure has made my bank account look good. Yeah, no kidding. You look at the chart from year to date, it's been doing quite well too. Yeah, listen, I think anyone getting kind of into these, into this realm of tech that's gonna be used for AI, I mean, they're gonna become pretty stable in the economy going forward. I mean, if you were listening earlier, you know, Lockheed Martin's even getting into it. So, yeah, this is a pretty, I like everything kind of in this sector, so. Right, okay, well, thank you. Yeah, of course, William, thank you so much for calling in. I know. All right, let's see here, where were we? Talk about China a little bit with gold. Anyways, yeah, the East is gonna extend, continue to buy gold. We'll see what happens if gold's making a bottom now. But that is definitely obviously a question for Tom in an extreme way. He is the gold man. But looking at it again, GDX, that's at 31.19. The dollar is still sticking up here and, you know, that kind of depresses the metal equities in some sense. So it seems like copper though is seeing a huge increase. This is from mining.com and the copper mining profits top 100 billion a year, but the question is, but where are the new mines? So essentially what's going on here, right? Copper's exploding in value right now, but there aren't new mines opening up. But this is actually positive for the sector as a whole in the sense that they're extending the mine life quite a bit. Expansion capital is focused on the brownfield projects and with the number of new mines over the last four years adding up to 15 compared to 32 over the same period of decade ago when profits were below $60 on a clear downward trend. But we've seen an increase in earnings essentially for copper and that's just because they're getting kind of more out of it here. Let me throw this over for you. So companies have been recently focusing on extending the life of mines, especially of those high grade ones and already profitable projects. Because let's be honest, it takes a lot of time to develop something new and it takes a lot of administrative effort and also that transition from like exploration and setting everything up to profitability can kind of impede earnings a little bit. It's very ominous, broader view of copper supply and we expect it to be only worsened by some major discoveries, tight copper exploration budgets and of course, time consuming exploration work and so it's gonna increase the value. But yeah, let me see here real quick. I'm gonna SCCO, not up significantly by the means. That's like, I was looking at Southern Copper on Mexico City there, but no major movement on it. As a result, the S&P Global believes despite fairly substantial estimated surpluses for the next three years, the copper price will hold up well through 2026 before scaling 10,000 a ton again in 2027 when the market deficits begin to appear. I'll link this too in the chat and I'll actually do it right now because I always kind of forget. So there you go. Fletch in the den asking, who's making DDT? Yeah, that's a good question. I wonder where I probably might be buying it overseas honestly, right? That stuff stays in the soil forever too. It's so insane. But yeah, oil forecasts are getting slashed even with the Saudis trying to stabilize the price of it. Now let's see what else. China's NIO is cutting prices because they're not able to compete and they're also stopping the free battery swapping as sales slide. I think they're cutting their base. I'll get the number for you in a second here. Let's pull up NIO. Is this right here? Folks, stay tuned, when we get back, I'll pull up the right ticker for it. We'll be right back. Are you looking for a way to consistently add winning trades to your portfolio? Tom O'Brien is here to help. Tom O'Brien has been successfully trading markets for over 30 years. A frequent contributor to TD Ameritrade Network and CNBC, Tom O'Brien founded TFNN over 20 years ago to help educate investors just like you. Tom's Daily Market Newsletter, Market Insights, is published every morning when the market's open to give you the competitive informational edge you need to succeed. These newsletters are packed full of Tom's advanced technical analysis and are geared to deliver comprehensive strategies for a successful portfolio. Get Tom O'Brien's newsletter, Market Insights today and try all of our products and newsletters 30 days risk-free with our money back guarantee at TFNN.com, TFNN, Educating Investors. You might think that if you want to be successful at trading in the stock market, you're going to need a crystal ball. After all, it's impossible to predict the future, right? Like any endeavor in life, before you decide it's impossible, get some advice from the experts. You might find that it's not so impossible after all. For daily market overviews that give you direction on the key indices, selective stocks, and commodities, subscribe to the opening call newsletter at TFNN.com. The opening call newsletter is written by Basil Chapman, creator of the trading methodology known as the Chapman Wave. The Chapman Wave up-down sequence gives you an edge in identifying price turns, finding the peaks and valleys in stock prices.  First-time subscribers also get a 30-day money back guarantee. If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up. TFNN.com, Educating Investors. Everything in the universe is governed by the Fibonacci sequence. This mathematical principle is responsible for everything from the most aesthetically pleasing artwork to patterns in the stock market. To stay on top of stock patterns you can take advantage of, sign up for the Fibonacci 24-7 newsletter at TFNN.com. When you subscribe, you'll get a weekly report from Veteran Day Trader Larry Pezzavento on stocks you need to pay attention to and you can trust Larry's analysis. After all, he's got 45 years experience as a day trader. Larry will also provide daily charts, videos, and data on the key markets that he's tracking. Expect notifications from Larry on market movement you need to act on at any time. First-time subscribers also get a 30-day money back guarantee. If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up. Subscribe to the Fibonacci 24-7 newsletter today. TFNN.com, Educating Investors. Don't forget, you can listen to TFNN live on your mobile device 24 hours per day. Go to TFNN.com, then hit Watch Tiger TV. That's TFNN.com, then hit Watch Tiger TV. Okay, yeah, I had the right ticker, so I don't know what I was thinking. Anyways, yeah, so NEO's cutting prices, so that's gonna be down about 4,200 for all models, including their newer models, the ES6 and ES8. The company will also no longer provide free battery-swapping services to buyers who place deposits on Monday and onwards. It's added. One of the things that was interesting, and I was thinking about it a little bit, and was kind of seeing a path forward for Tesla that even maintained dominance outside of actual EV production, is they've been in it for so long and their cars all collect data. You know, mapping how the roads work, they're mapping changes that maybe aren't reflected in other databases. And that could be pretty integral for autonomous driving, and so that really is like a path forward in the future, which I think is currently neglected now just with a conversation about EVs, but if autonomous driving also becomes larger in the discussion, Tesla could easily rent out some of that data for quite a nice penny. You know, so usually at this time also, I would give you some interesting, you know, kind of synopsis on a scientific journal or something, but I usually get those and find them, they get compiled on Reddit, but basically Reddit CEO, you know, they have data and other apps use that data, and so they're making changes to the API where they're gonna start charging for it, the Reddit CEO. Everyone hated this, and some of the really popular apps that use Reddit data won't be able to afford it and will therefore cease to exist.  This was so intense that it actually knocked Reddit off line for about two hours today. The CEO went online and said, yeah, well, you know, cry some more about it, we're not changing. And why would he, right?   Folks, thank you so much for being with me. I'll be here tomorrow and possibly the next day and the day after that and then Friday as well. Thank you so much, folks. Have a great rest of your day.


All right, very nice to meet you. I am Martin, also known as Bad Normals. I mean in some people I can say Bad Normals, also known as Martin, which I think is more appropriate here, since you know Bad Normals more than my actual name right here. So we'll be making the Flappy Bird game with simulation nodes, which means exactly that. We'll be making a full playable game with your mouse, which looks something like that, so that you can jump around and depending on your skills sooner or later you will lose. So let's do it for example right here like that. And that's the game. How is it useful? As per say, not at all. But if you want to get into physics simulations or just the general mindset of simulation nodes in general, I think it is a really nice introduction. So before we start, there is something I would like to talk about and that something is myself. A bit about me, just a tiny bit. Which one of you or who actually knows who I am or has heard about Bad Normals in general? Oh, that's heartwarming. So where I keep my little story going, I'm going to show some of the things I've done, some of my work in the background and in a better quality as well. So it actually all started in a bathroom. I had this idea of you know, maybe we should make blender tutorials, right? Because why not? And I was at the time in a music academy and I was, you know, not very happy with the thing in general. So I thought like, okay, let's make a blender tutorial. I made a tutorial about Minecraft, even though I hadn't played this before. And it did like maybe 30 views. And then I made one of Among Us and this got like maybe 20 views. And I remember I was in a cafe with a friend and he told me like, oh, you have like seven subscribers. And I was like, yeah, I know, it's crazy, right? Seven subscribers. And the next video was about geometry notes, which did a bit better. It received 10,000 views in like two weeks or so.  And this actually got me into the procedural things overall, because before that, I didn't have any experience with coding, any experience with notes or anything. I just were a broke music student. And I started learning geometry notes every day. I put in a lot of hours just, you know, getting better and better and better. And I started making some intros for my videos, which are the ones that this video is made of, and got, you know, better and better with every video. And up until now, where I'm actually giving a talk about simulation notes. So the channel is one thing that I'm doing. And the other thing is another company actually through those videos, I met another person and we are doing procedural materials. But this time, you know, without this whole note hassle, we are actually making a new way to make them with a much easier setup. And we're also looking for procedural artists. So there are some contact links in the description afterwards. Right. That's what I do. And with that said, I think it's safe to start. Although I finished this quite a lot earlier. I'm just going to show you like this frame here a lot. This one looks so cool. Just looking at this final animation, then we can go. Yeah, you know, it zooms like in I used Nuke for this for the first time. It was kind of crazy. Okay, that's, that's what I do. So let's start now. If thanks. Thank you. If you want to go along, which I see some of you have computers, which is very nice. Then you can go here to this link and you can download some assets. It actually has the end result and the initial file of this bird thing. The initial file and thing is the one here and the initial file. I'm gonna show you right now. And we're gonna start start from here. Okay, so if you want to create the flappy bird game, the first thing that we need is the bird, which we luckily have here. So you can see you have here two assets. And one of them is the birds. The other one is the pipe.  What does it have to do? It has to be in the air and it has to like, jump like that. Or actually, it's done jumps in a place. And the pipes move. So the first thing we should do is actually implement gravity so that the bird actually falls down in a more realistic way than just moving gradually. Let's add a new geometry notes window here. And let's add this random object like a cube that we can add some notes on. And I'm gonna call this note set up the game itself.  For example, if you come back from lunch, you don't understand what you've been doing. So it's important to at least try to make something. Okay, we could just drag in the flappy bird and start working with that one. But you know, the bird asset itself has quite a lot of geometry, or like four points. But it's easier to actually apply gravity on a single object. So like a just one point, for example. So let's delete this flappy bird. And let's add a new thing called a point. And if we output this, and hide the assets because we don't actually need to see them. Then you see we have one point in the corner, right here. I'm gonna try to make it comfortable here. Now, if you press play, the point doesn't fall. And that's because we haven't told the point to do so. So what gravity or free fall actually means is that we, you're not just for moving down a little bit on the y axis. But it has to happen on every frame. And if something has to happen on every frame, this means simulation. And let's, let's remove this one, let's connect those so that we make a little point. And then we start to repeat something on every frame. And we output this as our geometry. That is how simulations work. Simon gave a really nice presentation about this yesterday. I hope you watched this. I watched it was very nice. And, well, let's add the set position note back. Let's put this here. And let's say our gravity is I don't know minus 0.0, 0.02, for example. And if you play this, it starts to move down every frame. This is a horrible way to do gravity. It is very incorrect. And it doesn't really look like gravity doesn't look like free fall. So I think you have heard about a certain number called minus I don't have a gravity stop at 9, 8, 9 meters per second squared. What does this mean? This means that the gravitational acceleration is that. And at the first time moment, zero, the speed is zero. The next second, it will be 9.81. And the next after that, it will be like 20. So it keeps increasing in speed unless you have air resistance, which you probably know. Actually, in physics tasks, you never have a resistance, right? You just ignore this all the time. And that's what we will do as well. Okay, so let's store an attribute, which is our gravity. It is a vector attribute since we are actually interested in a certain direction, which in our case is down minus 9.81. It's not 10. Like that. And now we can do so that let's take this gravity here. Select attribute. And do you like that? No, we don't do because the gravity actually gets turned into or in case the gravitational force gets turned into the velocity. The velocity is the thing that moves the object. Let's do it so that we take a stored name attribute, and we store a new attribute called V, which is the velocity. It is a vector attribute since our objects moving different directions, not just in one. And the velocity attribute will be composed of the velocity itself from the last frame. And then we apply some new forces to it. So for example, if I have my phone here and they just like punch this force gets applied, phone moves, not too far, hopefully. And that's how it works. So let's take vector math notes, put it here and we add gravity to the velocity. And then we use the velocity to move the object. Where is our point? We don't, we don't see this anymore because the force is very extreme. Currently, I think the point is, yeah, here it is. It's ways to way too strong. And why is it so? That's because of one great big reason. And the reason is, you know, when I'm moving, I'm not moving, I don't know, seven meters per frame, I'm moving seven meters per second. But currently we are doing everything per frame. So every frame that we play down here, we reiterate the same setup. And this is way too fast, because we have currently, let's make 60 frames per second. So we should actually do this only 160th at a time. For that, we need the delta time, which is, in our case, one divided by 60. I have used this one here, but I've also gotten some problems. So I'm just going to store a new attribute called delta time, which is currently one over 60, like that. I'm going to put this here. And now we can just scale the gravity that we add with this time stone. This should give us a very acceptable result. So you see already, it is quite a bit slower, but the speed is itself as well, you know, per second, not per frame. So let's scale the speed as well. Let's duplicate the delta T and we should have a really nice free falling point, which can serve as a word. So the first step is done. Let's group this thing. Let's call this gravity to velocity, velocity. And let's group the other thing as well, because otherwise we will have a huge mess going on. Let's group this one and let it be velocity to position. This is the basics of actually, I think most of physics simulations, where you have some forces, you apply them, you create like a velocity vector and you move objects with this velocity vector. This is how it works. This is ready. Now let's instance a bird on this little point here. Let's take an instance on point, like here, dragging the flappy bird asset and let's instances on this thing here. And if you now go to the material preview, we see a bird that's falling down just like in the game. This camera here acts as our game window. So what I will do is that I will move the bird in a more suitable location. So the point here should be maybe somewhere I would say around here. Let's make it also larger so that it's nice and understandable, something like that. Okay, the bird is moving. How do we make it jump? This might sound a bit hard, but it actually is pretty easy. So I'm going to make it so that I'm going to add here a store name attribute that is storing the same velocity attributes. So here we create this velocity attribute. Here we do something with it. And here we apply this to position. But what we will do is this one, you know, you see stores the velocity into zero. So if I play this now, nothing happens. Disable starts to fall like that. But what if I would what if I would add instead here, like a new acceleration? If I play this, I can enable this and the bird starts to jump because it receives some extra velocity at a certain moment. However, there is a massive problem. The problem is the bird has a bit too much energy. So if I play this, you know, I can keep this in and it will continue to go on forever, which is not the case with the real game. So in the real game, you tap on the screen and doesn't matter how much you hold your finger here, it will actually just, you know, get one impulse and pull back.   It doesn't do like that. So let's create an impulse. It is a bit of a thing to do. Since you know, you cannot actually get click information in Blender, you cannot get the click information. So let's build our own little game controller. For that, I'm going to move the cursor to the world origin, add a little empty here like a cube. Make it smaller. And let's do it so you see the center of the empty is this yellow little dot here. So if this yellow dot moves over the red line here, which means it gets positive on the y axis, then we register a click. But not like when I, you know, move it over and keep it there. It will not keep giving me the click. It will just give it once when I've moved over and then reset black to, you know, false or reset back to false. Okay. This sounds like a pretty complicated problem to just start with like on the go. So the first thing what we need to understand is, how do we understand if this empty is higher on this or over the x line? For that, we need to get the position of the empty. So I'm going to pin this game here. And I'm going to drag in the empty. And honestly, the problem with this empty is we cannot store any data on this empty because it's an empty object. And but we can only store data on, you know, points, edges, faces, face corners, splines, instances, and empty is not one of them. So what we will do is that we have one point for the bird acts as our bird. And we have another one, which is our controller CTR, CTRL, like that. And we will just join them together and add them into our simulation, both like that. And now we have the bird and this controller, both going in. And if we will see where is the controller, we don't see this because it's in the same location with the bird. So I'm going to reset this to zero. And now we have two birds, not optimal. We need actually only one. And in the end here, we see the instance on all the points currently, but we should be able to select only one. And for that, we need to add a little separation attribute. For example, on the birds, you can create an attribute called bird, which is a Boolean attribute, you know, just true or false. I mean, you don't have any mixed feelings. It either is a bird or not. I mean, there is no question about that. So a tick box, this is a bird. This is a controller. Or nice and clear. And now we can go in the end, add a little name that tribute here, where we have our bird, put this here. And now we only have one left. So the controller has now one point. And this point that we currently don't see, because we only instanced on the birds, I'm going to add the joint geometries that we kind of have, like both of them visible. The point here should move with the controller. So it acts as like a little memory stick of the controller. So controller moves somewhere, the point moves with it and records some data about this. And we can use this in our game. So how do we move the controller into the same location? If you play, you see the both fall down, which means that currently everything we do is both for the birds and also for the controller. But they are clearly different objects. We don't want to do this. So I'm going to move the bird things up here. And down here, I'm going to add a little, like a separation and join them together like that. Now, this is not different. But I'm going to add a separation, a separate geometry. So up here is my bird. And down here is my controller. And for clarity, I'm also going to name this bird plus controller. And of course, it doesn't do this right now. I have to separate based on the bird. So what the setup now does is that it finds all points that have the attribute bird true, which in our case is only one point and separates this up here. So the bird starts to fall down. But the controller doesn't. Since the controller is, you know, we do nothing with it. What we wanted to do is to move the point where the controller is because when I play this, and I select the empty here, you know, it doesn't move with my empty. Let's take a set position. Since we want to change the position of this point, take the empty and let's use the location of the empty as the location of our point. Now the point moves with us. For a controller, it would be more convenient to have this only move up and down on the y axis. So we can add a little con the constraint limit location. So we limit everything and do like maybe minus 0.25 and 0.25 on the x axis. So now, however, I move it will only now move like a controller or like a little gamepad switch. And this is a pretty playable device, I would say. Okay, let's let's group this thing. And let's call this move CTRL to empty. This one is done. But how do you register the click? Then we have to first understand if the controller is above or below this X line here. For that, we need to understand the position. So if we take the position of all of those points currently, and we now separate this into the X, Y and Z components, we are interested in knowing how like high is it on the Y axis. And for that, we can use a compare nodes. So I'm going to take the compare node and compare if on the Y axis, we are, you know, higher than zero or not. If I now move this, it is higher. It is lower. It's higher lower.  It still keeps the click as you see right now. Let's play the animation. Let's see how it works. Yeah.   So we don't want this. And let's think about how we can solve this. So to do this, I'm first going to store this thing here that we made, whether or not it is above the Y axis. I'm going to store this as a natural chord current because it is the current state of our switch. It's a Boolean attribute like that. Not going to group those yet because we have some more things to do. Move them here. And in the end I'm going to take the current attribute and preview this. And now I'm just going to, you know, make my emission play into like that and go to a certain, you know, it was a bit too fast. I'm going to do like that slowly. And now let's zoom in here and see. So when this is below the red line here, it will always be black. I mean it will always be false. But when I start to move up and up and up, now it gives me the impulse. And on the next frame I want this to turn off, but it doesn't. So we need to introduce a logic for that to work. And my idea is so that we store the current position as we just do here. And we also store the previous frame position or the value here. So currently on the previous frame it was black. Now on the previous frame it was still black. And on the next frame it was white. So if two consecutive frames are true, this means turn yourself off. We don't want you anymore. And let's create this logic. Let's see how this works. So how do we get the previous state of this switch for that? Let's use another store name attribute that we can actually copy from here. And before we write this current attribute, let's take the current attribute and store it store itself. And let's call it instead previous. So how does this work? It might be a bit counterintuitive, but it works so that on the very first frame zero we write an attribute into previous. But we don't have this attribute no more. So this will be like empty or something. Then we will write a new attribute called current. And on the next frame again we will store this current attribute as previous. And we will be doing that so that we always have access to the last frame. And this is what gives us the ability to make the switch. So we have this and previous and current. And now we need a third attribute where we combine them together using our logic. And this will give us the impulse. Just one little click when we move about this. I'm going to add a new attribute which I'm going to call impulse. And for that we will use the current state and also the previous one. But how? That's the question, right? Do you be honest? I figured this out a few months ago but then when I started practicing before the conference I had forgotten that. So I was like oh my god how did I do that? And now I obviously remember. So let's go over this logic once more. We have this I'm going to open up a spreadsheet. This gives us even more context. Your nodes. And here we have two points. With all of our attributes. We have previous attribute, impulse attribute. Is this a bird? Is this a plane? Recontroller. And we can understand based on that. And I'm going to play this again. Do you like that? So we have a little case here. And let's see. Okay. So here two consecutive frames are true. Okay. I'm going to add a Boolean math node which helps me do some logic operations. Actually the whole CPU of computers is built with those expressions. And those are like really clever people who come up with such things. And we will compare our decorrent and the previous frame both true. So you can see in the spreadsheet right here. So the previous is true and the current is also true. If you go one frame back you see the previous is not true. Okay. And if they are both true we should turn itself off. So I mean if they are both true which they are right now. Then let's just invert this. And let's say turn yourself off. Like that. So this is something that we need. And now I'm going to use a switch node. Because our controller has two states. It is either above the X or below. Now if this is below then we actually you know we don't care. I mean it can just be the negative value here. We don't do anything too special with it. So I'm going to make this a Boolean switch. And if the current attribute is false I'm just going to use the current attribute. If the current attribute is true which means it's over I'm just going to use our newly created logic system. I'm going to put this here. Like that. And now let's switch this attribute here for the impulse. Let's see if this works or I'm just talking nonsense. It does work. So I'm not talking nonsense obviously. Okay we have the switch here. And I'm going to order impulse. I'm going to group all of that here. It gets a little bit messy. And call this thing impulse logic. This is the impulse logic. And now we just should somehow get this impulse to our bird. Since currently we are writing this on the controller and the bird doesn't know anything about this. It's like in its own bubble here. So really doesn't know what we do with the controller. If you preview this attribute you know if you play this you see the controller is flashing but the bird isn't. So we should somehow get this attribute onto the bird and make this enable this node. Obviously we cannot enable actually a node. It is more of a UI thing. So let's instead use a switch and the switch does so that when the jump is true it uses like a new velocity that makes it go like that. And when the jump is not true it will use the previous velocity. You know just keep doing its own stuff. We just need to get the impulse somehow here. We're going to do it like that because the geometry of the bird doesn't contain this attribute. And for that we luckily have a node called sample index which which can sample based on the index of the point. It gets a matrix from it. So the index is like the address of a geometric element. For example if you have only one element the index is usually zero and second one is one and two and so on. Now since our controller geometry only has one element it's pretty safe to say the index is zero because there is only one element it won't be probably 70 or something like that. And from that geometry we will be getting the impulse attributes and we will be using this as the switch for our bird. So you see right now it works because every time we get an impulse it really works. It takes it into account. Let's group this control g and call this maybe jump switch would be pretty appropriate jump switch. And this is I mean pretty much the logic of the bird itself. Now the only thing that we need to make this game more like a flappy bird. I'm also going to play this or make visual. The only thing that we need is to be sure that we actually have some pipes that we can collide with.  Let's do this. For that we need the pipe asset. The pipe asset this is right here in our scene and we need to spawn this into our scene. So how do we do this? We basically do so that every frame we take the pipe asset and we add this to our geometry. Then we move this a little bit and then we add a new one and remove them all a little bit so that we just you know keep flowing some pipes into our scene. I'm gonna hide this. Let's do this. But the problem is where do we add this? We could be tempted to just add something here but I mean this is actually the controller lane here we do some controller stuff here we don't want to mess with that one. We actually want to add a new separation here and separate the controller into its own safe you know space here and the rest that is coming from here will be our pipes and we will pipe the pipes in the end. No does this work? Yeah we'll pipe the pipes in the end. So here I'm going to add a joint geometry and on every frame I'm going to take this pipe at the object and I'm going to put this here. On the first frame we have this here. Now if I play this obviously we don't see anything because they will all add it to the same location. So instead I'm going to take a set position node and use a finely tuned value that I've been practicing seven times of minus 0.02 meters. This does it so that when I now play this we start to have like a lot of pipes added into our scene and all of them move which is kind of good but not very practical. So obviously we have a lot of them. We would actually much rather prefer to have you know let's say every 40 frames you want to add one pipe and then another 40 frames also. For that first we need to understand how we can even turn this flow off and for that we can use a switch. So for example if I turn this into true it will use nothing and if you add nothing to your scene it won't have any pipes and we will you know you control the switch dynamically so we'll use the scene time node and use a math operation called modulo which means the remainder of a division and in human language it means so that if you have like frames and you do mod five it will be like zero one two three four zero one two three four and so on and keep in mind that there was a zero there and we also have this thing piped into false so every time there will be a zero we will use this pipe. Let's put it to 40 and now every 40 frames we will have one pipe flowing into our scene. We don't get anything on the first frame which is annoying if you want to change positions or anything and understand what we actually do so I'm going to subtract one here and seems to be working yeah kind of shifts incoming frames a little bit so it makes more sense. So now we had the pipes flowing in but not from the correct location let's go to the camera view and move them where we want them to move now it's very important where you're going to move them because if you move them right here this will be done on every frame but we will just change the position of the new ones so I'm going to move the new pipes added here actually I think would be better to use transform nodes for that make it a little bit larger if this looks nice we have lost the material though so in the end I'm going to add a set material and get this wall material we're back like that and now we have some pipes flowing in but you know in flappy brood actually have you know we have ones in the bottom the ones in the top and they are you know can't do that with my fingers but you know random like that so let's make let's do so that these are like the ones below and we also have ones on the top so we're going to join the geometry these are below and these ones are top go to the first frame I'm going to move those ones up rotate them 180 degrees and yeah this is a bit too difficult I don't know kind of the same like that so now we have pipes up and down flowing in they are very very uniform though I mean they are just a straight line so each frame when we add something we should move it in a you know random up or down or whatever we want to do with them for that let's use a set position node let's add this here currently we're only doing from the pipes up here and let's add a random value because we want to move them randomly so I'm going to take a vector random value put this into the offset does like that not very good so what do we do the problem is in the id here so currently it has this node works it's going to take an id and based on that id it's going to generate a random value and since this one has like I think four points this asset then well the id is going to be different so every point is going to have a different value but we're just plugging like a random number here like zero and now the random value will be the same for all the points let's do like 0.5 and maybe actually this is this is a bit too much so I'm going to make it vary on the y axis by 0.25 but if you play it won't still be different and that's because the seed here is the same for all the frames so let's take the scene time node and plug the frame into the seed and now you have some different types coming into your scene in a pretty I would say nice way let's copy that let's do the same thing for the for the for the pipes down here offset is it working I would say but the no it doesn't seem to work very well though oh yeah of course does work yeah but the seed is also I mean the same for both of them so the form like this symmetrical thing now they're different okay the pipes are flowing into our scene everything is nice now we need the collision system so I'm going to group all of that and call this spawnpipes spawnpipes move it here like that how do we create the collision what is even a collision actually I mean this sounds like it just kind of a trendy word that everybody talks about in computer graphics but collision is actually when you are you know you know things touch right but we cannot do it kind of like that in computers because we have discrete frames so we might have you know a wall and then we have like an object and this one frame is here the other frame is here and the next frame is maybe here I mean obviously we had a collision but where I mean there are complex and more complex ways to calculate the exact point but we'll just do so that when it is in a certain threshold like here or here kind of already collided so for that we have a node called proximity geometry proximity and we can find the proximity of the bird to the pipes so if we take the viewer node here and we start to play why can't I choose this okay so you see it turns it's white currently but it becomes like dark in some regions because it has collided with those with those pipes I'm going to use a compare node to make it a boolean value either a collision or not so if the distance is like less than 0.05 I think it's the collision it can be any value but you you can tune this yourself um so this is the collision and I'm well let's do so that something happens when the bird collides what usually happens when a bird collides with something like that right so let's do so that we use instead of this jump switch we kind of create another switch which is a store name attribute vector we store the velocity again and when the collision happens vector if it doesn't happen we're going to use the same velocity as always so velocity right here if it does happen when this is true we're going to use something you know like minus 10 so it kind of like goes down like that and let's put this here and let's put this here sounds like here nice idea right so let's play and let's see what happens yeah it's easier to develop a game than to play this so it moves down but you see it actually can come up again yeah you see that that's not very that's not very good you know so we need to some way for the bird to actually remember it has crashed i mean it's not the case with every bird that they remember that they have crashed but this one actually should so somehow we have to keep this in memory and for that we're going to use a solution like that we're going to create an attribute called boolean attribute called lost so the bird has lost the game and into this attribute we're going to store that one and we are going to use this attribute called lost as the switch now this is the exact same thing as we did before no differences but what we are going to do is that we are going to also take the lost attribute from the last frame like that and you know let's say we haven't lost yet so can you even actually hear me if i'm talking here yeah you can still hear okay right so let's say we haven't lost yet so this means the value is false false false and we keep adding it to itself but since this is you know zero it actually won't change anything but once we lose and we add this one kind of you know we pour something into this this cup you know there is water inside we cannot get this out anymore so if we have lost even only once this will be in this attribute and this means we will keep this in mind forever that we have lost okay this is the last attribute doing like that gonna call this lost and let's see if this works now a bit better okay we move we move we move and it turns down and we cannot move up anymore because the bird knows it has to go down it remembers the loss let's call this one lost velocity lost we whatever and this is exactly how this works um now one thing to tune about this is the jump switch here because currently it's a bit it's a bit too aggressive i feel so i'm gonna put this to three and now i can play this in a more in a bit of a better way and i mean kind of it is like flappy bird you know but you feel something is missing here so when we lose i mean the pipes still keep flowing and the bird is like doing like that it's not actually you know kind of smoothly flowing so let's deal with the pipes first so the pipes should stop when the bird also falls down and since the lost attribute is on our bird and our pipes don't have this we have to use a sample index so from that bird we're going to sample the lost attribute named attribute called lost which is a boolean attribute we're going to sample this our bird only contains one point so from index is zero and we will use that as a switch so currently every pipe moves at this speed but if the loss happens they will stop and if it doesn't happen it will use the same speed so let's see now if a play do i get some yeah exactly like that they stop also this is all nice and good but the bird is still very stiff i'm going to group this one and since i have only i believe five minutes i'm not gonna name this let you think what the name could be so the instancing happens here and we should somehow make the bird you know when it goes down the bird should kind of like rotate a biter a little bit more like that and when it goes up it should be more like that luckily we have this information already and this is our velocity attribute but since the velocity of the bird is you know exactly pointing where the bird is looking at and we can solve this pretty easily by aligning the bird the vectors of the bird something else so the bird asset itself looks like that and we want to align the x-axis of the bird so that it looks up or down i'm gonna go back here and we will align the x to the velocity and put this as the rotation hide the assets how does the bird look all right let's see let's see what happens oh so you see it is like a super fast reaction speed bird goes up it goes down and oh my god what is the problem oh the controller was in a weird location okay so you see up down up down this is a bit too extreme luckily there is a easy way to solve this so you see currently the velocity vector is either up or down and this is why it does exactly like that but what if the it had also an x component so it was more like that so we can do this we can take a vector math and we can just add something like maybe two and now the bird should move you know in a relatively i would say better way very nice very smooth and we may be tuned on the factor also a little bit as well so this is how it works let me let me think about if there is something else the bird should suffer from um no i don't think so uh okay just a little background and we don't have enough time to make this background you know react to the loss but how i did this is that i basically you know transfer the same attribute to the background and you can use this to mix between different colors so if the loss happens you can turn this red or whatever color also with the same technique you can add like some text like i don't know you you don't know how to play or anything like that and that's that's how this works so i hope this gave you an introduction to how you can do something like that with simulation nodes it was interesting to watch hopefully and that's all for me thank you also we have two minutes actually so if you have any questions about which jam i like or something like that you can ask me what explain ah we want to see me play all right yeah of course that's what we were gonna do you know actually i should do we have some streams with twitch or something okay well it's not the full screen actually okay well you know actually i'm gonna make this more cinematic you know i'm gonna add some passepartout and we can now get to this all right i hope i didn't make this too hard for myself ah all right i was trying to add a score as well um well this is way too easy actually maybe i'm just a pro i'm not sure okay all right