Now that we have our story and game engine, we are ready to start making our game in RPG Maker MV.

Creating a new Project

We need to make a new project before we can start making our game. To do so we have to go to the file menu at the top of the screen and press New Project… or CTRL+N.

A dialogue box will ask you for the Project name, Game Title, and the Directory you wish to save it under.

New Project in RPG Maker
Making a new project is easy.

I will call the file MercenaryTutorial so it is easy to find, the game is going to be about a war so the working title will be The Great War (we will change it later), and we will save it where we can easily find it later.

Navigating RPG Maker

RPG Maker MV has a lot of powerful features tucked away in a relatively simple interface. When you open up your new project you will see a window that looks like this:

RPG Maker Editor Window

Menu

At the top of the screen we have a menu bar. Most options should be familiar with you as they appear in other programs so I will only cover RPG Maker specific options.

  1. File contains options for opening, creating, and deploying Projects
  2. Edit holds copy, cut, paste, and find.
  3. Mode lets you select between Event and Map Editing Modes (We will talk about that latter).
  4. Draw lets you select your brush when in Map mode.
  5. Scale lets you zoom the map display in and out.
  6. Tools is where all of RPG Maker’s power lies. Most of the editing features are contained here. The database, plugin manager, sound room, event search, resource manager, character generator, and the options for the editor. We will cover each of these at a later date.
  7. Game lets you play test your game or open the directory it is saved in.
  8. Help gives you RPG Maker’s Documentation, a basic tutorial, and a simple about dialogue box.

Toolbar

The tool bar has functions similar to the Menu, but these are displayed as icons so you can quickly access common functions. They are separated into groups.

  1. New, Open, and Save Project
  2. Cut, copy, and paste
  3. Undo
  4. Map and Event Mode
  5. Brushes: Pencil, rectangle, ellipse, flood fill, and shadow pen
  6. Zoom options
  7. Database, plugins, sound, event search, resources, and character generator
  8. Playtest (You will be using this often)

Maps and Tilesets

On the far left corner you will see a sidebar split into two parts. The top is your tileset. This consists of your pallet of tiles to draw your maps with. There are tabs at the bottom labeled A-E and R. Different tilesets will have different tabs, but tab A and R are always available.

We have a list of all maps in your game underneath the tile pallet. You can make, delete, and modify the properties of maps.

Event and Map Editor

The largest section of the window is the map and event editor. This is the section where you design your maps and the things that happen in them. You can only edit the map in map mode and events in event mode. 

If you click on a tile in the tileset pallet and enter map mode you can change the way the map looks. Give it a try.

RPG Maker Edited Map

The Footer

At the bottom of the screen is a bar that tells you what map you are on, that maps dimensions in tiles, and the current tile’s location if you are in event mode.

Wrapping Up

We setup our RPG Maker project, learned about the main window, and even drew our first map. We will learn the basics of events and playtest our game in the next tutorial.

Read the help file in the mean time, it holds a wealth of information on how to use RPG Maker. You should also take a look at the RPG Maker Forums, the community has helpful resources available for anyone interested in making a game.

A lot of us hear the word ping used a lot in gaming and when we are having network issues, but what exactly is ping?

ping

ping is a command line tool that is used to measure the round-trip time for messages sent from one computer to another. This is often used to test if there is a connection between your computer and a website.

