# Dev Diary #024 - If Memory Serves

773 views

Hello yet again and welcome to this weeks Dev Diary!  This weeks topics are;

• What's happening behind the scenes.
• Various ideas that have been popping up.

As mentioned in last weeks Dev Diary, I have been trying to order an affordable pair of high performance, 16Gb RAM Kit, which is necessary before continuing the video processing with After effects, as 8GB is simply not enough. The second options (F3-2400C11D-16GXM) panned out and was sent to me at last Friday. When the 16Gb memory kit arrives, I can either have a little better performance and much better system responsiveness, or significantly better performance with the same level of responsiveness, that I currently get with 8GB of RAM, while video processing is running background. I just hope that there really is as significant difference in system responsiveness as I have come to understand from various sources that discus the topic of "system build recommendations for video editing", as it would allow me to be much more productive to have my main computer usable while the video rendering is running.

With a little bit of tweaking my computers BIOS settings, I managed to get a tad more performance out of my current RAM, which should work more or less on the same values with the 16Gb Kit once it arrives. This is due to the memory Kits being of the same series; RipjawsX, but they still might have different memory modules, which is why it is not a guarantee that the current settings will work on the new RAM Kit. Usually though, especially on older systems, the overclockability of RAM kits are much weaker on 4 stick kits than 2 stick kits, which might make up for the difference in memory modules. Only one way to find out, and that is to try it out. More on that when I actually receive the Kit.

### More Ideas On Top Of Ideas

One of the ideas I had, was that there is a second option for a first 2D game that I could make (as a practice run before the RTS game), which could be even simpler than an RTS - a side-scrolling crafting game, Similar to "Craft the World".

For the past week I have been gathering ideas for all the possible games that I could make. Many of them are overlapping and could be used in conjunction with each other, but one thing is clear - I really do like RPG elements, maybe too much for my own good, as a comprehensive RPG game is not one of the easiest to pull of as a first project.

here is a quick mockup that I did while trying out how to differentiate my side-scrolling crafting game from the "Craft The World";

The idea was to try out, what if I made the game with blended textures, rather than tiles? This mockup does not represent how it could look, when done properly, but gives a little hint, if it could work. Using tiles could be seen too similar to several other games that does it that way and in "Craft The World" the tiles look really good (pleasant to the eye) in my opinion.

If I did try to make the game with blending textures rather than blending separate tiles, the playability might suffer, as when you have a greater degree of freedom to move, besides left and right, up and down, while digging, there is a risk that you might leave hanging little bits of sand or stone, like could happen in Worms games. To avoid this, there should be also gravity and possible particle physics for the materials (sand, stone, metals), which would end up making the game more complex than a RTS game.

Another idea was to make a game that was similar to "Wings", a 1996 DOS Cave-Shooter video game (by Miika Virpioja), as a practice run before the RTS game. It would be rather simple to make, as you only need background and foreground layers, ship and weapon ammo and effects graphics and the rest is placing and programming.

It's good to keep options open, even though I was too quick to say what my first game should have been. Realistically speaking, starting from a simpler game should be more sound and practical choice, which would also enable me to polish my plans further for the RTS-Citybuilder, all the while being able to have something released while doing so - as I would prefer that the RTS title turns out as good as possible.

### Conclusion

I will be away for couple of weeks as it's midsummer festival or "Juhannus" in Finland and other Nordic countries on this weeks weekend. I'll be spending time at the country side with plenty of grilled food and cold drinks and might miss one weeks Dev Diary because of this. I will make a small update that will be auto-released on next weeks Monday in order to not break the continuation of these releases. and let you know some more game mechanic ideas I have come up with.

This is it for this weeks Dev Diary, and I'll see you on the next one

And as always, you can check out every possible mid week announcements about the project on these official channels;

### Images

View the entire Project Taival album

There are no comments to display.

## Create an account

Register a new account

• ### Similar Content

• Project Name: Condors Vs. Ocelots
Team Size: 15ish
Genre: Strategy RPG
Engine: Unity
Roles Available:
3D Artists - generalist or hardsurface w/textures
2D Artists - Characters, World, and UI
C# developer/engineer(s)
Social Media/Marketing/Community Manager
If you feel as if you can offer the team something more that isn’t listed, we are always open to making an exception, just send your resume/portfolio to us!
Project Length: Currently planning on release Q1 2020.
Compensation: Rev-share
Project Status: Vertical slice is done and iteration development has begun.
Send emails to careers@titanomachystudios.com

Our store page can be found here, https://play.google.com/store/apps/developer?id=Titanomachy+Studios
Our website here,
http://titanomachystudios.com/#/

Project Story: Condors and Ocelots have been at war for generations. Battles have left some settlements in ruins. Others teem with refugees. Even away from the fighting, towns and villages suffer from having their fighting-age citizens lured away or conscripted by one faction or the other. Players control their armies and try to wipe out their opponents! Use terrain, abilities and pure cowardice if need be to achieve victory for your faction!

• Greetings!

Chaotic-neutral, rogue designer is looking for a merry companions to form a fellowship during game-development journey.
He has a concept for a TCG and an urge to release it.
Currently the project is in a paper-prototype-testing-tweaking stage.
There is no concrete schedule since there are some opened questions regarding core mechanics...
Game's IP is more-less-fantasy-with-mighty-dragons and OFC is totally a very-original-game-changing-idea... totally!
...with dwarfs!
...and dragons!
So if you are keen to take this challenge and you have lvl 6+ skills in (and/or):
Drawing (much much wanted)
Coding (much wanted)
Design (wanted)
you may want to post some details about your interest in this project.
This long-and-dangerous journey begins in Cambridge, UK.

Best regards,
V
• By Brain
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:
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.
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.
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!
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
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.

• The Riverine design looking like a snake didn’t work very well with the animation so we re-designed this creature to look more like a colourful caterpillar type of animal.

• mod.io is an cross platform mod service created by the team behind ModDB.com and IndieDB.com. It can be integrated in-game using the  REST API, C/C++ SDK or engine plugins (if available) Unity is ready and Unreal Engine is in development.
Features include:
Platform agnostic (support 1 click mod installs on Steam, Epic Games Store, Discord, GOG, itch.io and even consoles in the future) Clientless (mod.io has no other dependencies and works behind the scenes in your game) Embeddable web app UI, so you can integrate your mod community anywhere Powerful search, filtering and tagging of mods Moderation and reporting systems built-in Steps to getting mod.io integrated:
Add your game to our test environment or production Read our API documentation for an overview of how mod.io works Choose an Engine Plugin, API or SDK to integrate mod.io into your game and mod making tools Ready to launch? Add your game to our production environment then let's discuss promoting your release Need help? Our team is available on Discord to assist and our getting started guide has more information for you

Benefits of using mod.io:
mod.io offers the same core functionality as Steamworks Workshop (1 click mod installs in-game), plus mod hosting, moderation and all of the critical pieces needed. Where we differ is our approach to modding and the flexibility a REST API offers. For example:
Our API is not dependent on a client or SDK, allowing you to run mod.io in many places such as your homepage and launchers Designing a good mod browsing UI is hard, our plugins ship with a UI built in to save you a lot of effort and help your mods stand out We don’t apply rules globally, so if you want to enable patronage, sales or other experimental features, reach out to discuss Our platform is built by the super experienced ModDB.com team and is continually improving for your benefit Your community can consume the mod.io API to build modding fan sites or discord bots if they want Large studios and publishers:
A private white label option is available to license, if you want a fully featured mod-platform that you can control and host in-house. Contact us to discuss.
Find out more:
These screenshots are from our Unity plugin: