Loading Cookies...
2015-02-28
Get the domain a SWF is hosted in with AS3

When creating a flash game for the web it's crucial to know the domain the game SWF is being loaded from. There are numerous ways to embed a SWF in a website and the different methods of obtaining the domain name at run-time are giving different values. For example a game could be hosted in sourcedomain.com but displayed in a web page at another domain, say hotlinkingdomain.com. In this case there is one method to obtain the domain that is hosting the SWF and other methods of obtaining the domain that is embedding (hot linking) that SWF.

The proper way to determine the actual domain a SWF file is being hosted on is to use the Security.pageDomain property. It will give you the domain portion of the web address containing the SWF file. In other words the domain that is serving the SWF file.

import flash.system.Security;

var domain:String = Security.pageDomain;


API Reference: Security.pageDomain

There are numerous other ways to get domain information. A common way is to extract it from the LoaderInfo class. It's URL property (loaderInfo.url) however represents the web page the SWF is being loaded in (embedded, hot linked) and that's not necessarily the same address as the one the SWF resides physically.

The same result can be achieved by creating a LocalConnection object and inspecting it's "domain" property.

import flash.net.LocalConnection;

var localConnection:LocalConnection = new LocalConnection();
var domain:String = localConnection.domain;


The above methods could be used in conjunction to check if the SWF is viewed and hosted on a certain website, so that it could behave accordingly. Especially if the SWF file is a popular flash game many websites will be embedding it directly from the source domain. In that case the game could be programmed in a way to compensate for the increased bandwidth - by displaying an advertisement for example, or disabling certain game features.

Site-locking a game to certain domain is something that needs to be achieved for a sponsored game. For my latest game Dungeon Screener I have utilized those methods in order to manage only one game file for all website instances out there. The game has a complex site-locking mechanism and it behaves differently if viewed at the sponsor website and at any other possible websites, except those restricting the SWF file with allowNetworking set to "never". In that case checking the HTML embedding restrictions in a SWF at runtime comes handy.

See how to determine AllowScriptAccess and AllowNetworking params with AS3.

2024-01-28

In the previous part, we learned about the basics of the Apple II Hi-Res graphics mode, allowing us to display up to six colors on a 280x192 pixel screen. Today, we will explore the Double Hi-Res mode, its 16 colors and doubled resolution, how it works, the memory it occupies and what are its advantages and challenges...

Read more
2023-06-12

Flash was once the dominant web technology for creating interactive and multimedia content. It powered countless websites, games, animations, and videos that entertained and educated millions of users. However, Flash also had many drawbacks, such as security issues, performance problems, and compatibility challenges. As newer web standards like HTML5 emerged, Flash became obsolete and was eventually discontinued by Adobe in 2020...

Read more
2023-04-11

Have you ever stumbled upon an old blog post that you wish you could read again? What if that blog post was about something you're passionate about, like retro computers and programming? Unfortunately, many old blog posts are no longer available online today. But don't worry! Thanks to the WayBackMachine - an internet archive that provides backups of webpages throughout the years - you can still access these precious internet resources. In fact, it's important that we make sure these resources are available to the public again so that we can continue to learn from them and appreciate their value. That's why I'm excited to share with you a blog post about Apple II programming, especially about its Double Hi-Res graphics mode, originally published in BattleStations...

Read more
2019-10-24

JS13K games is Javascript golfing competition that runs for a month between August 13th and September 13th every year. The game jam has one main characteristic - the entire game (source code, graphics, sounds etc.) must be contained in a 13 kilobytes ZIP archive, as constrained by the creator of the compo, Andrzej Mazur (@end3r)...

Read more
2018-07-26

The Puzzle of Life was created during Castle Game Jam 2018 by Noncho Savov (me, programming) and Jurgita Raynite (art). The Game Jam was organized by James Newnorth (Spelkollektivet) and was held in a medieval castle located in Örebro, Sweden between the 7th and 15th of July. The main theme of the jam was "Capricious"...

Read more
2018-06-01

My upcoming rogue-like role playing game RogueVerse Dungeon was showcased at Retrospelsmässan - one of the largest retro game conventions in the world! The convention is held every year in Gothenburg Sweden and I presented my game as part of Spelkollektivet exhibition. It was an amazing experience - I managed to collect a great portion of feedback from attendees of all ages.. and it was incredible to see a little girl beating my game:..

Read more
2017-09-09

Check out my new game Formation Absent - a turn-based tactical puzzle, which is easy to win but hard to master. A game that is only 13 kilobytes, submission in JS13K competition. Theme of the competition this year is "Lost". As per Compo rules the game is contained in 13kb archive and includes 13 stages and a level editor. The game also keeps your game progress and score through utilizing URL vars. Here is an example of the gameplay:..

Read more
2017-05-01

Each year, a unique JavaScript game development competition takes place within one month, starting on August 13th, named JS13KGames. What's interesting about this competition is that there is a filesize limit requirement on the submitted game source - the entire game must be packed in 13kB ZIP archive. In 2016, I participated with Skip'n Glitch, a two player competitive logical game involving strategy and arithmetics. The game has a single player mode set against a simple and predictable but challenging AI opponent. Two players can play against each other on the same device...

Read more
2016-11-23

As the web tech is evolving, the flash player for web browsers is getting more and more obsolete. For example the biggest advertising platform - Google's DoubleClick dropped support for flash ads. I'm not speaking against the flash technology, which is still viable for game development (it can be easily compiled for mobile or wrapped into Steam). However in web there are new heroes and one of them is the HTML Canvas. I've already shared some lightweight JavaScript libraries used in #js13kgames and today I'm sharing another class - Lens Flare effect!..

Read more
2015-02-28
Archived
2014-07-03
Archived
2013-05-24
Archived
2013-04-10
Archived
2012-10-23
Archived