Command Options
WindowsLinux
Option Description
-t Ping the specified host until stopped. To see statistics and continue – type Control-Break; To stop – type Control-C.
-a Resolve addresses to hostnames.
-n count Number of echo requests to send.
-l size Send buffer size.
-f Set Don’t Fragment flag in packet (IPv4-only).
-i TTL Time to Live.
-r count Record route for count hops (IPv4-only)
-s count Timestamp for count hops (IPv4-only).
-j host-list Loose source route along host-list (IPv4-only).
-k host-list Strict source route along host-list (IPv4-only).
-w timeout Timeout in milliseconds to wait for each reply.
-S srcaddr Source address to use.
-c compartment Routing compartment identifier.
-p Ping a Hyper-V Network Virtualization provider address.
-4 Force using IPv4.
-6 Force using IPv6.
Option Description
-a Audible ping.
-A Adaptive ping. Interpacket interval adapts to round-trip time, so that effectively not more than one (or more, if preload is set) unanswered probes present in the network. Minimal interval is 200msec for not super-user. On networks with low rtt this mode is essentially equivalent to flood mode.
-b Allow pinging a broadcast address.
-B Do not allow ping to change source address of probes. The address is bound to one selected when ping starts.
-c count Stop after sending count ECHO_REQUEST packets. With deadline option, ping waits for count ECHO_REPLY packets, until the timeout expires.
-d Set the SO_DEBUG option on the socket being used. Essentially, this socket option is not used by Linux kernel.
-F flow label Allocate and set 20 bit flow label on echo request packets. (Only ping6). If value is zero, kernel allocates random flow label.
-f Flood ping. For every ECHO_REQUEST sent a period ”.” is printed, while for ever ECHO_REPLY received a backspace is printed. This provides a rapid display of how many packets are being dropped. If interval is not given, it sets interval to zero and outputs packets as fast as they come back or one hundred times per second, whichever is more. Only the super-user may use this option with zero interval.
-i interval Wait interval seconds between sending each packet. The default is to wait for one second between each packet normally, or not to wait in flood mode. Only super-user may set interval to values less 0.2 seconds.
-I interface address Set source address to specified interface address. Argument may be numeric IP address or name of device. When pinging IPv6 link-local address this option is required.
-l preload If preload is specified, ping sends that many packets not waiting for reply. Only the super-user may select preload more than 3.
-L Suppress loopback of multicast packets. This flag only applies if the ping destination is a multicast address.
-n Numeric output only. No attempt will be made to lookup symbolic names for host addresses.
-Q tos Set Quality of Service -related bits in ICMP datagrams. tos can be either decimal or hex number. Traditionally (RFC1349), these have been interpreted as: 0 for reserved (currently being redefined as congestion control), 1-4 for Type of Service and 5-7 for Precedence. Possible settings for Type of Service are: minimal cost: 0x02, reliability: 0x04, throughput: 0x08, low delay: 0x10. Multiple TOS bits should not be set simultaneously. Possible settings for special Precedence range from priority (0x20) to net control (0xe0). You must be root (CAP_NET_ADMIN capability) to use Critical or higher precedence value. You cannot set bit 0x01 (reserved) unless ECN has been enabled in the kernel. In RFC2474, these fields has been redefined as 8-bit Differentiated Services (DS), consisting of: bits 0-1 of separate data (ECN will be used, here), and bits 2-7 of Differentiated Services Codepoint (DSCP).
-q Quiet output. Nothing is displayed except the summary lines at startup time and when finished.
-R Record route. Includes the RECORD_ROUTE option in the ECHO_REQUEST packet and displays the route buffer on returned packets. Note that the IP header is only large enough for nine such routes. Many hosts ignore or discard this option.
-r Bypass the normal routing tables and send directly to a host on an attached interface. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it provided the option -I is also used.
-s packetsize Specifies the number of data bytes to be sent. The default is 56, which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data.
-S sndbuf Set socket sndbuf. If not specified, it is selected to buffer not more than one packet.
-t ttl Set the IP Time to Live.
-T timestamp option Set special IP timestamp options. timestamp option may be either tsonly (only timestamps), tsandaddr (timestamps and addresses) or tsprespec host1 [host2 [host3 [host4]]] (timestamp prespecified hops).
-M hint Select Path MTU Discovery strategy. hint may be either do (prohibit fragmentation, even local one), want (do PMTU discovery, fragment locally when packet size is large), or dont (do not set DF flag).
-U Print full user-to-user latency (the old behaviour). Normally ping prints network round trip time, which can be different f.e. due to DNS failures.
-v Verbose output.
-V Show version and exit.
-w deadline Specify a timeout, in seconds, before ping exits regardless of how many packets have been sent or received. In this case ping does not stop after count packet are sent, it waits either for deadline expire or until count probes are answered or for some error notification from network.
-W timeout Time to wait for a response, in seconds. The option affects only timeout in absense of any responses, otherwise ping waits for two RTTs.
Note: Linux uses ping and ping6 to distinuish between IPv4 and IPv6

Use Case

If you are having issues connecting to the internet many will try to test the issue by sending a ping request to a known working website. We will use google.com in this example.

If we run the command ping google.com we should get the following output:

Successful ping
Pinging google.com [172.217.5.78] with 32 bytes of data:

Reply from 172.217.5.78: bytes=32 time=22ms TTL=53

Reply from 172.217.5.78: bytes=32 time=26ms TTL=53

Reply from 172.217.5.78: bytes=32 time=23ms TTL=53

Reply from 172.217.5.78: bytes=32 time=68ms TTL=53

