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

    Algorithm Path Calculation

    You could look into a proven pathfinding algorithm such as A*. Make sure to cache the resulting path information though as A* can be rather expensive. See: https://dev.to/jansonsa/a-star-a-path-finding-c-4a4h Hope this helps!
  6. Brain

    Did I really remake Minecraft?

    It's possible to make something that doesn't look like minecraft and is still voxel landscape. A great example is no mans sky which is voxel generated at planet level. I wish you all luck with your game. In the end it isn't my opinions or anyone elses that matter as much as your own opinions if you want to make a game to please yourself
  7. Brain

    Did I really remake Minecraft?

    I still think it looks exactly like minecraft due to the cube shaped blocks, pixel art, and construction of scenes plus the landscape generation seems just about the same. If you wanted a completely different aesthetic you could consider spheres, or something else that tesselates, nobody has done triangle base pyramids yet...
  8. Thanks @IndieRanger and @TheFever716 for the excellent review I really enjoyed reading the review and am glad you enjoyed playing the game!
  9. Brain

    unknown-25.png

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

    unknown-34.png

  11. 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!
  12. 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
  13. If you want the idea guy game designer job, there is one place where this exists; solo indie dev. If you like to take risks, work for 40 hours a week to see your dream come to life with the understanding that you may still not break even, you can do all the roles including this role that doesn't exist in the AAA space. You'll also be the marketing guy, PR team, programmer, art director, sound director, and all the other roles you don't outsource. Enjoy and good luck! (Sarcasm aside this is what I do alongside a non-gamedev full time job, I find it fun to do this way)
  14. 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? 😂
  15. When did you join? I joined in 2010, a little greener and a lot younger. What brought you here? If i remember, i found this site on Google, when searching for advice on how to create multiplayer online games. I found several articles saying not to do it, was intrigued by the detail people went into about it, and signed up. Why do I participate? I participate to contribute back to the gamedev community, give advice to those who are starting out, and to spread the word about my projects by creating blogs and articles. I also enjoy getting feedback from the rest of the community, constructive criticism given here has helped shape my games for the better over the years.
  16. ^^ Great advice for life as a whole, rather than just gamedev!
  17. Brain

    Game engines

    Nah, i'm fine for now, there's a whole 2gb free there 🙂 Back in the good old days, that was ten times the size of my hard disk...
  18. It's worth pointing out that github now offer free private repositories... This probably solves your problem
  19. Hi all I've produced a new trailer for my game, and although i've been working in C++ and other programming languages as a developer for many years, when it comes to video editing and production i'm still as green as they come (so be gentle!). This trailer features a lot of the newer gameplay set pieces and mechanics so gets across more the objects and things i want to convey. A few people i've let see this video say that it's a lot better paced than my previous attempts and more exciting to watch. If you could please give some of your own constructive feedback on this and potential improvements I can make to it without spending money and by doing the changes myself, I would be grateful. (I have no further budget for this apart from my time) - Thanks!
  20. Just out of curiosity, why Canada? There are many game studios worldwide that you could apply to if you're willing to relocate all that way. Is there a secondary reason you're limiting your search to just one country?
  21. Please please make this app. The problems we've had with getting kids to brush their teeth aren't trivial for some, of course kids would rather play, or do anything else! Making it a game does help. I really hope you do manage to make this, and make it a success! Good luck!
  22. This depends what your experience of programming languages is. Unity uses C#, and is generally easy to pick up if you have previous experience in programming. Unreal Engine 4 uses C++ and is generally less friendly for a beginner, but extremely powerful for those with experience. I'd recommend starting out with unity, if you have some programming experience. If you don't, just put your project on hold for a few months while you learn the basics, and believe it or not once you have the basics down you can kind of learn as you go, it will just take a lot longer (i mean a lot longer - don't expect to get this project finished within a 3 or 4 year time frame). A wise man once said it takes 10,000 hours of experience in a field to become an expert, that's 3.5 solid years of practicing your craft, including time for breaks, holidays, and assuming an 8 hour full time day. If you are doing this on the side, double that timeframe. In the end though, its not how long it takes, but the end result and the journey taken to get there right? Above all, have fun!
  23. I think when you say engine, you have a different idea of what an engine is than i do. If you mention making an engine around here, you usually mean a renderer, entity component style system perhaps, subsystems to manage audio, gameplay scripts, etc. What you're asking for are a set of components to add to an existing engine such as unreal engine or unity, that allow for creation of a game, plus the art work. That's a lot of stuff. Before you think about what language to use, consider making sure you have knowledge and experience in the tools you're going to use. If you don't yet have this experience, get some experience first otherwise what you're asking to do is akin to trying to build a skyscraper when you haven't even learned the basics of structural engineering. I'm not kidding, game development is HARD but very rewarding... Once you've done this, create a short document of 5 pages or less documenting the rules of this game, the general loop the player progresses through. e.g. "player explores, finds enemies, gets experience, levels up" or such. This is your game design document. Don't bloat it out with back story, concept art etc, these come later, or maybe you don't need them at all ever in the case of things like concept art. Consider buying existing off the shelf components to add to unity or unreal engine, and adjusting these to suit your game, never under-estimate the time this would take to do from scratch (perhaps decades). Good luck!
  24. Brain

    advice/choosing a game engine

    Out of curiosity, which languages did you program your previous two games in? It may be better if possible to expand on knowledge you already have and strengthen your existing skills.
  • 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!