licensing – Several questions about Unity license and revenue from games

If revenue from the game reached more than $100,000, but after a few months it dropped and now it’s much less than $100,000, can I “downgrade” (go back) to the Personal Edition?

You can downgrade once you have reached the end of your plan. This is covered here: How long does one have to pay the $125 per month subscription fee for Unity pro?.

Does revenue from ads count?

It is all revenue (from the Unity Personal page: “Eligibility: Unity Personal is for individuals, hobbyists, and small organizations with less than $100K of revenue or funds raised in the last 12 months.”). This means that if your aunt gave you 50k to start your company, and the government gave you 49k to start your company, and you made 1k in revenue from ads on your web site, you need to upgrade.

Does revenue from microtransactions count (buying in-game items)?

Yes.

If revenue from in-game ads counts, what’s with ads on the web page where you download the game? Do these also count as my revenue from the game?

It’s all revenue, not only from a single game.

Does revenue from merch, soundtrack and things like that count?

Yes.

If I “downgraded” from Plus or Pro to the Personal Edition, do I have to remove games made with Plus or Pro from e.g. Steam, Epic, GameJolt? If not, do I have to update the game with Personal Edition (so the game has Unity logo again)?

No, you don’t have to remove them, and you do not have to “downgrade” them.

If my revenue is more than $100,000, but I stopped using Unity, do I have to still pay?

You still need to pay until the end of your plan. This is also covered by the question linked above.

rendering – Why do games run slow on CPU

Maybe my question sounds naive because I’m not a game developer but I dont see objective reasons for this.
An average cpu is in times more powerful than an average gpu like a few graphics cards in one.

The most repeated reasons in internet:

the GPU isn’t as busy as the CPU

If the gpu renders the screen how it can not be busy
The modern cpus are powerful enough. They are not busy most of time. For example my cpu’s usage is 3%.

many GPU’s are designed to process graphics commands in parallel, CPU single threads them

What bothers the games to run a few parallel processes even on one cpu core?
In my opinion its not correct to tell that the gpu is better if games never use 100% of the cpu’s capacity. To be specific they dont use even 50%.

Review: Free Games Download – Forever | NewProxyLists

Welcome to https://www.popgames.download/ We offer free games download forever. You can download games of PC, Playstation, XBOX, Nintendo, Mac and more. We have like 50TB of games with cracked expansions. All games are tested and qualified.

Blue-Technology-1-1.png

To download All the games: Register | Login
Registration and games download is 100% Free for now. Soon we will start selling merchandise.

We update games every Wednesday.

For queries, Supports and more contacts use on Community

Please register and starts download games. Read reviews and exclusive news of the gaming world we cover always. Also here please comment your reviews here. If you need any changes also let me know.

Thanks to CheDrive and EuropeUP to Supports me.

Thanks

 

Do you think Games should be counted towards post counts? | Forum Promotion

I don’t count games towards postcount on my own forums, but that stems from the old school thought process of posts being earned for substantive content and it really doesn’t matter at the end of the day if they do or not. It used to be considered a real no-no to let forum games count as actual posts, because everyone was obsessed with posts as the metric of measuring success. Now it doesn’t matter as much. Visits, views, clickthroughs, time spent browsing, thsoe metrics can all mean something, but postcounts are a meaningless metric on an individual basis. So even though I still have them not counting on my own forums, it honestly doesn’t matter if they do or don’t in the grand scheme of things.

 

Earn free Bitcoin from playing games. Finish task be offered mining reward.

Why are you selling this site?
In need of money

How is it monetized?
It is monetized using affiliate program , pop ads , pop cash ,CPI reward program , subscription premium membership, deposit

Does this site come with any social media accounts?
No

How much time does this site take to run?

1-2 hours a day
What challenges are there with running this site?
None

android – Unity Google Play Games Plugin – First Leaderboard on Unpublished App – Testing Setup Problems?

I have been trying for a long time to fix this alone but now I am completely out of ideas and I have made a bit of a mess in my Google Play Developers Console (I am a brand new developer about to publish my first game for Android).