Ping statistics for 172.217.5.78:

   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 22ms, Maximum = 68ms, Average = 34ms

If all our packets get replies then we have a good connection. If some of them are lost it could mean that there is some network interference preventing a stable connection. If all of them are lost then we are looking at three different possible issues:

  1. The website is down.
  2. You are not connected to the internet.
  3. You are having DNS problems.

We can test number 3 by typing in the IP Address of the website you wish to ping. If you get no packets then the issue is not likely a DNS issue. If you receive your packets then we may be able to fix the issue by flushing our DNS Resolver Catch with ipconfig /flushdns. To learn more about ipconfig look at our article here.

Many people dream of making a video game. Gaming is one the the ages most popular hobbies and stories of people getting rich off side projects are everywhere. The truth is very few people actually want to make a game nor are the success stories nearly as common as we would like to believe. Building a video game on your own is a massive undertaking and rarely yields success financially. That said, there are options. Over the next few articles we will explore building a small video game in RPG Maker MV.

Getting Started

After deciding we have the determination to make a video game we need to do several things:

  1. Define our goal
  2. Pick a genre
  3. Pick an engine
  4. Refine our concepts
  5. Estimate costs
  6. Build our team

Many are tempted to run ahead and make things up as they go. That rarely works. If you look on Steam or Itch you will see many unfinished projects. These ‘games’ are unpolished, poorly written, and use the generic features of what ever engine the developer could find at the time. To avoid this we need to define our goals beforehand.

Define out goal

Before we begin building our game we need to know the scope of our project, the story, the type of game we wish to make, etc. We need to set expectations and do research around the market we are targeting.

Write our Synopsis

First we will get a general idea of what our story will be about. Some video games are more about the mechanics and some about the world they inhabit, but most start with a story the developer wishes to tell. For this reason we will focus first on a story and then build a world and mechanics that fit that story.

Lets say we want a game following a band of mercenaries who are about to be dragged into a war between two rival nations.

Pick a medium

Would this story play out best as a platformer? Perhaps a shooter? A grand strategy game? The genre we chose will greatly impact the rest of the decisions we make in development. The engine we use, the mechanics we design, and the way we flesh out our story all depend on how the game is played. An action game is going to have fewer cutseens and less dialogue than a RPG or Visual Novel. A RPG will be far more time consuming and costly to develop than a platformer.

With that in mind we will say that this will be a role playing game centered around one particular mercenary who is having second thoughts about the war.

Define our scope

Now we need to decide the scope. Are we building a 100 hour epic or perhaps a 15 minute tech demo? Do we want to show this to our friends and family, release it to the public for free, or perhaps make our millions from Steam and GOG sells? These questions will help us decide how we want to write our story and how we go about marketing it. If we decide to sell our video game it will need a lot more refinement than if we just gave it to a friend for a birthday present.

You must have a realistic goal for your first game, many developers set impossible goals and give up under the pressure. We will be in a difficult position if we are to build a game 100 hour dream game in between work and taking care of the family for example.

Let’s imagine we are working full-time with no other responsibilities. After work each day we will dedicate an hour to game development. Our goal is to build a 1 hour long episodic 2D RPG telling the story of a mercenary as he fights through a war.

Pick an Engine

Now that we know our story and what type of game we wish to make we need to decide on an engine. A game engine is a prebuilt set of libraries and tools that we can use to build our game. These range from a few python libraries to full development environments. There are far too many to count and you will have to do your own research to find the best one for your needs.

In our case we chose to build a 2D RPG so we will pick an engine that has great 2D support and provides us the tools to build an RPG. We have limited amount of development time and few resources. This brings us down to two engines that work well for our project.

Godot

Godot Video Game Engine

Godot is a free and open source (MIT) general purpose game engine for both 2D and 3D games. It has support for all major platforms (Linux, Mac, Android, Windows, FreeBSD, OpenBSD and Haiku and iOS) and multiple programming languages. The catch is that you will have to build most of your resources from scratch. Godot does some of the heavy lifting, but you will have to write the scripts and make the artwork yourself. Godot is not ready to make a RPG out of the box, but it is powerful enough to do so.

RPG Maker MV

RPG Maker game engine

The latest release in the RPG Maker series of engines, RPG Maker MV is a proprietary engine that supports all major platforms and utilizes JavaScript and HTML5 for programming. The engine is easier to use than Godot and is built for our particular task. All the functions for a RPG already exist and it comes with many resources prebuilt for our use. The catch is that it is proprietary, not as flexible without putting in effort, and costs money. That said there is no royalty fees and you are getting a lot of resources with it.

