Showing posts with label game development. Show all posts
Showing posts with label game development. Show all posts

Wednesday, January 15, 2025

Previewing NVIDIA's Cosmos, a Generative AI Worldbuilding Tool

NVIDIA Cosmos is a new platform from NVIDIA that uses generative AI for digital worldbuilding. In this post, I will demonstrate some possible outputs from Cosmos using NVIDIA's simulation tools. Afterward, I will discuss some of the functions and libraries Cosmos uses.

To create your own digital worlds with Cosmos, follow this link to the Simulation Tools in NVIDIA Explore NVIDIA Explore - Simulation Tools. To start, we will select the cosmos-1.0-diffusion-7b. 

The Preview Image for NVIDIA Cosmos Diffusion Model
The Preview Image for cosmos-1.0-diffusion-7b

Once we've selected cosmos-1.0-diffusion-7b, we are presented with an option to input text, an image, or a video. The default example is a robot rolling through a chemical plant, with a video as the output.

AN AI-Generated Image of a Robot Traversing a Chemical Plant

For this demonstration, I'm going to begin by inputting the following text into the input box: "A crane at a dock lifting a large cargo crate from a ship onto the dock. photorealistic" After about 60 seconds, Cosmos produces a short 5-second video as output. Here is a frame from the one it generated from my first prompt:

An AI-Generated Image of a Dock with a Crane

In this case, we used the Cosmos-1.0-diffusion-7b-Text2World model, which takes an input of up 300 words and produces an output video of 121 frames.As described in the linked documentation, it uses self-attention, cross-attention, and feedforward layers. Additionally, it uses adaptive layer normalization for denoising between each layer. Each layer is necessary and serves a unique purpose.

Starting with the self-attention layer, it is used to determine what words in the input text will be most relevant to the output image. For example, the word "crane" in our prompt is weighted higher than the word "at". While both are relevant to the output, the object of the crane is in the center of the video. Next, the cross-attention layer relates the information contained in each word and assigns it to a relevant image as a result. In our case, this is shown by the word crate and the image of a brown crate. To clarify, the word "crate" is referred to as the source, and the image is referred to as the target.

The third layer, the feedforward layer, redefines each word after the the cross-attention layer finds it relevance. For example, the crate in our example is placed on the dock in our image, because the feedforward layer related it to the phrase "onto the dock". Lastly, the adaptive layer normalization stabilizes the output, which in this case could refer to making the crane move slowly and not too jittery.

In addition to the cosmos-1.0-7b-diffusion-7b which uses the text2world model, there is also the cosmos-1.0-autoregressive-5b model.

The Preview Image for cosmos-1.0-autoregressive-5b

This model takes a picture as input and produces a 5-second video as an output. The first frame of the output video is the exact picture, and the model predicts what happens in the next 5 seconds of the scene to create the video. For this model, there are a series of 9 preselected images to choose from.

Sample Images for Video Generation

Similar to the text2world model, the autoregressive video2world model employs self-attention, cross-attention, and feedforward layers. It should be noted that while this model is referred to as video2world, it can accept text, images, or videos as input, and outputs a video from whichever input was given.

Overall, NVIDIA Cosmos is a powerful worldbuilding tool for a variety of applications including simulation software as well as game development. To learn more about the development tools NVIDIA has to offer, check out the following post: An Overview of NVIDIA's AI Tools for Developers

Monday, November 4, 2013

Embedded Graphics Application Design Contest

$10000 cash and development tools will be awarded for best applications using the ST Microelectronics STM32F429 ARM core in the EvoPrimer development platform.  The application must use the Chrome-ART Accelerator graphics technology shown in the video below.  You may add your own custom hardware to the platform if you send it and all the design files with your entry.  For more information on the contest and the EvoPrimer platform go to www.stm32circle.com. The total cost for the base platform and STM32F429 target board is a little over $100 and can be purchased from STMicroelectronics or online distributors.  The contest ends on February 15, 2014.  The grand prize is $5000, and all prize winners will receive Raisonance development tools with no code size limitations and EvoPrimer platforms.


Monday, January 9, 2012

Microsoft Small Basic

Microsoft Small Basic is a free compiler for beginners to computer programming.  You can find it at the Beginner Developer Learning Center at MSDN.  Microsoft wants to put the fun back into computer programming with Small Basic and includes a getting started guide, online lessons, online e-books chapters, and code sharing.

The syntax is not the same as the BASIC I learned as a kid on the TI 99/4a or the Commodore 64, but more of a take off on Microsoft languages like VB.  For example, compare the classic "Hello World" in BASIC to Small Basic.