The game works pretty much perfectly and I am happy with it being ready to release. Its a very simple game, all about getting a high score. I wanted to use Google Play to handle my leaderboard. I’ve followed dozens of tutorials and the official Google documentation, but the code is slightly different on all. The one I’ve settled on for now is the Github Unofficial Google Play Plugin https://github.com/playgameservices/play-games-plugin-for-unity.

It seemed like it might be simple, and I kind of believe my code is sound. I feel my set-up of the Testers in the Google Dev Console might be the problem. I’ll try to explain quickly all the steps I took to include the leaderboard (sorry I may miss stuff as I’ve been at this for days already)

  1. Created my leaderboard inside my Dev Console. And copied the ‘Resources’ text
  2. Imported the plugin from Github, went through the initial set up steps such as pasting the resources text.
  3. Used Keystore Manager to make a new Custom Keystore. Input password etc.
  4. Build my app in Unity (Build settings: .AAB/Android App Bundle , Minify=Release)
  5. Uploaded this app to Internal Test Release (I also ended up doing ‘Closed’ and even ‘Open’ Testing. I also added my email used for Google Play in my phone to become a Tester.
  6. Try testing my game, the code where it tries to ‘Authenticate’ seems to not be called at all (ie. the ‘result’ switch has Debug Logs and none of them get printed in ADB Logcat).

Sorry If I missed some important step, but i think that was everything I did so far. Now here is the relevant code:

GameManager.cs:

    private void Start()
    {
        // ...rest of method was here

        Authenticate_Google_User();
    }

public void Authenticate_Google_User()
    {
        Debug.Log("Trying to Authenticate Client");
        PlayGamesPlatform.DebugLogEnabled = true;

        PlayGamesPlatform.Activate();

        PlayGamesPlatform.Instance.Authenticate(SignInInteractivity.CanPromptOnce, (result) => {
            switch (result)
            {
                case SignInStatus.Success:
                    Debug.Log("authenticate was success");
                    break;
                case SignInStatus.DeveloperError:
                    Debug.Log("Dev error");
                    break;
                default:
                    Debug.Log("authenticate failed");
                    break;
            }
        });
    }

So none of that seems to work. Because the rest of this code is for actually reporting the score or showing the leaderboard view. But this seems like it would work IF i was signed in.

    public void GameOver()
    {

        if (Social.localUser.authenticated)
        {
            if (GameManager.instance.GetScore() > 0)
                Social.ReportScore(GameManager.instance.GetScore(), "Leaderboard_ID_String", (bool success) => Debug.Log(success ? "success" : "not success"));
        }
        else
            Debug.Log("local user not authenticated");


        GameManager.instance.ShowGameOverCanvas(true);
    }
public void Button_ViewLeaderboard()
{
    Social.ShowLeaderboardUI();

}

So I have tried many other similar implementations and each time I have pushed my ‘version/build number’ up for the release in Google Dev Console. In the ReportScore function, if I removed the if(authenticated) part, I do indeed get a Debug.Log but it is to say “not success”

I feel my problem is either the set up of my Testers in Google play, or perhaps even my mobile phone is blocking me signing in (it is possible I set some privacy setting to No without thinking some time ago). But it may also of course be my code. Hence I am asking you experts here!

Please help 😀

enter image description here

enter image description here

enter image description here

Identify this Dungeon Adventure – Role-playing Games Stack Exchange

My daughter is home for college and has asked her friends over to play (and me to DM).
A request was made for a combat-light short adventure with mystery elements.

I am trying to remember a specific Dungeon magazine adventure, I believe from the late ’80’s or earliest 90’s. Could be 1e, 2e, or BECMI.

The players survive a shipwreck and land on the island of a minor noble / wealthy merchant.

Something mysterious is going on among the invited guests that the PC’s can investigate (possibly a murder or disappearance?)

There are a number of different NPC’s to have social interactions with – much of the adventure involves questioning witnesses and comparing stories.

There may be a set of female twins among the guests to confuse things.

There is some sort of shape-changing monster like a mimic or protein polymorph in the manor house.

Title and/or issue number would be greatly appreciated.

education – Good recent examples of educational games?

I’m looking to make an educational game. I know they have a horrible reputation, but I still think there’s a future for them. Unfortunately, it seems to me like most educational games were in the 90s. Does anyone know of any recent, semi-decent educational games?

I’m specifically interested in teaching a subject (ie, Chemistry) rather than a skill (ie, typing).

I know there was this question: How do I make educational games engaging not boring?

But it was over 5 years ago.

Would pool mining within video games (to make them free) be profitable?

Say a big game company like steactivblizzard released the latest Call of Assasins Hitman for free. They could incorporate bitcoin mining within the menu/pause/loading screens as a sort of payment method. Just a small burst of bitcoin mining so as to not interrupt gameplay too much, much like how we used to have loading screens before SSD.

Would this be profitable? I’m thinking that people playing these games are most likely to have high-end GPUs. And these are big ticket games with a lot of players. Would they be able to successfully mine coins to the point of being profitable?

Does this game’s source-code need improvements?

When I wrote this source I focus on minimization.

Can you guys suggest improvements ?

It is a browser game for chrome.

Here is index.htm

<!doctype html>
<html>
<title>Acelerado</title>
<meta name=viewport content='width=device-width'>
<body style='background-color:#8c867f; margin:0px; height:100vh; display:flex; align-items:center; justify-content:center;' onKeyDown="vira(event.keyCode);" onKeyUp="para();">
<div id=main></div>
</body>
<script>
nomes=("pain","dark","ugly","hate","hurt","fear","dust","tear","fire","hell");
fatorx=(9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8);
fatory=(0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1);
pistas=(
((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0),(0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0),(0,0,0,0,4,4,4,4,4,4,2,0,4,4,4,4,4,4,1,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,2,3,3,3,3,0,1,3,3,3,3,0,0,0,0,0,0),(0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0),(0,0,0,0,0,0,4,4,4,4,2,0,4,4,4,4,1,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,2,3,3,0,1,3,3,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,4,4,2,0,4,4,1,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,2,3,3,3,3,3,3,0,1,3,3,3,3,3,3,0,0,0,0),(0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0),(0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)), //pain
((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(4,4,4,4,4,4,4,4,4,4,4,4,2,0,0,0,4,4,4,4,4,2,0),(1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,2,0),(1,0,2,3,3,3,3,3,3,3,3,0,2,0,0,0,1,0,2,3,3,3,0),(1,0,2,0,0,0,0,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,0),(1,0,2,0,4,4,2,0,0,0,1,0,2,0,0,0,1,0,4,4,4,4,2),(1,0,2,0,1,0,2,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,2),(1,0,2,0,1,0,2,0,0,0,1,3,3,0,0,0,1,3,3,3,3,0,2),(1,0,2,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2),(1,0,2,0,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,0,2),(1,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),(1,0,2,0,1,3,3,3,3,0,2,3,3,0,2,3,3,3,3,3,3,3,3),(1,0,2,0,0,0,0,0,1,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(1,0,4,4,4,4,4,4,1,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(1,0,0,0,0,0,0,0,0,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(1,3,3,3,3,3,3,3,3,3,3,0,1,3,3,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)), //dark
((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,0,0,0,0),(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0),(0,0,0,0,1,3,3,3,3,3,3,0,2,3,3,3,3,3,3,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,4,4,4,4,4,4,1,0,4,4,4,4,4,4,2,0,0,0,0),(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0),(0,0,0,0,1,0,2,3,3,3,3,3,3,3,3,3,3,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,4,4,4,4,4,4,2,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,1,0,0,0,0,0,2,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,1,0,2,3,3,0,2,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,0,0,0),(0,0,0,0,1,3,3,0,1,3,3,0,1,0,4,4,1,0,2,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,3,3,3,3,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)), //ugly
((4,4,2,0,4,4,2,0,4,4,2,0,4,4,2,0,4,4,2,0,4,4,2),(1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,2,0,1,0,2,0,1,0,4,4,1,0,2,0,1,0,2),(1,0,4,4,1,0,2,0,1,0,2,0,1,0,0,0,0,0,2,0,1,0,2),(1,0,0,0,0,0,2,0,1,0,2,0,1,0,2,3,3,0,2,0,1,0,2),(1,0,2,3,3,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,2,0,1,0,4,4,1,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,2,0,1,0,0,0,0,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,4,4,1,0,2,3,3,0,2,0,1,0,2,0,1,0,2),(1,0,2,0,1,0,0,0,0,0,2,0,1,0,2,0,1,0,4,4,1,0,2),(1,0,2,0,1,0,2,3,3,0,2,0,1,0,2,0,1,0,0,0,0,0,2),(1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,3,3,0,2),(1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2),(1,3,3,0,1,3,3,0,1,3,3,0,1,3,3,0,1,3,3,0,1,3,3)), //hate
((0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,2,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,4,4,1,0,4,4,2,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,4,4,1,0,2,3,3,0,4,4,2,0,0),(0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,1,0,0,0,2,0,0),(0,0,0,0,0,0,0,0,4,4,1,0,2,3,3,0,1,3,3,0,4,4,2),(0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,1,0,0,0,2),(0,0,0,0,0,0,4,4,1,0,2,3,3,0,0,0,4,4,1,0,2,3,3),(0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,1,0,0,0,2,0,0),(0,0,0,0,4,4,1,0,2,3,3,0,0,0,4,4,1,0,2,3,3,0,0),(0,0,0,0,1,0,0,0,2,0,0,0,0,0,1,0,0,0,2,0,0,0,0),(0,0,4,4,1,0,2,3,3,0,0,0,4,4,1,0,2,3,3,0,0,0,0),(0,0,1,0,0,0,2,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0),(4,4,1,0,2,3,3,0,0,0,0,0,1,0,2,3,3,0,0,0,0,0,0),(1,0,0,0,2,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0),(1,3,3,3,3,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0)), //tank
((0,4,4,4,2,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,0),(4,1,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2),(1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),(1,0,0,0,2,0,1,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,2),(1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2),(1,0,0,0,2,0,0,0,4,4,4,4,4,4,4,4,4,2,0,1,0,0,2),(1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,2,0,1,0,0,2),(1,0,0,0,2,0,0,0,1,0,2,3,3,0,0,0,0,4,4,1,0,0,2),(1,0,0,0,4,4,4,4,1,0,2,0,1,0,0,0,0,0,0,0,0,0,2),(1,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,2,3,3,3,3,0,2),(1,3,3,3,3,3,3,3,3,0,2,0,1,0,0,0,2,0,0,0,1,0,2),(0,0,0,0,0,0,0,0,1,0,2,0,1,3,3,0,2,0,0,0,1,3,3),(4,4,4,4,4,4,4,4,1,0,2,0,0,0,1,0,2,0,0,0,0,0,0),(1,0,0,0,0,0,0,0,0,0,4,4,2,0,1,0,2,0,4,4,4,4,2),(1,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,4,4,1,0,0,0,2),(1,3,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,2,3),(0,1,3,3,3,3,3,3,3,3,3,3,3,0,1,3,3,3,3,3,3,3,0)), //fear
((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,2,0,0,0,0,0),(0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0),(0,0,0,4,4,1,0,0,2,3,3,0,2,3,3,0,0,4,4,2,0,0,0),(0,0,0,1,0,0,0,0,2,0,1,0,2,0,1,0,0,0,0,2,0,0,0),(4,4,4,1,0,0,2,3,3,0,1,0,2,0,1,3,3,0,0,4,4,4,2),(1,0,0,0,0,0,2,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,2),(1,0,2,3,3,0,2,0,4,4,1,0,4,4,2,0,1,0,2,3,3,0,2),(1,0,2,0,1,0,2,0,1,0,0,0,0,0,2,0,1,0,2,0,1,0,2),(1,3,3,0,1,3,3,0,1,0,2,3,3,0,2,0,1,3,3,0,1,3,3),(0,0,0,0,0,0,0,0,1,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,1,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,1,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,1,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,1,0,2,0,1,0,2,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,1,3,3,0,1,3,3,0,0,0,0,0,0,0,0)), //dust
((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,2,3,3,0,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0),(0,0,2,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0),(0,0,2,0,1,0,2,0,4,4,4,4,4,4,4,4,4,4,2,0,1,0,0),(0,0,2,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,2,0,1,0,0),(0,0,2,0,1,0,2,0,1,0,2,3,3,3,3,3,3,0,2,0,1,0,0),(0,0,2,0,1,0,2,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0),(0,0,2,0,1,0,2,0,1,0,2,0,4,4,2,0,1,0,2,0,1,0,0),(0,0,2,0,1,0,2,0,1,0,4,4,1,0,2,0,1,0,2,0,1,0,0),(0,0,2,0,1,0,2,0,1,0,0,0,0,0,2,0,1,0,2,0,1,0,0),(0,0,2,0,1,0,2,0,1,3,3,3,3,3,3,0,1,0,2,0,1,0,0),(0,0,2,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0),(0,0,2,0,1,0,4,4,4,4,4,4,4,4,4,4,1,0,2,0,1,0,0),(0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0),(0,0,2,0,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0),(0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0),(0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,0,0)), //tear
((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,2,3,3,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,2,3,3,0,1,3,3,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,2,3,3,0,4,4,2,0,1,3,3,0,0,0,0,0,0),(0,0,0,0,0,0,2,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0),(0,0,0,0,2,3,3,0,4,4,1,0,4,4,4,4,1,0,0,0,0,0,0),(0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,4,4,2,0,1,3,3,0,2,3,3,3,3,0,0,0,0,0,0),(0,0,0,0,0,0,2,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0),(0,0,0,0,0,0,4,4,2,0,1,3,3,0,4,4,1,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,4,4,2,0,4,4,1,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,4,4,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)), //fire
((0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,0,0,0,0),(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0),(0,0,0,0,1,3,3,3,3,3,3,0,2,3,3,3,3,3,3,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,4,4,2,0,0,0,1,0,2,0,0,0,4,4,2,0,0,0,0),(0,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,4,4,4,4,1,0,4,4,4,4,1,0,2,0,0,0,0),(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0),(0,0,0,0,1,0,2,3,3,3,3,0,2,3,3,3,3,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,4,4,1,0,4,4,2,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,1,0,0,0,0,0,2,0,1,0,2,0,0,0,0),(0,0,0,0,1,0,2,0,1,3,3,3,3,3,3,0,1,0,2,0,0,0,0),(0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0))  //hell
);
fase=parseInt(location.search.slice(1).split("=")(1));
if(!(fase>0&&fase<10))fase=0;
inicios=((15,18),(6,0),(3,4),(16,0),(16,0),(10,0),(10,0),(14,4),(3,12),(2,4));
function inicia(){
    tempo=0;
    angulo=0;
    esq=false;
    dir=false;
    px=(inicios(fase)(0)*-200)+140;
    py=(inicios(fase)(1)*-200)+130;
    text="<canvas id=canvas width=460 height=460 style='border-radius:10px;'></canvas><div id=carro style='position:relative; margin:0px auto; top:-85px; z-index:2; width:20px; height:40px; background-color:#000000; border-radius:4px;'><div style='width:10px; height:4px; background-color:#000000; border:5px solid #dcdfe4; border-top:none; border-bottom:none;'></div><div style='width:14px; height:20px; background-color:#777777; border:3px solid #000000;'></div></div><div id=score style='margin-top:-36px; text-align:right; font-size:24px; font-family:Courier;'><select style='font-size:16px; padding:4px 0px 4px 4px; border-radius:8px 0px 0px 8px;' onchange="location.href='index.htm?fase='+this.value;">";
    for(x=0;x<10;x++)text+="<option value="+x+(fase==x?" selected":"")+">"+nomes(x)+"</option>";
    document.getElementById("main").innerHTML=text+"</select></div>";
    ctx=document.getElementById("canvas").getContext("2d");
    ctx.fillStyle="#626f55";
    ctx.fillRect(0,0,460,460);
    ctx.fillStyle="#dcdfe4";
    for(x=0;x<pistas(fase).length;x++)for(y=0;y<pistas(fase)(x).length;y++)if(pistas(fase)(x)(y)!=0)ctx.fillRect(13+(19*y),25+(19*x),18,18);
    ctx.fillStyle="#772222";
    ctx.fillRect(12+(19*inicios(fase)(1)),25+(19*inicios(fase)(0)),19,18);
    ctx.fillStyle="#aca69f";
    ctx.beginPath();
    ctx.arc(230,400,40,0,2*Math.PI);
    ctx.fill();
    ctx.fillStyle="#626f55";
    ctx.beginPath();
    ctx.arc(230,400,30,0,2*Math.PI);
    ctx.fill();
}
if(document.body.clientWidth>600)inicia();
else alert("Jogo de Computador");
function vira(k){
    if(k==37)esq=true;
    if(k==39)dir=true;
    if(tempo==0){
        move();
        document.getElementById('carro').style.top="-230px";
    }
}
function para(){
    esq=false;
    dir=false;
}
function move(){
    ctx.fillStyle="#626f55";
    ctx.fillRect(-100,-100,660,660);
    if(esq)angulo=(angulo+35)%36;
    if(dir)angulo=(angulo+1)%36;
    ctx.translate(230,230);
    if(esq)ctx.rotate(Math.PI/18);
    if(dir)ctx.rotate(-Math.PI/18);
    ctx.translate(-230,-230);
    for(x=0;x<pistas(fase).length;x++)for(y=0;y<pistas(fase)(x).length;y++)if(pistas(fase)(x)(y)!=0){
        ctx.fillStyle="#7a8b65";
        ctx.fillRect((200*y)+py,(200*x)+px,200,200);
        ctx.fillStyle="#bdbb96";
        ctx.beginPath();
        if(pistas(fase)(x)(y)==1){
            ctx.moveTo((200*y)+80+py,(200*x)+150+px);
            ctx.lineTo((200*y)+120+py,(200*x)+150+px);
            ctx.lineTo((200*y)+120+py,(200*x)+100+px);
            ctx.lineTo((200*y)+150+py,(200*x)+100+px);
            ctx.lineTo((200*y)+100+py,(200*x)+50+px);
            ctx.lineTo((200*y)+50+py,(200*x)+100+px);
            ctx.lineTo((200*y)+80+py,(200*x)+100+px);
        }
        if(pistas(fase)(x)(y)==2){
            ctx.moveTo((200*y)+80+py,(200*x)+50+px);
            ctx.lineTo((200*y)+120+py,(200*x)+50+px);
            ctx.lineTo((200*y)+120+py,(200*x)+100+px);
            ctx.lineTo((200*y)+150+py,(200*x)+100+px);
            ctx.lineTo((200*y)+100+py,(200*x)+150+px);
            ctx.lineTo((200*y)+50+py,(200*x)+100+px);
            ctx.lineTo((200*y)+80+py,(200*x)+100+px);
        }
        if(pistas(fase)(x)(y)==3){
            ctx.moveTo((200*y)+150+py,(200*x)+80+px);
            ctx.lineTo((200*y)+150+py,(200*x)+120+px);
            ctx.lineTo((200*y)+100+py,(200*x)+120+px);
            ctx.lineTo((200*y)+100+py,(200*x)+150+px);
            ctx.lineTo((200*y)+50+py,(200*x)+100+px);
            ctx.lineTo((200*y)+100+py,(200*x)+50+px);
            ctx.lineTo((200*y)+100+py,(200*x)+80+px);
        }
        if(pistas(fase)(x)(y)==4){
            ctx.moveTo((200*y)+50+py,(200*x)+80+px);
            ctx.lineTo((200*y)+50+py,(200*x)+120+px);
            ctx.lineTo((200*y)+100+py,(200*x)+120+px);
            ctx.lineTo((200*y)+100+py,(200*x)+150+px);
            ctx.lineTo((200*y)+150+py,(200*x)+100+px);
            ctx.lineTo((200*y)+100+py,(200*x)+50+px);
            ctx.lineTo((200*y)+100+py,(200*x)+80+px);
        }
        ctx.fill();
    }
    document.getElementById('score').innerHTML=(100-(parseInt((680-(tempo))/20)))+' Km/H';
    lx=Math.ceil((-px+30)/200);
    ly=Math.ceil((-py+30)/200);
    if(lx>=0&&ly>=0&&lx<pistas(fase).length&&ly<pistas(fase)(0).length&&pistas(fase)(lx)(ly)!=0){
        px+=fatorx(angulo)*3.2;
        py+=fatory(angulo)*3.2;
        setTimeout('move();',30+(parseInt((680-(tempo++))/40)));
    }
    else{
        if(tempo>105)alert('You reached '+parseInt(Math.min(tempo,700)/7)+' percent !');
        inicia();
    }
}
</script>
</html>

I also wanna contributions on https://github.com/Source55/Acelerado