Due to the cost of hiring artists and scripting we will use RPG Maker MV for this. It does cost more initially, but we can get away with using the default assets till we are ready to publish our game.

Estimate Costs

We have made it to the final stages of planning out our game. We now need to estimate how much this project will cost us. If we are going to do this by ourselves or with friends who are willing to donate their time and skill, the costs will be that of the engine and the time we put in. If we need to hire a programmer for a specialized system or voice actors, however, we will be needing a much larger budget.

We need break down our costs

$80.00 – Engine

$25.00 – Main Character Portrait

$150.00 – Tileset

$300.00 – Title Theme Music

Etc.

Refine our Concept

Now that we have our video game planned out we need to actually flesh out our story, gameplay, and other plans. We need to build a detailed game design document that explains the setting, characters, story, and gameplay. How is combat going to work? What abilities does the main character have? How does our key mechanic play into a particular level? All these things will be important to the development of our game.

Our RPG’s game design document may start something like this:

[Insert Title] is a turn-based RPG that follows a mercenary during a great war. Combat is the focus, with each character having unique abilities that will change the outcome of battle. Each level of the game takes place as an episode during the war and consists of self-contained goals. After completing a level, the player will be awarded a grade and rewards based on performance. These will aid the player in the next level.

It is a bit rough, but it will do for a start.

Next time we will start exploring the RPG Maker engine and design the first level of our video game.

With the introduction of Firefox Quantum, Mozilla removed support for legacy XUL extensions in favor of Web Extensions. This naturally made a lot of people angry. XUL extensions had full control over the browser and could change everything from how downloads where handled to the user interface. This powerful framework gave Firefox what many seen as a competitive edge. Extensions this powerful came with some shortcomings, however, and this lead to the adoption of Web Extensions in Firefox.

The Problems with XUL Extensions

We already established that XUL is powerful. Many of the most popular extensions, Classic Theme Restorer for example, are written in XUL. They are able to change most aspects of the browser, make complex themes, and essentially rewrite parts of the browser. This comes with some inherent risks:

  • Extensions are single processor.
  • Updates can brake extensions.
  • Extensions can break browser functions.
  • Extensions are not sandboxed.

Image: Firefox Quantum with Web ExtensionsXUL Extensions are powerful, but are unstable. If Mozilla wanted to add a new feature or change a function in Firefox, they would risk breaking popular extensions. This held Firefox back and kept Firefox from developing much needed features such as multi-processor support and tab sandboxing. Imagine a tab crashing and your whole browser crashing in the process, not very fun. Powerful extensions that could change every aspect of the browser are not secure, break things, and keep the browser in the past.

Very few extensions actually needed XUL to function and the technology was putting Firefox behind other browsers.

Web Extensions

Web extensions are written in HTML, CSS, and JavaScript. These extensions are written in the same languages as the web and have some advantages over XUL:

  • Extensions are more secure.
  • Extensions are unlikely to brake.
  • They can run in their own process.
  • Web languages are more accessible to developers than XUL
  • Extensions are cross-platform

Web Extensions cannot change core browser features. This is a mixed blessing. They cannot add a sidebar or give you a debug console for example, but by the same token they are not able to hijack core functions of the browser and are unlikely to change something that will get updated. That said malicious extensions do exist and they could break with an API update. Firefox can now develop much more rapidly without breaking things.

These extensions come with a new Firefox built to handle the modern web. The browser can now handle multiple processes. Tabs no longer bring down the rest of the browser with them and run in their own sandbox. Undoubtedly Quantum is a faster browser. Firefox would have continued to lose its market share without these improvements. How can the “Browser with a mission” complete that mission without users, funding, or developers?

The Future of Firefox

Web Extensions are likely the future. They may not be nearly as powerful as legacy extensions, but the benefits outweigh the downfalls. Most other web browsers use web extensions, implementing the API allows for cross-platform extensions, greatly expanding Firefox’s plugin library. Chrome, Opera, Vivaldi, and others all use the same underlining technology.

Mozilla has not just been copying other browsers. They know that web extensions lack functionality and have enhanced Web Extensions. Extensions in Firefox are far more powerful than in their competitors. The move away from extensions has also prompted the idea of making the browser more powerful out of the box. New ideas and built in features will come with time.

