Game
Education
News
Media
Community
Development
Press Kit
Newsletter


 

In this week’s development blog (it’s been a loooong week), we talk about paradoxes and why they suck!

 

Merriam-Webster defines a paradox as: an argument that apparently derives self-contradictory conclusions by valid deduction from acceptable premises.

 

Comic has been provided through the courtesy of the very talented Zach from SMBC whom we love <3

 

For instance, if I made the proclamation that:
“This sentence is false.”
then you might find yourself caught in an interesting logical loop…

 

‘This sentence is false’, is false which:makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false which makes this sentence true which makes this sentence false and well, you know the rest…

 

Which leads me to this week’s conclusion: Why computers and paradoxes don’t mix.

provided courtesy SMBC

 

Computers are amazing at computing (amazingly enough). One of their largest strengths is the ability to answer questions over and over and over… as many times as you ask them to.
Loops are amazing! Without them, video games (and the world!!) would be much different. But you just don’t want to have them loop forever (unless that is something you intentionally plan for). Actually programs crash, hang, lag, and do all manner of bad things if you don’t keep ‘paradoxes’ (and similar ‘infinite questions with no correct answer’) in mind while programming.

 

While programming, paradoxes (or better put: multi-threading race conditions, infinite loops/unintentional spinning, etc.) can and are intentionally avoided at (nearly) all times, especially while making loops. Programmers take a great amount of effort to go out of their way to over-plan for possible paradoxes and infinite loops…

 

Sidenote for programmers:
    While this does work…
        while( i != 0 ){ i -= 1; }

    It is not nearly as good as…
        while( i > 0 ){ i -= 1; }

This is because, if for any number of reasons (by another programmers hands, the hardware, or by magic itself), if “i” skips past 0, the loop will never end, and unless you have a means of dealing with that, that’s not a good thing. In 99.999% of cases this is generally impossible for such a problem to occur, and the countdown WILL be sequential, but you eventually will find that .001% oddball right when you least expect it (especially when working on a team and someone ‘helps’ by i–’ing something inside the loop to solve some other issue). And better still, the second way is just as readable (arguably moreso) and as functional as the former… so there is literally no good reason not to write it that way…


 

The programmers of the world can mostly agree on this (through necessity), so this is usually not a problem, and usually goes unsaid.

 

provided courtesy SMBC


 

However, CURE is so robust with its item system, that it gives players (many of which are not seasoned programmers) the ability to… well… cause ‘logical loops’ to form. Some loops are welcome additions that make the game that much more interesting,… however, players using that power CAN create some pretty gnarly paradoxes that can cause the game to either crash or create results which are… ‘unexpected’.

 

For instance, let’s say you had three genes (the ‘items’ that are in CURE, that one uses to upgrade their units), and you added them to your unit in this order:

    ▷This is gene 1 and adds +1 Health and turns off gene 2

    ▷This is gene 2 and adds +1 Potency and turns off gene 3

    ▷This is gene 3 and adds +1 Speed and turns off gene 1

 

So… if you have those three genes on your unit… which stat is modified (Health, Potency, or Speed)?

gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by gene 1 which is turned off by gene 3 which is turned off by gene 2 which is turned off by

 

There are a half dozen ways to go about ‘trying’ to solve this issue… And some that work better than others…

provided courtesy SMBC


 

But the best conclusions we came to is:

Don’t allow for paradoxes to exist!

Genes which are placed in such a way that is ‘logically impossible’, are not saved and that issue must be fixed before the genes can be applied and saved.

 

The main benefit is it allows us to have our cake and eat it too— we can have amazingly complex and intricate genes, with the safety of not having infinite loops or contradictions that result in less fun while playing.

 


Privacy Policy

If you have any questions about our privacy policy, please feel free to contact us anytime.


We take your privacy really seriously, and we think more websites should too!


We will not share any of your personally-identifiable information (namely street addresses, first or last names, social security number or credit card numbers or even your pets first name) with anybody, not only because we have an aversion with such practices but also because we don't store it so there is nothing to share.


