• About WordPress
    • WordPress.org
    • Documentation
    • Learn WordPress
    • Support
    • Feedback
  • Log In
Skip to content

MonoFlauta

Indie Game Developer

Menu
  • Blog
  • Portfolio
    • Games
      • Happy Ghost Studio
      • Etermax
      • Silky Smooth Studio
      • Fun+Mono
    • Frameworks & Tools
      • Framework Goat
      • Twitch Mono Integration
      • Framework Mono
      • Narwhal Engine
    • Others
  • Store
  • About Me

Narwhal Engine – Getting Started

Base tutorial to get started to use Narwhal Engine in Visual Studio. This tutorials assumes you already know how to code in C# and know how to use Visual Studio.


First of all you will need to download the MonoGame framework. Once you have it, proceed to download the Narwhal Engine. After that, create a MonoGame project from Visual Studio and add to the source code the folder of the Narwhal Engine.

Then, proceed to the Game1.cs and do the following stepts:

  1. Use the NarwhalEngine namespace.
     using NarwhalEngine;
  2. Initialize the engine inside the Game1.cs LoadContent function.
     protected override void LoadContent()
     {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            Narwhal.instance.StartEngine(Content);
     }
  3. Add the call to the update manager in the Update function.
     protected override void Update(GameTime gameTime)
     {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
                Exit();
    
            Narwhal.instance.updateManager.Update(gameTime.ElapsedGameTime.Milliseconds / 1000f);
    
            base.Update(gameTime);
     }
  4. Call the Draw function from Camera Manager in the Draw function.
     protected override void Draw(GameTime gameTime)
     {
            GraphicsDevice.Clear(Color.CornflowerBlue);
    
            Narwhal.instance.cameraManager.Draw(spriteBatch);
    
            base.Draw(gameTime);
     }

Once you have this, you will be able to use all the features the Engine uses.

Powered by WordPress MonoFlauta 2025 | All Rights Reserved.

Manage Cookie Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}