Firefox is one of the few major open source browsers with power to shape the web. Firefox is still one of the most customizable browsers online, even without the power of XUL extensions. The commitment to privacy is commendable, but now Mozilla has something to back up their ideals.

You can find out more about web extensions from Mozilla’s website and learn how to write your own here.

Aside

Will I still be using Firefox? Perhaps in the future, but for now I will be using Vivaldi as Firefox matures. Firefox’s sidebar is half-backed; the UI is customizable, but limited; and the built in features do not compare to Vivaldi’s. Firefox is a good browser, Mozilla is improving, and they have a future. Bad marketing decisions and deals aside, Firefox is an open source browser that respects your privacy.

The less time you use the mouse the faster you can navigate a computer. That said, sometimes keyboard shortcuts are not enough. When you need to launch programs or search for a file quickly for example. Enter in Launchy, the open source application launcher.

Launchy: What is it and how it works

Luanchy Default ThemeLaunchy is a program that lets you open programs and files on your computer. All you have to do is press the keyboard shortcut (Default is alt+space) and start typing the name of the program or file. You can add new files to the program’s search database, but any program that adds items to the start menu or desktop should automatically be added.

You can download Launchy form its website. After installing let the program build a database. The time this takes will depend on how many programs you have installed.

Program Settings

Luanchy General SettingsThe first thing you will want to do after installing is go through the settings. To do so, press alt+space on your keyboard. This will open up the search window. Before typing anything click the gear icon in the topmost right hand corner.

In the general settings you will find the ability to edit the user interface, setup internet proxy settings, control how many options appear in the suggestion list, and some general options for how the program behaves.

These settings are explanatory for the most part.

The next tab is the skin settings, you can customize the way the program looks here. You can find new skins on Devientart. Just place the skin’s folder in the program’s skin folder (Default: C:\Program Files (x86)\Launchy\skins).

Launchy Settings Search DatabaseThe catalog is where things get interesting. This is Launchy’s heart.

Launchy will scan the files in the directories you chose. If the file matches the file types set in the list to the right, it will appear when you type. Press the plus (+) sign to add new paths and file types and minus (-) sign to remove them. Including executables will allow you to directly launch a program, but I recommend that you use shortcuts to do such work. Directories will let you search the directories and launch an explorer window to them. I recommend that you keep this unchecked as well.

Launchy Settings PluginsThe last tab is for Plugins. These extend Launchy’s abilities beyond what it can do be default. This includes Calcy for performing math calculations and Weby for searching the web directly from Launchy. As there is too much variation with plugins, they will not be covered here. You can toggle them on and off with the check boxes in the left window.

Now you can launch any program on your computer from the keyboard. You will save time, improve your typing speed, and not have to deal with the start menu.

What would you like us to cover next?

Many of us have old games laying around and realize that they just don’t work right. This can be due to many issues, but today we will cover DirectX issues using WineD3D for Windows.

WineD3D for Windows is a “DirectX 1-11 to OpenGL wrapper based on WineD3D”. Normally WineD3D is used to run DirectX games on Linux, but some old Windows games do not run on Windows anymore. Lets take Star Wars Battlefront 2 for example. On Windows 10, some maps have issues displaying the right colors. To fix this we will need a replacement for DirectX 9.

You can download WineD3D for Windows here.

Getting it Working

There is a readme in the zip folder that WineD3D come in. For Battlefront 2, we will copy the d3d9.dll, libwine.dll and wined3d.dll into the data directory that the game’s executable is located. BattlefrontII.exe is located here.

When you load it up, the game works as it should.

Battlefront2

Battlefront 2 Data Directory.

WineD3D

WineD3D for Windows Zip File.

 

 

 

 

 

 

 

 

The game should now run properly. This works with many games, but is not guaranteed.

WineD3D is far from perfect and has issues: Some games will not work, stutter, or lock to low resolutions. If you would like to help improve it, it is open source under the GNU LGPL Version 2.

Earlier we mentioned how to customize Firefox. Personas are like wallpaper for Firefox and give some basic customization, but what if you wanted to make your own instead of using the ones provided by others?

Fortunately you can with some photo editing and a Firefox addon named Personas Plus. This little addon will give you the ability to create your own personas.

Creating the Persona Images

Custom Persona

My attempt at making a persona.

To start you will need some images to use as the Firefox Header and Footer. The header is the image that is displayed at the top of your browser, behind the toolbars and tabs. The footer is the image used for the addonbar at the bottom of Firefox. These two images should be simple as to not interfere with text.

The files have specific requirements:

  • Header: 3000px x 200px, PNG or JPG format, 300 KB maximum file size.
  • Footer: 3000px x 100px, PNG or JPG format, 300 KB maximum file size.

You can use your favorite image editing program to crop larger images to size if you wish or make your own.

Persona Plus Settings

Persona Plus SettingsNow that you have your images, you will need to install Personas Plus. You should find an icon for the addon on your toolbar. When you click on the icon a menu should appear with the option to edit a custom persona. This will give you a menu where you can chose your header, footer, text color, and accent color. Make sure that your colors do not conflict with the persona you made as this will be the text color for the toolbar.

Now you you can have a unique theme for your browser. There are more complicated ways to make and edit Firefox themes, but that would require some css. Perhaps we will touch on it in the future.

The reason we chose Firefox as our web browser in the Introduction to Computers series is due to its great customization features. By using Extensions and Personas we can make Firefox our own. Make sure that you have the program installed before continuing.

Personas: Firefox’s Skin

The easiest way to customize Firefox is with a Persona. These are similar to wallpaper on your desktop, but cover the browser toolbars. You can find them on Mozilla’s Firefox addons site under themes. To apply a Persona just click the “+ Add” button. You can also test a theme without installing it by hovering over it with your cursor. Persona ExampleIn the past Firefox had a much more powerful theme system that could change the whole layout of the browser. Due to some unfortunate design decisions they have simplified the system and made it more difficult to achieve system wide changes.

If you would like to know how to make your own persona you can, we will go over how to do so in a future tutorial as it will require some image editing.

Extensions: Make Firefox Better

Firefox is rather powerful on its own, but some things that should be default are not and some things need to be fixed. This is where extensions come in. These are bits of code that add functionality to the browser. All of the extensions that are peer and Mozilla reviewed, if something is bad it will not stay for long if it ever gets approved in the first place. You should not install addons/extensions from untrusted sources.

We will go over some of the most useful and fun extensions in this article.

Adblock Plus/uBlock Origin

Disable AdsMost websites make money using ads, without them we could not afford to keep in business. There comes a time, however, when ads are obnoxious or even harmful. Video ads, animated ads, scams, etc. Ads slow down your browsing experience. These two extensions are the most known and respected ad blockers around. Either one will work, but Adblock Plus has had some shady deals with advertisers and has some issues with high CPU usage.

If you chose to install Adblock Plus, disable “Allow some non-intrusive advertising” option in the options.

Also consider adding us to your browser white list by clicking on the extensions button and clicking “disable on this domain”

You can add either one by simply clicking the “+ Add to Firefox” button.

Classic Theme Restorer

Classic OptionsI have already gone over this extension in the past. Remember how I said that Firefox use to be more customizable? This plugin gives some of that customization back. You can change the style of tabs, the menus, and more importantly the search box. One of the biggest issues with the design direction in the newer Firefox is the search box functionality. The decision prevents you from quickly switching between search engines in favor for one click searching. In the Classic Theme Restorer options you can set the behavior back to a more useful state.

Stylish

Keeping with the theme of Customization, Stylish allows you to to theme websites with custom CSS. Basically personas for websites. If you find that a website is too light or has a bad color scheme, you can change it yourself or in most cases find a theme that someone has already made for you. Though it is mostly cosmetic, it is useful to have and will surprise your friends when Google looks different.

Greasemonkey

Moving away from cosmetics and into functionality, Greasemonkey is the Swiss Army Knife of extensions. It functions similarly to Stylish. By itself, Greasemonkey is useless, but by applying userscripts you can change anything on the web. Userscripts are like mini-extensions written in JavaScript. Some auto-load the next page on Google, wist others change the way Facebook works all together. You will have to work at this one for it to be useful, but useful it is.

VimFx

VimFx brings Vim-style keyboard shortcuts to Firefox. It is a bit complicated to go over in this article, but keyboard shortcuts make everything faster. With VimFx, pressing “x” will close a tab, “t” will open a new tab, “o” will activate the search bar, and “i” will disable the shortcuts. The extension is not perfect, you cannot exit insert mode when on YouTube as it has its own shortcuts for example, but VimFx provides great shortcuts that will save anyone time.

Firebug

Firebug allows you to make live changes to a website’s source code. This may sound a bit complicated to a normal user, but it is very useful. Some website will have full page ads that block content and do not go away even with ad blockers for example. You can disable the ad by erasing the line in the source code or adding a new CSS rule. It is also useful for web developers and designers when mocking up website changes.

Disconnect

Most websites track you. Ads track you, Facebook, Amazon, even my website has some trackers. Sometimes they are harmless, just to keep you logged into your account. Often they are malicious. Amazon and Facebook do not need to know that you are looking into buying a computer and that random Chinese advertising agency does not need to know that you are talking to your grandma on Facebook. To help prevent these issues Disconnect blocks the invisible tracking elements on websites. This will often speed up website load times as an added benefit. Remember, you should never need to sacrifice privacy.

Add to Search Bar

Have you ever been on a website or custom search engine and wanted to search with it directly from the search bar? Unfortunately very few web browsers have a way to easily customize your search engines. Fortunately this extension gives you the ability to add any search box to your search engine list. If you are a student you can finally add that search database that your school uses to Firefox.

We hope that you have found this article helpful. What web browsers do you use?

Now that we have an understanding of how to get around, we will go over installing software and the internet. We will only cover the minimum here, in the future we will go over email, Facebook, and other things.

There are a couple of programs we will be installing to get you up and running properly on the internet. These would be a web browser and a firewall.

An Overview

The internet is, in its most basic form, a connection between computers. These computers can send data between one another. For our purposes your computer and a web-server will be communicating.

These servers hold the data that makes up websites and other things that you download.

Why access this data? For many reasons: The Internet holds vast amounts of information from encyclopedias to movies and games, you need to know how to use it effectively to hold a job and there is much fun to be had as well.

Getting Online

Wireless Icons

Wireless on the Left and Wired on the Right

Before you can do anything related with the internet you need to be connected. In the notifications area you should be able to see your connection status and if you are not connected, connect to a network. The icon for this will very depending on whether you are using a wired or a wireless connection.

If you are connected by Ethernet then you have nothing more to do, but if you are using wireless you will need to click the wireless icon. A new menu will appear showing all available networks. You will need to click on the network that belongs to you and enter the password for it.

If you do not know the password it may be on the router that you are using. A router is a devise that routs wireless connections, either your service provider sent you one or you will need to buy one to get wireless.

Now we have one more step, that is open up a web browser. We will be using Microsoft Edge at the start of this tutorial, but will be changing that really soon. There are multiple ways to open Edge, the ‘e’ icon that is on the task bar and start menu, in the start menu you can click all apps and find “Microsoft Edge”, or you can open the start menu and start typing “edge” and hit enter when it appears.MS Edge

Getting Around and Installing Better Programs

Now there are a couple of things you can do now; you can check the weather, make a Facebook account, or watch a movie, but we will be getting a new web browser and an anti-virus.

“Why do I need another browser?” Though Microsoft Edge is far better than what Microsoft had in the past, it is not powerful and is completely controlled by Microsoft. As said previously, we want to keep dependence on them to a minimal.

There are much better options out there than Edge, the two I recommend are Firefox and Google Chrome. This depends on your philosophy and how much power you wish over your browser. Firefox is founded on the principle of privacy and freedom to control the browser as you see fit. Google Chrome is controlled by one of the largest data collection organizations in the world, who just so happens to control a large amount of the internet. With Chrome you do not have control like in Firefox and privacy is questionable, but you have full integration with Google’s services and an easy to use interface.

I will be using Firefox for this tutorial, but the same principles apply to both browsers.

In the search box, the box on the top of the page, you should type wish to find, in this case “Firefox”. A web page should appear with a list of search results. Click on the blue text “Firefox Web Browser – The Official…”, this will take you to the Firefox website. There should be a button that says “Free Download”, click it.Firefox Bing Search

At the bottom of Edge there should be a download status that gives you information on the download.

The first thing you wish to do once the file is downloaded is click “Run”. You will see a green extraction bar and then a warning asking if you would like to run the file, say yes.

Installing Firefox

The installer is a fairly self-explanatory, click next once it opens. You are then presented with options for a Standard or Custom install. For most programs you will want to do a Custom Install when it is an option, as some software will do undesirable things to your computer unless you disable them. Firefox will not do said things, but it is best to get in the habit of doing things this way.

7 Firefox_Install_0

Next you will be asked where you wish to install the program. You are best leaving this alone, but take note how things are set up. You are given the folder that the program will be installed into, how much space is required for the program, and how much you have on your hard drive.8 Firefox_Install_1