We will not sell any of your information (see cookies, IP addresses, and usage statistics below).


We do not currently advertise on this website, so no advertiser or company will have access to your usage statistics, information or personally identifying information.


When you use this website some information is logged automatically.


Webserver Logs

In order for you to connect to this website (or any website), that website needs to be running webhosting software; This software automatically logs information such as IP Address (see below), the time you accessed this website, what page you accessed and possibly other metrics. The reason for this type of logging is to both check for errors people might encounter when visiting this website and to monitor for hacker activity or potential exploits of our website. This information is used to review the health of our website and for maintenance, information stored in log files are not shared with any third party.


Usage Statistics

We reserve the right to log how a user may use our website (by making note of which things are clicked while you are on the website and when you clicked on them, what browser and operating system you used to access this website, and other non personally-identifiable information). This can be used to help us make the website better by analysing how the website is used and to see which pages on this website require maintenance. This information is not shared with any third party and is used solely my us to review how the website is most commonly used. No personally-identifiable information is collected as usage statistics.


Cookies

Cookies are bits of information that are stored on your computer, which are used when you navigate through a website. Our pledge is to only create cookies (only stored for a relatively short time) which will help your experience on this website and that your cookies are not stored, collected, or sold by this website. Most modern browsers have a way to disable cookies, and you are welcomed and encouraged to do so if you do not wish to store cookies on your computer. Some of the functionality on this website might not work without cookies enabled.


IP Address

When accessing the internet, your computer uses an IP addresses in order to view websites. IP Addresses act like a mailbox- and web pages are like letters. The IP address is a set of numbers and/or letters, and symbols and does not contain any personally-identifiable information in them (for instance, it does not show where you live, your name or other such information). We reserve the right to create logs which contain visitor IP Addresses (see the above: Webserver Logs and Usage Statistics) or use your IP Address to deliver to you custom content. IP Addresses are not shared or sold to any 3rd party and is only used for maintaining this website (see above: Webserver Logs and Usage Statistics).


Children's Information

We believe it is important to provide added protection for children online. We encourage parents and guardians to spend time online with their children to observe, participate in and/or monitor and guide their online activity. This website does not knowingly collect any personally identifiable information from children under the age of 13. If a parent or guardian believes that this website has in its database the personally-identifiable information of a child under the age of 13, please contact us immediately and we will use our best efforts to promptly remove such information from our records.


Website Privacy Policy Only

This privacy policy applies only to our online activities and is valid for visitors to our website and regarding information shared and/or collected there. This policy does not apply to any information collected offline or via channels other than this website. For the CURE game privacy policy please click here.


Consent

By using our website, you hereby consent to our privacy policy and agree to its terms. Privacy Policy Online Approved Site.


Update

This Privacy Policy was last updated on: Wednesday, October 22nd, 2014. Should we update, amend or make any changes to our privacy policy, those changes will be posted here.


Terms Of Use And Forum Rules


Whereas you are welcome to join us in the CURE community forums, the following rules are in place in order to keep the CURE website a fun place to visit.


#1: Do not post hateful (ie: abusive, obscene, vulgar, slanderous, threatening, etc. ) messages.
#2: Do not post any material that may violate the law.
#3: Do not post content which is offensive (namely pornography or gore).
#4: Do not advertise or google bomb.
#5: Do not annoy the moderators. If requested to stop doing something by a moderator, it is most likely because you are being annoying.
#6: Use common sense.
#7: Have fun! This is the internet after all!



Moderators can enforce the rules as they wish. They can give warnings at their discretion, but are not obligated to. Your ability to use the forums or access the website can be revoked, for reasons stated or unstated. We hope for the forums to be a place of free speech and fun, and these rules are in place to keep the place from burning down. Our motto is: minimum enforcement for maximum fun!


CURE Newsletter Sign Up



Name

Email address

How did you find out about us?

Submit


Thank you for signing up for the CURE Newsletter!