Jump to content
  • Advertisement

Ashley_H

Member
  • Content Count

    4
  • Joined

  • Last visited

Community Reputation

109 Neutral

About Ashley_H

  • Rank
    Newbie

Personal Information

  • Role
    Business Development
    Producer
    Programmer
  • Interests
    Business
    Design
    DevOps
    Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. You can find some DirectX 12 code samples on Microsoft's GitHub account here: https://github.com/microsoft/DirectX-Graphics-Samples These should help you get started. I believe they also have DirectX 11 samples somewhere (Assuming they haven't deleted them, they will either be on a branch or archived repository somewhere). On a side note regarding the compile errors you get from various books etc, it might be worth checking the publishers website directly to see if there are any coding errors which have been resolved in an update, for example 'Introduction to DirectX12 Programming by Frank D Luna' is stored on GitHub with updates/corrections published there - https://github.com/d3dcoder/d3d12book/commits/master The most likely cause of the errors you're seeing though is that your setup differs from that of the book author, for example you have a more recent SDK installed which isn't backwards compatible with the version used to write the book (The older the book the worse this tends to be!). The most common error I tend to get when importing projects is a mismatch of the Windows SDK versions, I find that Visual Studio seems to default to installing the very latest version so it's worth re-running the installer and then [Assuming you're using 2017 or 2019] on the 'Individual Components' tab select the relevant Windows SDK version for your project (Most books tend to list the SDK requirements etc somewhere). Another thing I used to commonly come across which massively caught be out when I first encountered it was that Visual Studio was creating my projects with ANSI string support but the code was written for Unicode (Or vice-versa, I cannot remember for certain which way around it was!), this would result in errors where the following code would fail to compile due to the 'L' prefix in front of the "Main Color Buffer" string depending on which encoding the project is set to use: g_SceneColorBuffer.Create( L"Main Color Buffer", bufferWidth, bufferHeight, 1, DefaultHdrColorFormat, esram ); Changing the project's character set would usually resolve these issues (This can be done by right clicking the project in Visual Studio > Properties > Advanced > Under 'Character Set' select either "Use Unicode Character Set" or "Use Multi-Byte Character set") Hope this helps!
  2. Ashley_H

    5x3 Slot Game Logic

    Whilst I can't speak for every company, as a former Novomatic employee I can confirm that this is exactly how their engine and the engines of their subsidiaries would work. The other option would be create a mathematical representation of a set of reel bands which was statistically proven to hit a desired RTP (That method was way beyond my understanding so I won't even attempt to describe it here), however the Monte Carlo approach was generally the most commonly encountered method due to its simplicity and ease of validation (You don't need to write fancy simulators or mathematical models to prove the RTP of your game - Simply write something to brute force about 10 billion game rounds and then output the final win-to-loss ratio). For feature games, prizes and bonuses etc those would generally work as you described - There would be a list of predefined prizes or game outcomes and the RNG would select from these rather than selecting random positions on a reel band. However, this was more to conform to legal obligations whilst controlling the outcome of a game than for any practical reason.
  3. Ashley_H

    5x3 Slot Game Logic

    How it usually works is a reel band is created which represents the symbols that will spin through the reels. Usually this is as simple as a char array where each character represents an individual symbol: { 'A', 'L', 'K', 'T', 'T', 'B' .... etc } (If you play a web based slot game with your browsers console window open, you sometimes capture the communication of the reel band strips from server to client on the Network tab!) When the player hits the 'Spin' button an RNG will generate a number between 0 - length of the reel set and this will be the stop position for that reel. Once all stop positions for all reels are generated you'll have the final window and can then evaluate it for any winning prizes/bonuses. Whilst all of this is going on in the background the player will just see a repeated set of symbols spinning through (Since you've already defined the reel band layout you just simply spawn images and move them down the screen). When it's time to stop you would then take the generated reel positions, spawn in the required symbols and have them enter the screen. This time however they won't fall out of the bottom and will instead stop in the required places. Regarding actually creating a reel band which doesn't over-or-under pay, most people I've encountered tend to just brute force it through Monte-Carlo style simulations where they'll create a set of reels they think will have a decent hit rate and RTP (return to player) and then simulate several million-billion games to get the average wins. If it's too high they take away winning combinations, if it's too low they add more in until eventually it sits at a reasonable win-to-loss ratio (Usually around 95% averaged across a few hundred million - tens of billions of games). Hope this helps!
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!