Jump to content
  • Advertisement

Brain

GDNet+
  • Content Count

    2613
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Brain

  1. Hi all, It's been a very long time since i last worked on this project. Now that Mr Boom's Firework Factory has been released, i decided to turn my attention to other projects, namely this one that has sat languishing on my hard drive for many years now since 2015. On deciding to restart this project, I had to take stock of the situation, not only technically about how outdated the code was and how badly written it was, but also on how to build from what i'd learned with Mr Boom's Firework Factory. It's safe to say now that this previous game was a critical success, but pretty much a commercial failure - this isn't to say that this will cause any issues for me, as I was extremely careful not to "bet the house" and only spent small amounts on the development and promotion that i could afford to spare or even lose. On the flip side this meant that the community around the game was very small, not large enough to sustain it upon release. As such I decided that a change of approach was needed, if i was to recoup anything at all from such a huge and complicated project as The Seven Spells of Destruction, which is an open world role playing game inspired by the Fighting Fantasy novels of the 80's and 90's. The Release Approach and Timeline I decided that in the case of this game my approach would be to somewhat open up the alpha testing. For the next two years at least, I would have open and free alpha testing, with the game freely available via itch.io, and trusted close fans who had stuck with me throughout Mr Boom and retained an interest in this project would be given steam keys. On the subject of steam, i would set up a steam page as early as humanly possible, pay for the steam direct fee, and build a page within weeks of announcing that the game was restarting. This steam would bootstrap a much larger fan base into spending multiple years gathering wishlist entries. After two years, in August 2021, if development goes to plan, there should be enough features in the game at this point to flip the switch and move to a full-on steam early access model at a fixed price of approximately $12. This price has been selected as the price point other competitors in the open world genre are charging - this includes indies, with equal sized open world games, and also AAA studios selling their older back-catalog, e.g. Bethesda's Skyrim. Within five years of this release date on early access, I plan to complete the game to a condition that it can be called 'done', and make it an actual non-early-access release. It would be nice to pick up 3D artists along the way to help with content generation, but as with Mr Boom this isn't essential to my plan or schedule. As you can see, i'm currently using a lot of off the shelf art, and can do a lot with it, but i'm sure there are improvements that can be made! The results so far... I announced this plan a week ago today, and in the past 7 days, i have gained 30 alpha testers (it's easy to gain testers when the game is free!) who offer feedback regularly on my discord server. I have also produced a trailer (see below) which has been used to bootstrap the itch.io page, be included into the embryonic steam page, and used on woovit. The response has so far been far more successful than the initial similar one for Mr Boom. I've also run an ad campaign on facebook to build a following there, in the past week I have gained 500 followers on that network, who are responding well to the Seven Spells Of Destruction videos. Speaking of videos... The trailer With the limited content at my disposal, i have created a simple trailer to promote the alpha, and have distributed this on various discords and websites: As always, feedback on this entire plan, and on this rudimentary trailer is more than welcome, in fact mandatory! You will leave feedback... just kidding 😀 The plan going forward The plan now is to fix bugs. A lot of bugs had to be fixed just to get this far, let's not even get started on how much of a pain in the ass it is to upgrade a large project from Unreal Engine 4.10 to Unreal Engine 4.22.3, with a whole load of editor modules and a lot of C++, which also included an update from Visual Studio 2015 to 2017, and threw a lot of modern C++ warnings and errors. I've had to rejig the way the whole game displays, due to tone mapping, i've had weird bugs with the camera rotating as the player walks, I've had strange bugs where the player's sword and shield grow to the size of a car. Bumper sword's got nothing on that. I should have captured a video as it was possible just to walk through enemies and slaughter them due to the size of the sword's hit box and the speed of movement of the edge. Please do let me know what you think of this plan, and if anyone wants to offer any kind of help, well you know where to find me. For those of you who want to actually try out the alpha, you can download it on itch.io. Thanks for reading, everyone!
  2. The Seven Spells of Destruction is a third person single player open world RPG, set in the continent of Utopia in a fantasy setting with some sci-fi elements. This game is the continuation of a project which has been in development in various forms since I was 13, originally being created (and finished as a project) twice, once as a choose-your-own-adventure style novel, and a few years later as a web based version of the same. This third iteration will be the final version of this game, coming to steam via early access with an extremely long development cycle. It has been on hold for many years whilst I gained experience in Unreal Engine 4 and completed other projects, once these other projects are completed, development on this project will restart in earnest, as I now have a sizeable collection of usable assets and enough experience to give this game the TLC it deserves.
  3. Introduction As part of releasing your game to the public, something which is often overlooked is code signing. Code signing is a cryptographic process whereby your game's executables and/or installer are marked as authentic, so that the person running the executable (or anyone else for that matter) can ensure that: The executable has not been changed since it was signed The executable was created on a specific date at a specific time The executable was signed by a known, trackable entity (company or individual) responsible for the code within These give some definite advantages (as well as introducing some disadvantages) as shown below: Advantages of code signing Signing your executables provides tracability of your code, allowing anyone to see who is responsible for the program Signing adds authenticity which makes your game and your company (if there is one) more reputable and trustworthy It will give positive weight to systems such as smartscreen filter and many anti-malware programs, which are more permissive of signed executables than unsigned. Disadvantages of code signing There is an up-front cost involved in aquiring a certificate for code signing If you do not have the required forms of identification or business documentation, obtaining a certificate can be hard to impossible There is a learning curve to understanding how certificates work (which this article hopes to address) The steps involved in signing your code To properly sign your code, you must follow several steps, which must be completed in a strict order. These steps are: Select a certificate authority Before you can sign your program code, you first need to select a certificate authority. The cost of object code signing has come down massively in price over the past few years. You will need to search for a certificate authority that will provide you with a type of certificate known as an "object code certificate" or "authenticode certificate". Here are some possible choices, this list is by no means exhaustive and I encourage you to search for additional sources of certificates before parting with any money: Comodo - This costs $119.95 per year, however if you are a member of Tucows this can be reduced to $75 per year simply by purchasing through Tucows as a member. Verisign/Symantec - Traditionally the most expensive choice but popular with big business. Starts at $795 per year. Remember to shop around as many different resellers of certificates offer their product at a much lower price through third parties, for example as a business user you can get brand name certificates at a much lower price via RapidSSL. Also remember that a lot of the time, you are paying for brand names. All certificates I have listed here are equally trusted by the Windows operating system, so there isn't much point in paying $795 per year for a certificate when one you pay $59.90 a year for will function identically. Important Note: Although LetsEncrypt are fantastic (and highly recommended by this author) for web server SSL certificates for HTTPS, they do not at present (last checked July 2019) support code signing/authenticode. Should they start doing so, they would instantly move to the top of this list. Purchasing a certificate When you have selected a company to purchase your certificate through, you will then need to purchase your certificate through their shopping cart (unfortunately, I cannot really advise how to do this as it varies from website to website, but the concept is similar - provide payment details and wait to hear from them). As part of the purchase you will either have to upload signed forms of your photo identification or business documentation to the certificate authority's website (so be prepared to do this, there is no way around it). Generally, it is expected for a non-business user to be able to send scanned copies of a photo driving license and/or passport, and a recent utility bill. Also, expect to hear from the certificate authority directly via your phone number, which will be a mandatory field on the application form. This will be a call to verify your identity, and not a sales call. Generally, the level of checking for a code signing certificate is somewhat similar to that needed to open a bank account. he reason for both of these is to prove you are who you say you are so that the certificate you are purchasing has some weight. This prevents you for example from signing up and buying a certificate claiming to be "Microsoft" or "Google" as to do so you would need that company's business documentation. Once you have completed the process, you will be sent a link to download a certificate file. Downloading the certificate file Once the certificate authority has provided you with a link to download your certificate, you will then have in your possession one or more small encrypted files. You will either have (depending on the authority you selected) a seperate .crt and .key file, or a .pfx (or p7k) file, which is the .crt and .key files combined into one. You should make sure that these files are backed up securely, as if you lose them you may have to pay for re-issue of your certificate which can be costly. My advice is to move them immediately to a DVD-ROM and lock them away wherever you keep your paper driving license and home insurance, or whatever else holds value to you. SSL and signing fundamentals Before we continue further with the article it is worth pointing out the difference between the certificate and key (.crt and .key file) which you have obtained from your certificate authority. Both are important and have different uses. When you first sign up for your certificate authority of choice a "private key" is generated. This is used to uniquely identify you, and if lost can never be replaced. Depending on the authority you choose, some may trigger creation of this file by your browser, and have it stored in your registry or browser settings (in which case it is never sent to the certificate authority, which is more secure) and others may generate it for you, and send it to you with your certificate. Either way, in the end it is used as part of the certificate which is sent to you. The certificate is a blob of data created by your certificate authority, and then signed by both your key (see above) and the key of your certificate authority, wihch you will never have in your possession. In simple terms, to sign your certificate means to apply a hash to it using the private key of the signer in such a way that you may verify it without that key but may not re-create it yourself, allowing you to verify its authenticity but not forge its content. There is much more to the process, delving deep into complex maths and cryptography, but that is beyond the scope of this article which intends to simplify code signing rather than make it complex. Saving the certificate file If your certificate authority has provided you with a .cer and .key file, I advise that before you continue, you convert it to a .pfx file as it is easier to work with on Windows. There are several ways to convert your files, and your certificate authority might provide you with an online tool or a simple download of your certificate in .pfx form. If they do, I suggest you use this feature as it will be more straightforward. If they do not provide such a facility, you can use the openssl toolkit to convert your .cer and .key file into .pfx using the command line below, for which you will need to install the openssl toolkit onto your PC, which is a free open source download: openssl pkcs12 -export -out yourcert.pfx -inkey yourkey.key -in yourcert.cer The program will prompt you for a password, as part of the process I strongly recommend you enter a strong one as this will protect your certificate from misuse if it is obtained by any third party! Once you have the .pfx file, simply double click it and windows will prompt you to add it to your registry: You should mark the certificate as "not exportable" which will stop someone from simply extracting the certificate from your registry at a later date. Following through the wizard will prompt you for the password you set on the file, simply enter it, and continue clicking through the wizard accepting the defaults. Once complete, you will receive a message saying the certificate was successfully imported into your registry, which means you are now ready to sign executables! Please remember that the certificate you have purchased is valid for signing files until its expiry date so you only have to buy the certificate once every one or two years (or however long the certificate is valid for) and with this one purchase you can sign as many executables as you like, whenever you like. After this, the sky is literally the limit! Signing your executables, and timestamping We now finally have the correct configuration and the correct files to be able to sign our executables. It is important to note however that there is one important difference between signing an executable, and putting an SSL certificate onto a website or most other uses of security certificates. Binary code may be timestamped. What this means, in simple terms, is that the signed executable can still be considered valid even if your certificate has expired, you just wouldn't be able to sign any new files with an expired certificate. To prove my point find any signed executable on your disk which is over three years old. The chances are, by now the certificate which was used to sign this file has expired (you can see this by right clicking on the file and choosing properties, then the 'security' tab) however if the file is timestamped, when you double click the file it will still be considered valid. Timestamping is a process done automatically when you sign your file. It involves contacting a third party server which counter-signs your file with a special value which references back to the certificate issuer's servers. This value can then be used to verify that the certificate was valid at the time of signing the file rather than right now. Because of this, you should always use your certificate authorities own timestamp server which you can easily find on Google. Armed with this information, signing your code is quite straightforward: "C:\Program Files (x86)\Windows Kits\8.0\bin\x64\signtool.exe" sign /d "Your games name" /tr http://www.yourcertissuer.com/timestamp /a path\to\your\executable.exe In the command above we are using the signtool.exe binary, which comes with the Windows 8 development kit. There will likely be several copies of this executable on your disk and any one of them will do fine for this task. We specify the "friendly name" of our program using the /d parameter, as shown above, and the /tr parameter specifies the timestamp server as we discussed above. The command above can be used not only to sign executables, but also DLL files and OCX files, driver files, CLR bytecode, and just about any other type of windows executable you can imagine. Specifying the /a parameter to the signtool command simply tells it to use the first valid code signing certificate held within your registry to sign the file. If you followed this article to the letter this is where your code signing certificate and key will currently reside. I store my code signing certificate here as it is generally a secure place to put it, where you don't risk accidentally putting it into your code repository or into your network drives, encrypted or decrypted. Now you have finished the process, you can test your executable by double clicking it, and if your executable requires elevation (which most install packages etc do) then you will be presented with the friendly blue prompt: Summary Hopefully this article should give you some insight into how to sign your code. Signing your code is not just an awkward expense, in the current software and games market you should consider it important for anything you release to the public. It protects you, and it protects the people who want to play your game. If you have any questions about this article please do not hesitate to comment on this article below. Article Update Log 21 Apr 2015: Started work on article 7 May 2015: Initial release 15 Jul 2019: Removed references to StartCom/StartSSL who are no longer a trusted certificate authority.
  4. Hi all, I'm putting a post here in this article's comments to just warn anyone from using StartSSL/StartCom for their certificates. Their root certificate was removed from most OSes (including windows and linux) and all browsers some years ago, as they are not to be trusted. A quick google will reveal the reasons why, this was not the case in 2015 when i wrote this article. For free webserver SSL there is LetsEncrypt, but they do not as of this date support authenticode.
  5. Brain

    unknown-25.png

    Delivery truck for Mr Booms Fireworks, delivering just in time for independence day!
  6. Brain

    unknown-34.png

  7. Brain

    Mr Boom's Firework Factory

    Move Mr Boom’s firework crates from the machines to the exit without destroying them. Beware though, as nothing is quite what it seems in the Firework Factory! This is an extemely fast moving, unforgiving puzzle game which requires lightning fast reactions and quick thinking to avoid disaster. We are not responsible for any flipped desks, broken screens, destroyed gamepads, or frustration you may experience trying to finish this game! Work your way through the factory’s many tasks whilst avoiding explosions, to reveal the truth behind the firework factory and your enigmatic boss, Mr Boom… This game was released on July 10th 2019 on Steam, Itch.io, GameJolt, Green Man Store and Discord, so watch this space and let the explosions begin!
  8. Hi Everyone! In preperation for the release of Mr Boom's Firework Factory, i have created a release trailer which has been uploaded to various storefronts and to YouTube: The release trailer is an incremental improvement on the previous three trailers, one created in 2016, another created in January 2019 and the other in April 2019. This trailer was created in Lightworks Pro, using a whole load of video footage of existing gameplay, some stock footage, and static images made in GIMP with green-screen effects to overlay them onto moving images. If anyone's interested in the technical production of this trailer (as i've seen nothing technical relating to creation of trailers on this site) please let me know in the comments below, however please note that I'm generally quite new to video editing myself, certainly no expert, and this may be "a case of the blind leading the blind". This new trailer adds the following: I've used some of the voice acting I'm using in game, most notably at the end when the name of the game pops up, Mr Boom tells you to hurry up. I thought this would be a good addition as the main character of the game addresses the viewer directly, accusing them of sitting on their ass, basically goading them to go to the steam page. I've added some extra level sequences, mainly level 22, the server room. I'm keeping pretty tight-lipped on new levels now, so that if you want to find out all about later levels, you'll just have to play the game and experience them! At the very end of the trailer, the sequence goes to a VHS style 'noise', and then to some footage of the streamer NorkDorf playing the game. He got extremely wound up by the difficulty at first, and shouting angrily at the game, scared his pet cat out of the room. Every person i've shown this footage to laughed, so i decided to insert it at the end of the trailer, with his permission of course. Within the trailer, i've added YouTube cards which encourage clickthroughs to the store page, basically calls to action. As always feedback is welcome in the comments below
  9. Brain

    Celebrating 20 Years of GameDev.net

    The early 2000's called, and sent you birthday memes.... Nobody has mentioned hockey MMO's yet though? 😂
  10. Hi Everyone, Now that I've returned from Casual Connect London 2019, I can finally progress with pushing Mr Boom's Firework Factory to release. Casual Connect was extremely productive, and an extremely useful resource for getting the game polished and put in front of many eyes. There is a gallery for the photos of Casual Connect below: The main things that happened were: Over 70 people played the game, with overwhelmingly positive feedback. The game is as hard as we'd intended, but I need to review the tutorial and usability to ensure people are getting stuck in a good way with the game's difficulty curve, and not with the controls and learning what they actually need to do I managed to grow my professional network, meeting many other indie developers One of the people I met has encouraged me to get proper voice acting done for Mr Boom, so the main 'antagonist' of the game will have a voice! What worked? Actively encouraging people to come and play the game worked very well. Where most people patiently sat and waited for people to come and play their game, I was not content with this, and would stride with purpose into the walkway and try to convince people that they needed to play my game. A casual introduction of "hi, how are you?" would start a conversation which usually ended with 15 minutes of play. Having a rolling video of the game helped massively, if one person was playing, or we were busy networking, a second person could simply watch the video. Similarly, if someone did not want to play the game, but wanted to know how it worked they could simply watch the rolling gameplay video. Recording various players on my phone as they played help two ways; firstly, it allowed us to analyse their body language and expressions afterwards to determine where they were pleased, happy, frustrated, or confused. Secondly, these may be useful later in footage to promote the game, at key moments where people cheer to themselves or curse the game as they lose or win a level. Having Trello on our mobile phones allowed us to quickly make a list of observations in the background as people played. The appeal of the game was very strong, many people played until they had other places to be (e.g. they had a set of games they wanted to try out, or had to go to a talk or meeting) with the average game session lasting 15-20 minutes. I purposefully chose to take equipment to casual connect which could not edit the code and perform fixes. This forced me to ensure that the game was stable enough on the equipment to not need hotfixes at the event. We didn't want to be the ones sat trying to edit our code at the event for all to see. Reaching out to previous winners gave a whole wealth of useful advice, which we used. Thanks very much to Robert Kujawa at Neurodio for his in-depth email responses which helped tailor my approach to the conference. They produced a guide, which is now available to everyone, based on the emails they sent me. What didn't work? The tutorial was not strong enough to stand alone at the conference, Craig and I ended up becoming an interactive tutorial, with each player, explaining the controls and goals repeatedly. This soon became tiresome, but at the same time afforded the opportunity for the player to ask questions as they played. The hardware we had planned to use was not up to the task - the netbook I had ready to stream 1080P video was not up to the challenge on the day, luckily we had backup hardware. Recording people on our phones did not yield the excitement we had hoped to capture. While people got very excited to complete a level that had challenged them for ten minutes or more, they would react naturally and excitedly when we weren't recording, but if they were aware of the mobile phone recording their reactions would change, perhaps due to being uncomfortable with being recorded. What did I learn? This may be directly related to the types of professionals at the event, but we were repeatedly asked when this would be available on mobile. Due to this, I intend to look into a mobile port soon after the steam release, either porting it myself or finding a third party able to port it, such as a publisher. Once you put a game in front of real people, outside your testing team, they will uncover bugs you never dreamed possible. Amongst the positive feedback were at least two crashes to desktop, two different forms of lockups, and some weird non-game-breaking visual bugs. For the non-game-breaking bugs, usually the player did not notice as they were too deep into the gameplay and concentrating on finishing the level. The game needs more visual cues. For example ghosted crates on the exit, and above the machines, to give hints to what is going to happen next and what is expected of you: I am now starting on the list of feedback obtained from Casual Connect, so there should be another blog entry of these fixes soon. Stay tuned! If anyone has any comments or feedback as always please do leave comments below!
  11. Brain

    IMG_20190528_175016.jpg

    From the album: Casual Connect London 2019/Indie Prize

    © (C) Craig Edwards, Brainbox.cc, 2019

  12. Brain

    IMG_20190528_175016.jpg

    Paulo Luis Santos - Centre Me - Right
  13. Brain

    IMG_20190528_083607.jpg

    Craig McLure (FrostyCoolSlug) being camera shy as we were setting up the showcase on the first morning.
  14. Brain

    IMG_20190528_083607.jpg

    From the album: Casual Connect London 2019/Indie Prize

    © (C) Craig Edwards, Brainbox.cc, 2019

  15. Brain

    IMG_20190528_092635.jpg

    From the album: Casual Connect London 2019/Indie Prize

    © (C) Craig Edwards, Brainbox.cc, 2019

  16. Brain

    IMG_20190528_092635.jpg

    My "booth neighbours" were Flux Games, creators of Talaka who spent quite a while trying out Mr Boom's Firework Factory.
  17. Brain

    IMG_20190528_142832.jpg

    From the album: Casual Connect London 2019/Indie Prize

    © (C) Craig Edwards, Brainbox.cc, 2019

  18. Brain

    IMG_20190528_142832.jpg

    Mr Boom's Firework Factory showcase
  19. Brain

    IMG_20190530_150305.jpg

    From the album: Casual Connect London 2019/Indie Prize

    © (C) Craig Edwards, Brainbox.cc, 2019

  20. Brain

    IMG_20190530_150305.jpg

    The Indie Prize Awards London 2019
  21. Brain

    IMG_20190530_150534.jpg

    From the album: Casual Connect London 2019/Indie Prize

    © (C) Craig Edwards, Brainbox.cc, 2019

  22. Brain

    IMG_20190530_150534.jpg

    Reece Bridger from No Studio In Particular (Twitter @NSIPStudio) - Left Jesper Tingvall from Catalope Games (Twitter @CatalopeGames) - Centre Me - Right
  23. Brain

    IMG-20190529-WA0000.jpg

    From the album: Casual Connect London 2019/Indie Prize

    © (C) Craig Edwards, Brainbox.cc, 2019

  24. Brain

    IMG-20190529-WA0000.jpg

    Me (Left) and Craig Mclure (Right) at the Day 2 party.
  • 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!