The next option given you is to install the “Maintenance Service”, you will want to have this. You should always have your software up to date, this keeps it secure and keeps you from getting a virus.

There will also be the options to have an icon on your Desktop and in the Start Menu. You will want to have the start menu, but there is no need for a desktop icon as we will have a quick launch icon on the task bar shortly. Thus you will want to uncheck the desktop option.

You will be given a summery of the installation, where the program will be installed. All you need to do is click “Install”.

A green progress bar will show you how things are going and then you can just click “Finish”. Firefox will start automatic unless you unchecked it.Firefox, Gateway to the Internet

Follow similar steps if using Google Chrome.

Firefox and the Internet

You are finally here, you have a competent web browser and are connected to the internet. Now there is some simple setup needed for Firefox.

11_Firefox_Search_OptionsWithout a little work, Firefox is not as powerful as it could be. So we need to go into the menu and click on options. This menu is on the far right of the browser, just under the close button. Within the options you will find a tab that says Search, under that tab you will have the option to change search engines. You will want to change it to Google under the drop down list that says Yahoo. Just click on the button and it will open this list, then click Google. Yes, that Google.

Then you just close the options by clicking the ‘x’ on the tab that is in the top of the browser. These tabs will become very important in the future.

Windows comes with a simple Firewall and anti-virus, but they are rather simplistic and lacking in some areas. If you are comfortable with that, you are set for the internet. However we will be covering anti-virus software in our next article.

Sadly our short attention span culture means that this website would suffer if I continue here. Keep an eye out for our next step, installing an anti-virus and exploring the web.

Before we learn how to use a computer we must understand what a computer is and the underlining concepts that allow computers to work.

At the most basic level a computer takes data (input) and processes it into information (output). Lets say you us a calculator to solve a 2 + 4. The numbers 2 and 4 are your input along with the plus (+) sign. The plus sign is an operator that tells the calculator how to process the input. The output will be 6. This is how computers work, everything you wish to do on a computer follows this principle.

ENIAC, the first general purpose computer.

ENIAC, the first general purpose computer.

Brief History of The Computer

Technically commuters have been around for thousands of years, but we are only interested in the past two hundred years.

Charles Babbage conceptualized programmable computers and began to build a Difference Engine in 1822. After building his Difference Engine, he thought it would be possible to have a system that used punch cards for input. This punch card system was called the Analytical Engine. Unfortunately Babbage died before he could get it working.

Ada Lovelace wrote the first algorithm for the Analytical Engine. Wist the Engine was not finished, Lovelace wrote what is attributed to be the first computer program.

These Difference and Analytical Engine are both mechanical computers. Though there where electronic computers near the beginning of the 1900s, the first general purpose electric computer was announced in 1946. This computer was named the Electronic Numerical Integrator And Computer (ENIAC). ENIAC combined the abilities that other earlier computers had and ran at a much faster speed.

Computers Today

Computers come in many shapes and sizes, ranging from so small that 150 of them can fit on your thumb (M3) to ones larger than ENIAC. The smallest computer we will be going over in this series is your cell phone and we will not be building server farms so we will not concern ourselves too much with size.

Computers have become such an integrated part of our society that it is almost impossible to get a job without knowing how to use one. Even cash registers have computers integrated into them.

Types of Computers

We will be going over several types of computers during this series. This includes:

Smart Phones:

Smart Phones have largely replaced standard phones for most things. These phones are computers that can connect to cell-phone networks and WiFi networks. This gives the phones the power to both access the internet and make phone calls. Smart Phones can run software to do anything that a desktop computer can, from playing games to doing your taxes.

Single-board Computers:

Single-board Computers have one circuit board with all of the components soldered to it. These boards are often used in manufacturing and hobbyist projects. The most notable computer of this type is the Raspberry Pi. These computers are often inexpensive and perfect for simple tasks like weather tracking. We will go over Raspberry Pi projects some time in the future.

Laptop and Desktop Computers:

Laptops are computers that have a folding screen that comes down over the keyboard. Laptops are more expensive and less powerful than Desktops, but run off battery power and are portable. Desktops are cheep and powerful, but are not as portable as laptops. Both run the same type of software and the same principles apply. This is the type of computer this series will focus on.

Next time we will go over the basic hardware that will be needed and how hook everything together.

For further reading you can read the Wikipedia pages for concepts we have covered:

Ada Lovelace

Charles Babbage and His Work in Computing

ENIAC