10 PRINT "HELLO WORLD"

In Microsoft Small Basic it's a bit different:

TextWindow.WriteLine("Hello World")


The longer function name doesn't look as fun to me, but they make it easier to remember with help as you type.  I can't find any auto-complete, but that is probably just as well for beginners.






Microsoft makes it easy to migrate your Small Basic program to Visual Basic, there is a Graduate button built into the interface that will convert your program automatically.




I found Microsoft Small Basic when I was looking for a free compiler for a child to learn computer programming.  I think it is a good choice, it should keep them interested because it is easy to use and they can get instant results with the run button, like you do in classic BASIC programming.  They even have turtle graphics, which is always fun for kids.  When they become more advanced programmers, they might be interested in the free sample chapter from Basic Computer Games Small Basic Edition.

Monday, March 14, 2011

NXP Promoting I2C Bus Chips With Giveaway

NXP Semiconductor is asking for video entries in a promotion for it's I2C chips.  Tell them what you would like to do with the NXP I2C demonstration board and you could win one.  There are no videos available yet, but this page will have a gallery of the best entries.  This isn't a general purpose development board, and the retail value is only about $40, but might be worth looking at if you plan on using I2C.  Also, be aware that the PC software to interface with the board is a little old, and support is only listed for windows OSes up to XP.

If you don't want to upload a video, you might still be interested in a free I2C sample kit.  They have kits available for industrial, portable, or computing applications.  For portable applications they list gaming and are promoting Fast-mode Plus (Fm+) I2C-bus technology which is compatible with NXP cortex-M0 ARM processors.

Wednesday, June 16, 2010

Want to experiment with Linux? Get a Didj!

Now that the Didj has been discontinued by Leapfrog, it is sure to be on sale for much less than the cost of a similarly featured development board for Linux.  You can find all of the datasheets, reference material, and source to do your Linux experimenting at the eLinux.org Didj wiki page.  Below is a teardown of the toy and some processor specs, you can download the full datasheet from the site.



  • 32bit CPU Embedded Architecture : 533MHz ARM926EJ with 16KByte I-Cache and 16KByte D-Cache.
  • High performance 3D Graphics Accelerator
  • USB 1.1 Host Controller, USB 2.0 Device, 4Ch UART
  • LCD Controller, 8Ch DMA, Timer, Interrupt Controller, RTC
  • SD/MMC, I2S, I2C, SSP, ADC, GPIOs, PWM, Power Manager

Saturday, June 20, 2009

26 Year Old Bug Fix

"The new product design you are working on will end up in a dumpster in 10 years." I read that years ago in an engineering magazine. The point was to think about the environment, but I was more shocked to realize my hard work would soon be worthless. It made me strive to design products that will have value well beyond the warranty period.

An unlikely area for product longevity is computer games because of the continuous advance of graphics technology. It may be partly nostalgia, but classic games live on. Surprisingly, its not in remakes with modern graphics, but in ports of the originals to new platforms like flash or mobile. Here is a flash Super Mario (also see Game Developers Compete to Give Mario Intelligence) or this Pac-Man for your cell.

The use of emulators like MAME with the original code means even the flaws are ported. Usually cheats are added to give unlimited lives or invincibility but now the bugs are being fixed as well. That code review and test cycle that was skipped 26 years ago is being done by volunteers. Don Hodges found and fixed a huge bug in Donkey Kong shown in the video and another in Pac-Man.

Thanks to Paras for sending me the link.

Friday, June 19, 2009

Wednesday, June 10, 2009

Game Developers Compete to Give Mario Intelligence

As part of the IEEE Games Innovation Conference, there is a competition to build the best AI to play the classic Nintendo Super Mario Bros. game. You don't need to attend to enter the contest, just join the Mario competition google group and you can download source code to create your AI (called a controller or agent) that plays the game. The organizers want to use the competition to compare different methodologies so be creative. They are calling for submissions based on
  • artificial evolution
  • evolutionary neural networks
  • genetic programming
  • fuzzy logic
  • temporal difference learning
  • human ingenuity
  • hybrids of the above
This reminds me of the Terminator TV series where a computer designed to compete in chess acquires an artificial intelligence that eventually threatens humanity. If you enter watch out for cyborgs and time travelers.

IEEE Gets in the Game

The IEEE Consumer Electronics Society is holding its first Games Innovation Conference in London on August 25-28, 2009. Focusing on both technology and creativity in games this international conference is for almost everyone involved in creating and studying games including 'researchers and practitioners'...'from different disciplines in acedamia and industry.'