(Download PDF) Scripting Farming Simulator With Lua Zander Brumbaugh Full Chapter PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 69

Scripting Farming Simulator with Lua

Zander Brumbaugh
Visit to download the full and correct content document:
https://ebookmass.com/product/scripting-farming-simulator-with-lua-zander-brumbaug
h/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Scripting Farming Simulator with Lua: Unlocking the


Virtual Fields 1st Edition Zander Brumbaugh

https://ebookmass.com/product/scripting-farming-simulator-with-
lua-unlocking-the-virtual-fields-1st-edition-zander-brumbaugh/

Roblox Lua Scripting Essentials: A Step-by-Step Guide


1st Edition Coutinho

https://ebookmass.com/product/roblox-lua-scripting-essentials-a-
step-by-step-guide-1st-edition-coutinho/

Microsoft Flight Simulator Brittany Vincent

https://ebookmass.com/product/microsoft-flight-simulator-
brittany-vincent/

Celebrating the Seasons with the Yorkshire Shepherdess:


Farming, Family and Delicious Recipes to Share (4)
Amanda Owen

https://ebookmass.com/product/celebrating-the-seasons-with-the-
yorkshire-shepherdess-farming-family-and-delicious-recipes-to-
share-4-amanda-owen/
The New Politics of Olympos: Kingship in Kallimachos'
Hymns Michael Brumbaugh

https://ebookmass.com/product/the-new-politics-of-olympos-
kingship-in-kallimachos-hymns-michael-brumbaugh/

Farming in Modern Irish Literature Nicholas Grene

https://ebookmass.com/product/farming-in-modern-irish-literature-
nicholas-grene/

Farming System And Sustainable Agriculture Alok Kumar


Patra

https://ebookmass.com/product/farming-system-and-sustainable-
agriculture-alok-kumar-patra/

The Global History of Organic Farming Gregory A. Barton

https://ebookmass.com/product/the-global-history-of-organic-
farming-gregory-a-barton/

Key Concepts in Agriculture and Farming Hazem Shawky


Fouda

https://ebookmass.com/product/key-concepts-in-agriculture-and-
farming-hazem-shawky-fouda/
Zander Brumbaugh and Manuel Leithner

Scripting Farming Simulator with Lua


Unlocking the Virtual Fields
Zander Brumbaugh
Seattle, WA, USA

Manuel Leithner
Buttenheim, Bayern, Germany

ISBN 979-8-8688-0059-7 e-ISBN 979-8-8688-0060-3


https://doi.org/10.1007/979-8-8688-0060-3

© GIANTS Software GmbH 2024.


This book is an open access publication.

Open Access This book is licensed under the terms of the Creative
Commons Attribution 4.0 International License (http://​
creativecommons.​org/​licenses/​by/​4.​0/​), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as
long as you give appropriate credit to the original author(s) and the
source, provide a link to the Creative Commons license and indicate if
changes were made.
The images or other third party material in this book are included
in the book's Creative Commons license, unless indicated otherwise in a
credit line to the material. If material is not included in the book's
Creative Commons license and your intended use is not permitted by
statutory regulation or exceeds the permitted use, you will need to
obtain permission directly from the copyright holder.

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

The use of general descriptive names, registered names, trademarks,


service marks, etc. in this publication does not imply, even in the
absence of a specific statement, that such names are exempt from the
relevant protective laws and regulations and therefore free for general
use.

The publisher, the authors, and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.

This Apress imprint is published by the registered company APress


Media, LLC, part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
Foreword
As the CEO of GIANTS Software, I am pleased to introduce this book on
scripting with Farming Simulator Lua. The modding community has
always been an essential part of Farming Simulator’s success, and our
developers have worked tirelessly to ensure that they have the tools
they need to create incredible mods.
Since its inception in 2008, the Farming Simulator franchise has
seen tremendous growth. Our community has been a significant factor
in this success, and we continue to support and encourage modders to
create innovative and exciting mods for our game. Scripting is a critical
aspect of modding in Farming Simulator, and we recognize that it can
be challenging for newcomers to grasp. With this book, we aim to
demystify the scripting process and provide a comprehensive guide to
creating Lua scripts that can enhance gameplay and introduce new
features.
This book is the result of our collaboration with Zander Brumbaugh.
The book provides a step-by-step approach to scripting, starting with
the basics and progressing to more advanced topics, making it suitable
for beginners and experienced modders alike. Our hope is that this
book will inspire and encourage modders to push the limits of what is
possible in Farming Simulator. I am constantly amazed by the creativity
and ingenuity of our community, and we believe that this book will help
take modding to the next level.
Finally, I would like to express my gratitude to the global Farming
Simulator modding community for their continued support and
contribution to the Farming Simulator franchise. With this in mind, we
have made every effort to ensure that this book is accessible to
modders of all backgrounds and skill levels. We have included examples
and explanations that are easy to understand, regardless of your
experience with scripting. In conclusion, I would like to thank the two
authors of this book for their hard work and dedication. They have
done an outstanding job of creating a comprehensive guide to scripting
with Lua in Farming Simulator. I am confident that this book will
become an invaluable resource for modders and will help drive the
modding community forward.
Happy modding!
Christian Ammann
Founder and CEO, GIANTS Software
Introduction
About Farming Simulator
Since its initial release in 2008, Farming Simulator has been the
premier farming simulation video game. As new generations of the
game have been released, there have been increasingly new ways to
play and build any farm you can imagine. Something that makes
Farming Simulator truly unique is the ability to create your very own
mods.
Mods are a way for you to make Farming Simulator your own,
unique experience through modifying the game in a variety of ways.
With mods, you can create something as simple as a new vehicle or a
whole map, give yourself infinite money, or even change the game in its
entirety. With many resources available and a large community of
passionate creators, getting started with mod development is easier
than ever.
The best part of this system is that many creators are already
earning a living by making new mods. Whether you wish to be a mod
creator only as a hobby or want to pursue it full-time, there are plenty
of opportunities for you.

What You’ll Learn


This book will take you on a deep dive into the many resources, tools,
techniques, and opportunities available to you as you begin or continue
your journey as a mod creator. By the end, you should feel confident in
your ability to make programs in the Lua programming language,
import 3D models, and ultimately create any mod you can envision.
Any source code or other supplementary material referenced by the
author in this book is available to readers on GitHub. For more detailed
information, please visit https://www.apress.com/gp/services/source-
code.
Table of Contents
Chapter 1:​Introduction, GDN, ModHub, Modding Tutorial Videos,
LuaDoc, FarmCon…
Technical Requirements
Exploring the GDN
Modding Resources
Video Tutorials
Documentation
Community Forum
Downloads
LuaDoc
YouTube
Looking at the ModHub
Financial Opportunities of Mod Creation
How to Attend FarmCon
Participating in the Mod Contest
Summary
Chapter 2:​Getting Started with the GIANTS Editor
Technical Requirements
Installing the GIANTS Editor
The Viewport
Movement and Camera Manipulation
Viewport Options
The Scenegraph Panel
Entities and the Parent-Child Hierarchy
Application Menus
The File Menu
The Edit Menu
The Create Menu
The View Menu
The Scripts Menu
The Window Menu
The Help Menu
The Attributes Panel
The Toolbar
File Section
Play Section
Mode Section
Miscellaneous Section
Terrain Section
Scripting
The Console
Summary
Chapter 3:​The Lua Programming Language
Technical Requirements
Learning About Data Types and Creating Variables
Data Types
Setting and Manipulating Variables
Numbers
Booleans
Strings
Tables
Dictionaries
Conditional Statements
Declaring and Using Loops
for Loops
Iterator Function
while Loops
repeat Loops
Learning About Functions
Functions in Programming
Recursion
Classes
Demonstrating Programming Style and Efficiency
General Programming Style Rules
Summary
Chapter 4:​The GIANTS Studio
Technical Requirements
Installing the GIANTS Studio
Application Menus
The File Menu
The Edit Menu
The View Menu
The Debug Menu
The Window Menu
The Help Menu
New Project
Starting the Game
Debugging Scripts
Using Breakpoints
Using the Locals Tab and the Callstack
Summary
Chapter 5:​Making a Diner with a Rotating Sign
Technical Requirements
Preparing the Mod Folder Structure
Creating Mod Scripts
Creating XML Files
Creating Lua Files
Testing the Mod
Summary
Chapter 6:​Rotating Mower Mod
Technical Requirements
Creating Mod Scripts
Creating XML Files
Creating Lua Files
Testing the Mod
Summary
Chapter 7:​Speed Trap Trailer Mod
Speed Trap Trailer Mod
Technical Requirements
Creating Mod Scripts
Creating XML Files
Creating Lua Files
Testing the Mod
Summary
Chapter 8:​Mileage Counter HUD Mod
Technical Requirements
Creating Mod Scripts
Creating XML Files
Creating Lua Files
Testing the Mod
Summary
Chapter 9:​Multibale Spawner Mod
Technical Requirements
Creating Mod Scripts
Creating XML Files
Creating Lua Files
Testing the Mod
Summary
Chapter 10:​Money Cheat Mod
Technical Requirements
Creating Mod Scripts
Creating XML Files
Creating Lua Files
Testing the Mod
Summary
Chapter 11:​Publishing on the ModHub
Technical Requirements
What Is the ModHub?​
Creating an Account
ModHub Creation Guidelines
Using the TestRunner
Uploading Your First Mod
Getting Feedback and Updating Your Mod
Rewards and Awards
Summary
Chapter 12:​Documentation and Appendix
Debugging
print
printCallstack
Position, Orientation, and Size
getWorldTranslat​ion
setWorldTranslat​ion
setTranslation
getTranslation
worldToLocal
localToWorld
localToLocal
setRotation
getRotation
getWorldRotation​
setWorldRotation​
localRotationToW​orld
worldRotationToL​ocal
worldDirectionTo​Local
localDirectionTo​Local
localDirectionTo​World
setDirection
setScale
getScale
Entities
clone
createTransformG​roup
setName
getName
setVisibility
getVisibility
setUserAttribute​
getUserAttribute​
getHasClassId
ClassIds Enum
Entity Relations
link
unlink
getParent
getChild
getChildAt
getNumOfChildren​
getRootNode
Camera
getCamera
setCamera
I3D
loadI3DFile
loadSharedI3DFil​e
LoadI3dFailedRea​son Enum
streamI3DFile
cancelStreamI3DF​ile
streamSharedI3DF​ile
releaseSharedI3D​File
Physics
getRigidBodyType​
RigidBodyType Enum
setRigidBodyType​
getCenterOfMass
setCenterOfMass
getMass
setMass
raycastAll
raycastClosest
raycastCallback
overlapBox
overlapSphere
overlapCallback
Network
streamReadBool
streamReadFloat3​2
streamReadInt16
streamReadInt32
streamReadInt8
streamReadIntN
streamReadString​
streamReadUInt16​
streamReadUInt8
streamReadUIntN
streamWriteBool
streamWriteFloat​32
streamWriteInt16​
streamWriteInt32​
streamWriteInt8
streamWriteIntN
streamWriteStrin​g
streamWriteUInt1​6
streamWriteUInt8​
streamWriteUIntN​
Index
About the Authors
Zander Brumbaugh
is a programmer, game designer,
technical author, and AI researcher
based in Seattle, Washington. His work
as an independent developer on the
Roblox platform has been played more
than 300 million times. He has created
popular games like My Salon, Power
Simulator, Munching Masters, and more.
Zander is also a multiple-time best-
selling textbook author, with works on
programming and game development.
He currently attends the the Paul G. Allen
School of Computer Science and
Engineering at the University of
Washington where his research focuses on the improvement of
language models for real-world settings.

Manuel Leithner
is a senior gameplay programmer based
in Buttenheim, Germany. While working
on his bachelor’s and master’s degrees in
business informatics/information
systems, he started modding for Farming
Simulator 2008, the first title of the
series. A few years later, he worked as a
freelancer for GIANTS Software on
several DLCs and major game releases. In
2015, a branch office in Erlangen,
Germany, was opened, and he became
the head of the office as a branch
manager. Since then, he has also become
the lead gameplay programmer and responsible for gameplay across
the whole franchise.
About the Technical Reviewer
Simon Jackson
is a long-time software engineer and
architect with many years of Unity game
development experience, as well as an
author of several Unity game
development titles. He loves to both
create Unity projects as well as lend a
helping hand to educate others, whether
it’s via a blog, vlog, user group, or major
speaking event.
His primary focus is with the Reality
Toolkit project, which is aimed at
building a cross-platform Mixed Reality
framework to enable both VR and AR
developers to build efficient solutions in
Unity and then build/distribute them to as many platforms as possible.

OceanofPDF.com
© The Author(s) 2024
Z. Brumbaugh, M. Leithner, Scripting Farming Simulator with Lua
https://doi.org/10.1007/979-8-8688-0060-3_1

1. Introduction, GDN, ModHub, Modding


Tutorial Videos, LuaDoc, FarmCon…
Zander Brumbaugh1 and Manuel Leithner2
(1) Seattle, WA, USA
(2) Buttenheim, Bayern, Germany

In this chapter, we will explore the GIANTS Developer Network (GDN)


and other important resources and materials available to mod creators
(you!).

Technical Requirements
You will not need any software or additional materials for this chapter
as it will mostly cover information. However, it may be beneficial to
have an Internet connection and web browser available to you to search
any topics covered in further detail or visit any websites mentioned.

Exploring the GDN


The GIANTS Developer Network (GDN) is the hub for all mod
creation–related materials for Farming Simulator. Through the GDN,
you can talk with other mod developers, view documentation for
Farming Simulator and mod creation tools, watch tutorials, and make
sure all the software you are using is up to date. Please note that you
need to create an account to access the full feature set of the website.
You can see a preview of the GDN website in Figure 1-1.
Figure 1-1 The GDN contains all of the necessary resources to make great mods of
your own
In this section, we will explore all aspects of the GDN. If you want to
navigate the website yourself while reading, you can use the following
link:

https://gdn.giants-software.com

Modding Resources
The GDN includes different sections that can prove to be excellent
resources at any level of mod creation experience. In this section, we
will cover each section and discuss what information they cover.

Video Tutorials
The Video Tutorials section of the GDN contains groups of videos
which give you a step-by-step guide on how to create a variety of in-
game systems for your mods from scratch. Some of these topics include
map creation, gameplay mods, sound design, effects, and more. These
tutorials can be a helpful addition to this book for learning critical
modding skills.
In addition to the free tutorials, there are other video contents from
events such as FarmCon, which we will discuss in greater detail in the
FarmCon section of this chapter. These videos are a good source of
information about the best techniques and practices when creating
mods of your own.
The newest 5.0 tutorials are paid tutorials that cover most recent
release content. While access to these tutorials is paid, they are
included with the collector’s edition of Farming Simulator.

Documentation
The documentation section is one of the most important parts of the
GDN, as it contains all official information for working with the GIANTS
Editor, in-game interactions, mod creation, and the Lua programming
language. Do note that the documentation section of the GDN is
different from the documentation section on the main Farming
Simulator website, which teaches you how to play the game rather than
develop mods.
Under the Fundamental Reading section, there are links to the
Editor and Studio documentation. The Editor documentation contains
detailed information about using the GIANTS Editor, the main piece of
software you will use when creating your mods. The editor allows you
to combine both programming elements and physical, 3D elements to
create more advanced mod types. You will learn how to navigate and
use the GIANTS Editor in Chapter 2, “Getting Started with the GIANTS
Editor.” The Editor section of the GDN is something we will refer back to
frequently.
The GIANTS Studio is a new tool for creating, editing, and
debugging script mods. It works as an editor and a “remote” debugger
in one. It interacts with the game as you create your mod and provides
you with valuable information. Because of how the application is
designed, it is a powerful environment that allows you to work on
multiple mods at once. The studio is a separate application from the
editor and will be important when you begin creating your own scripts
in Lua.
The Scripting section of the GDN covers all of the vital information
relating to the Lua programming language and how it relates to
creating mods for Farming Simulator. We will cover this section in more
detail in the LuaDoc section later in this chapter.
The Content Creation section covers fundamental information
about importing 3D assets from various popular 3D modeling
applications, including Maya and Blender. For clarity, 3D modeling is
the process of making all of the items you see and are able to interact
with in the game; people who make 3D models are called 3D modelers.
To put it simply, 3D models include all of the “things” you see in the
environment around you.

Community Forum
The forum is an excellent place to connect with other mod creators.
Here, you can ask for help with specific issues you run into when
developing your mods and get answers from other experienced users in
a short amount of time. Additionally, you can have general developer
discussion about best practices, software tips, and more. Like the
Documentation section, do note that the forum of the GDN is different
from the forum on the main website, which is for general discussion
about Farming Simulator and the player community rather than mod
creation. Figure 1-2 contains a preview of the forum.

Figure 1-2 The GDN Forum is valuable for getting feedback and support from other
creators
Let us look now at each category of the forum and its purpose.
The Engine category of the forum is dedicated to discussion about
the game engine of Farming Simulator. If you are a beginning developer,
you will likely not need to interact with this section as it mostly covers
advanced topics of how the programming language interacts with the
game engine or how applications like the GIANTS Editor are
implemented at the technical level.
The Exporter category of the forum is where mod creators can
request help or talk about methods of using 3D modeling applications
for creating or importing models for use with their mods. For example,
if there is a tractor model you want to include in your mod but are
having difficulty exporting it, you can post in this section and see if
other creators have a solution to your problem.
The Modding category is an important part of the forum as it is
where you should post any questions related to your work on mods. For
instance, if you are not sure how to accomplish some sort of behavior
or have an idea but are running into an issue, you can post your
question here and have other members of the community assist you.
Additionally, there is a Miscellaneous category which includes four
subcategories, those being Feedback, Feature Requests,
Documentation, and Off Topic. The Feedback category is where you
can make general comments about your experience with Farming
Simulator or any applications you use for making your mods. The
GIANTS Software team always values community feedback when
making updates and deciding which direction to take the game.
The Feature Requests category is like the Feedback category but
specifically where you can request new features or make suggestions
for changes. While your suggestions are not guaranteed to be
implemented, features and other additions that improve the gameplay
or development experience will always be considered.
The Documentation category of the forum is where you can ask
questions or make suggestions regarding the Documentation section of
the GDN.
The Off Topic category is used for general development discussions
or any topics that do not fall into any of the other categories.

Downloads
The Downloads section of the GDN is where you should always look to
find the newest, updated versions of development applications made by
GIANTS Software, including the GIANTS Editor and the GIANTS Studio.
In addition to applications, there are also plug-ins and other add-ons
for third-party software to make a more streamlined development
experience. In this section, we will review which each category of the
Downloads section offers.
The Editor category contains a list of releases for the GIANTS
Editor. To ensure that you are able to take advantage of the newest
features, make sure to download the most recent release version. We
will walk you through the download process in Chapter 2, “Getting
Started with the GIANTS Editor,” which covers the GIANTS Editor.
The Exporter category includes plug-ins for various popular 3D
modeling applications. These plug-ins create a more streamlined
development experience by handling metadata and doing certain tasks
as you export your 3D models for use in Farming Simulator mods. The
applications currently supported include Blender and Maya.
The Studio category has a list of releases for the GIANTS Studio. As
mentioned in the “Documentation” section, the Studio is a relatively
new tool, so there are fewer versions released compared to the editor.
Like the GIANTS Editor, you will want to make sure you have the latest
version of the application installed to take advantage of the newest
features and bug fixes. We will also cover the setup process for this
application in Chapter 4, “The GIANTS Studio.”
The Other Tools category of the Downloads section includes a
limited amount of task-specific tools that may improve your experience
creating mods. You are unlikely to interact with these tools until you are
somewhat advanced as a creator but you are encouraged to explore
nonetheless.
The Modding category includes applications, documents, images,
and other media related to mod creation.
The Miscellaneous category includes any relevant downloads that
do not fall into any other listed categories.

LuaDoc
In Chapter 3, “The Lua Programming Language,” you will learn how to
use the Lua programming language. Programming is what brings life
to games and game systems. Any interactions you see, such as clicking a
button and causing something to happen, are a result of programming.
Those who program are called programmers. Lua is a fast, lightweight
programming language that uses many universal programming
constructs. So whether you are already an experienced programmer or
have never done any programming before, you will learn everything
from the basics to intermediate concepts in this book.
LuaDoc refers to the Lua documentation made by GIANTS Software.
This documentation is included under the Documentation section of
the GDN. For convenience, a link directly to the FS22 version of LuaDoc
has been included here:

https://gdn.giants-
software.com/documentation_scripting_fs22.php
LuaDoc includes information not only about the Lua language but
specifically how your programs are meant to interact with existing
systems within Farming Simulator. Furthermore, much of the source
code for the game systems within Farming Simulator are documented
here and available to view through the GIANTS Studio.

YouTube
YouTube and other video streaming platforms also have many video
tutorials available that you may find useful. Often, these videos may
make a specific system or cover a specific issue that you will not find on
the official site. However, as these videos are not official, they may not
use the best practices and are not officially endorsed.

Looking at the ModHub


The ModHub is where you will publish your mods for all players to be
able to use. The ModHub has different categories including maps, many
different types of vehicles, and different buildings or farm technologies
for players to include in their game.
The best-performing and highest-quality mods can appear in
several algorithmic categories including Latest and Top Downloaded.
These categories are then featured to players on the front page of the
ModHub.
When users download your mod, they can leave a review on a five-
star scale. Naturally, mods with a higher rating are more likely to be
downloaded by other players and find their way into the sorts shown
earlier. With dedication, your mods can also see wide usage and be
shown at the top of these sorts. You can see a preview of the ModHub
and the mentioned categories in Figure 1-3.
Figure 1-3 The ModHub lets users discover new mods and enhance their Farming
Sim experience
Next, we will look at how many mod creators are already earning
money by making their Farming Simulator mods available to the
community.

Financial Opportunities of Mod Creation


As mentioned in the introduction, there are ways to earn money by
creating mods and making them available for all Farming Simulator
players to use. Once you create a quality mod, it must go through a
manual approval process. This process ensures that the mod does what
it claims to do and that it is free of any prohibited content. This content
can vary, but copyrighted material, such as specific brands or
companies, are generally not permitted to appear in your mod. If your
mod is approved to be published on the ModHub, you may be eligible to
receive payouts from GIANTS Software based on how many times your
mod is downloaded. Remember, quality mods that receive the best
reviews are more likely to appear in certain categories of the ModHub.
When your mod is featured, more users will be able to see it and
download, allowing you to earn more money from your mod.
In the next section, we will look at the annual Farming Simulator
event, FarmCon.

How to Attend FarmCon


If you become a successful mod creator or just want a new way to
engage with all things Farming Simulator, FarmCon is an annual
convention that attracts members of the community from around the
world. There is simply no better place to connect with other mod
creators and community members.
FarmCon attendees are often the first to see new teasers, trailers,
and announcements about the future of FarmCon. There are also many
presenters with talks focusing on best techniques for players to build
their farming empires and the best tips and tricks for mod creation. You
can see a promotional image from FarmCon 22 in Mannheim, Germany,
in Figure 1-4.
Figure 1-4 FarmCon is an annual convention for all things Farming Simulator
You may have some questions about what your FarmCon experience
might look like or about the logistics of going. The following are some
FarmCon FAQ that might be insightful:
Do I need a ticket for FarmCon?
A ticket is generally required for admission into the venue and in-
person attendance.
Do I have to visit FarmCon to get all the new info?
We will not hide any new information about Farming Simulator at
the event. You can follow announcements on the blog after the event.
What language is FarmCon presented in?
Most presentations at FarmCon in person will be held in German.
I have further questions, how can I contact you?
If you have any further questions about FarmCon, you can contact
us via email at [email protected].
If you want to stay informed about FarmCon, Farming Simulator,
and other exciting GIANTS Software projects, follow our social media
accounts listed here:
@farmingsimulator @farmingsim
@FarmingSimulator
In the next section, we will look at official mod creation contests
hosted by GIANTS Software.

Participating in the Mod Contest


With each major release of Farming Simulator, there is a contest for
mod creators to participate in. Those who create the best mods or maps
can win some incredible prizes when the winners are announced at the
FarmCon the year following the release. For the winners, prizes have
included computer accessories, cameras, high-end computer graphics
cards, and trips to the factories of various farm equipment
manufacturers.
If this excites you, you will have all the skills you need to participate
by the end of this book. The following are some of the general rules for
participating in the contest:
Contestants – Teams or individuals may create submissions.
Allowed in submission – New mod or map. No skins or prefabs.
Origin – Only self-created mods (3D models, 2D textures,
programming) will be accepted.
Entry – A person or team may only enter once.
In the next section, we will briefly review what you have learned in
this chapter and what to expect in the next.

Summary
In this chapter, you learned about the GIANTS Developer Network and
what resources are available to you as you begin your journey as a mod
creator. You also learned how to engage with other members of the
community and the best ways to learn about events and see important
updates relating to Farming Simulator.
With what you have learned about the mod-making process and
environment from this chapter, you have been set on the path of being
able to make anything you can envision in your mods. In the following
chapter, you will familiarize yourself with the GIANTS Editor, the main
software you will be using for creating your mods.
Open Access This chapter is licensed under the terms of the
Creative Commons Attribution 4.0 International License (http://​
creativecommons.​org/​licenses/​by/​4.​0/​), which permits use, sharing,
adaptation, distribution and reproduction in any medium or format, as long as you
give appropriate credit to the original author(s) and the source, provide a link to the
Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the
chapter's Creative Commons license, unless indicated otherwise in a credit line to
the material. If material is not included in the chapter's Creative Commons license
and your intended use is not permitted by statutory regulation or exceeds the
permitted use, you will need to obtain permission directly from the copyright holder.
OceanofPDF.com
© The Author(s) 2024
Z. Brumbaugh, M. Leithner, Scripting Farming Simulator with Lua
https://doi.org/10.1007/979-8-8688-0060-3_2

2. Getting Started with the GIANTS


Editor
Zander Brumbaugh1 and Manuel Leithner2
(1) Seattle, WA, USA
(2) Buttenheim, Bayern, Germany

The GIANTS Editor is the main application you will use to create mods.
In the editor, you can run scripts, preview and manipulate models, and
stage your creations before publishing them to the ModHub. In this
chapter, we will explore the features and tools of the GIANTS Editor.
Familiarizing yourself with the interfaces that mod creators work with
is the first step in the path to making your own.
After reading this chapter, you will know the tools and features of
the GIANTS Editor, be able to create and change the properties of
objects in your mod, and manage application settings.

Technical Requirements
You will need to download the GIANTS Editor and optionally additional
software for this chapter. As such, you will need an Internet connection
and web browser available to you. The minimum requirements for the
GIANTS Editor and other applications are as follows:
Farming Simulator 22
Windows 10 64-bit
Intel Core i5-3330 or AMD FX-8320 or better
Nvidia GeForce GTX 660, AMD Radeon R7 265 graphics card or better
(min. 2 GB VRAM, DX11/DX12 support)
8 GB RAM
35 GB free hard drive space

Installing the GIANTS Editor


To begin this chapter, we will return to the GDN website
(https://gdn.giants-software.com) and head to the
Downloads section. If you have not already made a GDN account, you
will need to do so before you can download any of the free software on
your computer. When you have navigated to the Downloads page, look
for the most recent version of the GIANTS Editor available for your
platform and game (e.g., Farming Simulator 22). By clicking the product
name, you should be prompted to download the executable for the
GIANTS Editor. You can see the relevant section of the Downloads page
in Figure 2-1.

Figure 2-1 All GIANTS Software applications can be downloaded through the GDN

Once you have downloaded the executable, run it and proceed


through the steps listed in the setup wizard. When the setup tasks have
been completed, launch the GIANTS Editor application, and you should
be greeted by a welcome menu. That is the first step complete!
In the next section, you will learn how to navigate the GIANTS
Editor.

The Viewport
With the GIANTS Editor opened for the first time, a “Getting Started”
window will pop up showing some useful information to get help about
the editor. After closing it, you should see several panels on each side of
a gray space. This space, called the viewport, is where you will see the
models, map elements, and any other visual part of your mod. Your
viewport will not be very interesting without any objects in your scene.
Let’s follow these steps to create your first object:
1. Go to the Create menu at the top left of the editor window.

2. Click the Cube button from the Primitives dropdown menu.

We will explore the Create menu and other application menus in


greater detail in the “Application Menus” section of this chapter. For
now, you should see the cube you have inserted into your scene. Your
viewport should look something like what is depicted in Figure 2-2.
Figure 2-2 The viewport is the main element you use to see and interact with your
scene
Let us now look at how to examine this cube and anything else you
may add to your scene.

Movement and Camera Manipulation


Manipulation of your camera in the GIANTS Editor is quite simple. Your
camera will move relative to the direction you are facing while holding
the right mouse button (RMB):
The W key will move your camera forward.
The A key will move your camera left.
The S key will move your camera back.
The D key will move your camera right.
Holding the Shift key while moving your camera will cause
movement to occur at a faster rate, which is convenient for moving
across large areas in the scene.
If you feel that the camera is moving too fast or too slow, you can
adjust the speed of the camera by pressing KEY_NUM_MINUS and
KEY_NUM_PLUS, respectively. For clarity, these are the plus (+) and
minus (−) buttons on the number pad of a keyboard. The current
navigation speed is displayed in the bottom-right corner of the window.
Let us now cover how you interact with objects in your scene. To
select an object in your viewport, simply click the physical object with
the left mouse button (LMB) or via the Scenegraph Panel, which we will
cover in more detail in the “The Scenegraph Panel” section of this
chapter. When you have an object selected, you can press F to bring
your camera to the object. This is convenient when you have many
objects in your scene and want to move your camera to one specifically.
Let us now look at some of the options available to change how we
look at objects with the viewport and more.

Viewport Options
By right-clicking anywhere in the viewport, you will bring up a new
menu with a list of options as seen back in Figure 2-2. Let us now look
at what each of these options does.

Camera
The first option from this list is Camera, which allows you to set your
perspective to any camera object within your scene. You may find this
feature useful in instances where you want to test a camera object
players will eventually use as part of your mod or simply to have
multiple viewpoints available in different areas of your scene while in
the Editor. Note that you cannot delete a camera object if your
perspective is currently set to it.

Framed Rotate
The next option from the list is a toggle for Framed Rotate mode.
When this option is enabled, you can move your camera around an
arbitrary point in space; this is a very useful feature for examining an
object in your scene. To do this, enable Framed Rotate, select an object
and press the F key to bring your camera to it, zoom out, and press
ALT+LMB to move your camera around its new pivot point.

First-Person Mode
This option enables a special mode that is useful for creating maps. It
allows the user to walk through a map like a player using the mouse
and the A, S, D, W keys for movement. Note that you should only enable
this mode when editing a map as it requires a terrain object in the
scene. Use the ESC key to disable the mode again.

Shading Modes
Listed after these options are two modes for viewing your scene; these
two modes are called wireframe and shaded. When viewing your
scene in shaded mode (the default mode), objects will be rendered
(displayed) with shadows and appear as they would in the game. In
wireframe mode, you will always be able to see the topology of objects
in your scene and see objects through other objects. If you are
unfamiliar with the process of 3D modeling, topology refers to the
layout of the smaller 3D components that make up your model, often
called polygons or tris (triangles).

Show and Selectable


Following these viewing mode options are options for what objects you
can see and interact with in your scene. The first Show option includes a
dropdown menu and list of object types that are shown only when
enabled. Similarly, the Selectable option also produces a dropdown
menu where you can choose which types of objects you are able to
select with your mouse in the viewport. These settings are convenient
when you are working in complex scenes and want to filter only for the
types of objects you want to interact with.

Grid
The Grid option shows a grid with 1×1 squares when enabled. The grid
can help to give you a frame of reference when creating your scene
when terrain is not present as well as keeping objects aligned.

Polycount
Lastly, the Polycount option when enabled will show you additional
information about objects you are selecting. This relates back to what
you are able to see in the wireframe viewing mode. Because of how
computer processing works, the lower the polycount of an object, the
less computationally expensive it is to render.
In the following section, we will learn how objects in your scene are
structured and how to navigate them all most efficiently.

The Scenegraph Panel


As previously mentioned, the Scenegraph Panel is an important menu
that allows you to see all of the objects in your scene. This will become
important when you begin programming as you will need to refer to
objects in your scene, and this reference will be based on the
organization of objects in your scene. You can see how your Scenegraph
Panel might look when there are multiple objects in your scene in
Figure 2-3.

Figure 2-3 The Scenegraph shows all of the objects contained within your scene

You may notice some objects in Figure 2-3 seem to be a list under
another object. This descent is related to how objects are organized in
the GIANTS Editor. Let us now explore what this hierarchy is called and
how to navigate it.

Entities and the Parent-Child Hierarchy


In the GIANTS Editor (and many other applications like it), objects are
stored in what is called a parent-child hierarchy. A parent-child
hierarchy is one where an object is stored inside of something (its
parent) and the object is the child to its parent. Each object in the
engine is an entity with a unique ID used to access it. Please keep in
mind that this ID is not persistent and can change on every game or
editor startup. An entity can be a TransformGroup, a shape, a camera,
etc. The entity type defines a feature set for the object. For example, a
camera entity can be used as a viewport camera, a Shape entity has
special functions like materials, and Transform entities can be used in
the parent-child hierarchy and have a position in the world. Looking at
Figure 2-4, you can see three objects: the Scenegraph, a Camera object
named perspectiveCamera, and two Transform Group objects named
parentTransformGroup and childTransformGroup. In the GIANTS Editor,
the Scenegraph is always at the top of the parent-child hierarchy; that
is, any objects in your scene are a descendant of the Scenegraph. In this
example, perspectiveCamera and parentTransformGroup are direct
descendants of the Scenegraph or its children. The Transform object
named childTransformGroup is the child of parentTransformGroup; you
can alternatively say that childTransformGroup is parented to
parentTransformGroup:

Figure 2-4 This example shows the parent-child hierarchy of the GIANTS Editor
In the next section, we will look at the application menus of the
editor

Application Menus
In this section, we will explore the various application menus in the
GIANTS Editor and discuss which options you should know about as a
beginning mod creator.

The File Menu


The File menu contains many options related to what you are currently
working with inside of the GIANTS Editor. Let us look at each menu
option and what they do.
The New button will reset the editor to an empty environment
when pressed. Before the environment is cleared, you will be prompted
to save any unsaved changes to the current file or to create a new file if
you have not saved your work before.
The Open button will open your file explorer and allow you to open
any .i3d files you have saved and continue editing them.
The Save and Save As buttons will save your current environment
to an .i3d file. If you have not previously saved your work to a file, only
the Save As button will be available and will prompt you to select a
location on your computer and file name for the file to be stored with. If
you have previously saved your work to a file, only the Save As button
will prompt you to choose a new location and file name, whereas the
Save option will simply overwrite your existing file.
Clicking the Open Mod button will allow you to open mods that
have already been exported to mod file formats such as .zip or .xml
instead of an .i3d file. Alternatively, selecting the New Mod from Game
option will allow you to import game assets to your environment and
use them to create a new mod, creating all of the relevant files in a
directory of your choice. You can freely use any of the assets or
components of them in your new creations.
The Import and Import as Reference options allow you to add 3D
models and assets in .i3d or .fbx file formats to your scene. The
difference between these options is that Import as Reference will create
a link to the file you import. That is, any modifications you make to the
original file you imported as a reference will be instantly shown in the
file you imported to. This behavior does not occur when using the
Import feature – with this, you would need to reimport the file if you
wish to bring over any changes you have made.
If you wish to export the 3D elements of your mod, there are three
options to choose from. The Export all with Files, Export Selection,
and Export Selection with Files options all allow you to convert the
objects in your environment into 3D model file formats, such as .i3d
and .obj. The meaning of with Files is that it will include files like
textures in addition to the base .i3d file. Without exporting with files,
textures are referenced only with absolute or relative file paths and
thus will not appear if shared with others. The functional difference
between the export all and export selection is that export selection will
only include objects that you are currently selecting in your scene as
opposed to every object in your scene.
The Preferences button will open a menu that contains various
settings related to the tools and interfaces of the GIANTS Editor. Not all
of these settings will be relevant to you as a beginner, but feel free to
explore each of them. If you have set preferences in a previous version
of the GIANTS Editor, you can select the Import Preferences option,
and the editor will automatically transfer over your preferences.
Lastly, hovering over the Recent Files button will produce a
dropdown menu of any files you have recently worked with in the
GIANTS Editor. Do note that opening recent files from this menu will
change your scene without prompting you to save. Save any changes
you have made to your scene before opening a recent file from this
menu.
In the next section, we will discuss the Edit menu and the meaning
of each option it contains.

The Edit Menu


The Edit menu contains a list of options related to actions you make in
the editor in addition to the key bindings associated with them. Let us
look at some of these options and what each of them does:
Undo – Undo your last action
Redo – Redo your last action
Clear History – Clear the list of last actions
Cut – Copy and remove an item from your scene
Copy – Copy an item from your scene
Paste – Add a copied item to your scene
Delete – Delete a selected item from your scene
Duplicate – Duplicate a selected item in your scene
Replace – Replace objects of one type with another throughout the
scene
Some other options this menu provides include Freeze
Transformation, Move to Camera, and Interactive Placement. Freeze
Transformations will allow you to set the frame of reference for a
selected object to its parent for different properties. For example, if an
object parented to your scene (top of the hierarchy) is moved from the
origin (global center of your scene) and you apply this option to the
Translate property, it will treat it as unmoved from the origin. Another
example is if your object is rotated and you apply this option with the
Rotate property selected, the rotation arcs will reset as if the object was
not rotated. You will likely not need to use this option until you are a
more advanced creator or find a situation where this is particularly
helpful.
The Move to Camera option allows you to set the position and
orientation of a selected object to that of your camera. This is
convenient if you want to orient something based on your camera’s
perspective rather than trying to estimate with your tools.
Finally, the interactive placement button lets you freely place a
selected object where your mouse is when the left mouse button is held
down if your mouse is intersecting another object in your scene.
Do note the key bindings associated with each action we have
covered as pressing these will be quicker than navigating to the menu.
You are also able to detach this application menu for quick access.
In the next section, we will look at the options in the Create menu.

The Create Menu


The Create menu displays options to insert objects into your scene. In
the GIANTS Editor, there are six primary types of objects:
1. Transform Group

2. Light

3. Camera

4. Audio Source

5. Spline

6. Navigation Mesh

7. Note

8. Primitives (e.g., Cube, Plane, etc.)

Clicking a create option will create the object (see Figure 2-5), add it
in the Scenegraph, select it, and show its values in the attribute window
on the right-hand side of the GIANTS Editor. The Edit Menu section, we
already created a cube primitive by using the Create menu. Try to
explore the other actions of the Edit menu and see the effects of each.
Another random document with
no related content on Scribd:
The Project Gutenberg eBook of
Concerning Women
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

Title: Concerning Women

Author: Suzanne La Follette

Release date: June 4, 2022 [eBook #68226]

Language: English

Original publication: United Kingdom: Albert & Charles Boni,


1926

Credits: MWS, Martin Pettit and the Online Distributed


Proofreading Team at https://www.pgdp.net (This file
was produced from images generously made available
by The Internet Archive/American Libraries.)

*** START OF THE PROJECT GUTENBERG EBOOK


CONCERNING WOMEN ***
Transcriber’s Note:

Obvious typographic errors have been


corrected.

CONCERNING
WOMEN
CONCERNING
WOMEN

by

SUZANNE LA FOLLETTE

ALBERT & CHARLES BONI


NEW YORK 1926

Copyright, 1926, by Albert & Charles Boni, Inc.

Manufactured in the United States of America

To
Ellen Winsor
and
Rebecca Winsor Evans
CONTENTS
CHAPTER PAGE
I The Beginnings of Emancipation 1
II Woman’s Status, Past and Present 19
III Institutional Marriage and Its Economic Aspects 56
IV Woman and Marriage 93
V The Economic Position of Women 157
VI What is to be Done 207
VII Signs of Promise 270

CONCERNING
WOMEN

Let there be, then, no coercion established in society, and the


common law of gravity prevailing, the sexes will fall into their proper
places.
Mary Wollstonecraft.
CHAPTER I
THE BEGINNINGS OF EMANCIPATION

It will be foolish to assume that women are free, until books about
them shall have ceased to have more than an antiquarian interest.
All such books, including this one, imply by their existence that
women may be regarded as a class in society; that they have in
common certain characteristics, conditions or disabilities which,
predominating over their individual variations, warrant grouping them
on the basis of sex. No such assumption about men would be
thinkable. Certain masculine qualities, so-called, may be singled out
by amateur psychologists and opposed to certain feminine qualities,
so-called; but from books about the sphere of man, the rights of
man, the intelligence of man, the psychology of man, the soul of
man, our shelves are mercifully free. Such books may one day
appear, but when they do it will mean that society has passed from
its present state through a state of sex-equality and into a state of
female domination. In that day, in place of the edifying spectacle of
men proclaiming that woman is useful only as a bearer of children,
society may behold the equally edifying spectacle of women
proclaiming that man is useful only as a begetter of children; since it
seems to be characteristic of the dominant sex to regard the other
sex chiefly as a source of pleasure and as a means of reproduction.
It seems also to be characteristic of the dominant sex—I judge from
the world’s experience during the domination of men—to regard itself
as humanity, and the other sex as a class of somewhat lower beings
created by Providence for its convenience and enjoyment; just as it
is characteristic of a dominant class, such as an aristocracy, to
regard the lower classes as being created solely for the purpose of
supporting its power and doing its will. When once a social order is
well established, no matter what injustice it involves, those who
occupy a position of advantage are not long in coming to believe that
it is the only possible and reasonable order, and imposing their
belief, by force if necessary, on those whom circumstances have
placed in their power. There is nothing more innately human than the
tendency to transmute what has become customary into what has
been divinely ordained.
Thus among the Hebrews the subordination of woman gave rise to
the notion that she was fashioned out of man’s rib. She was the
result of a divine afterthought, the sexus sequior of the ancients and
more recently of Schopenhauer, “inferior in every respect to the first.”
Since the Divine Artist had had good practice in creating Adam, it
might logically have been expected that His second sex would turn
out even better than His first; we must therefore lay His failure to the
somewhat sketchy nature of the materials He chose to work with.
This Hebrew myth of the creation of woman has had considerable
effect on her status in the era known as Christian. Being “only a
supernumerary bone,” as Bossuet reminded her, she could naturally
not aspire to a position of equality with man. She must remember her
origin, and be humble and subservient as befitted a mere rib.
She was humble and subservient, as a matter of fact, for an
incredibly long time; so long that there exists a general suspicion
even at the present day that there is something in her nature which
makes her want to be subject to man and to live as it were at second
hand. This thought would be even more alarming than it is, perhaps,
if it were not true that men themselves have stood for a good deal of
subjection during the world’s known history. Chattel slavery and
serfdom were abolished from the civilized world only at about the
time that the subjection of women began to be modified; and men
still endure, not only with resignation but with positive cheerfulness,
a high degree of industrial and political slavery. The man who is
entirely dependent for his livelihood upon the will of an employer is
an industrial slave, and the man who may be drafted into an army
and made to fight and perhaps die for a cause in which he can have
no possible interest is the slave of the State; yet one can not see that
this proves Aristotle’s assumption that there are free natures and
slave natures, any more than the subjection of women proves that
they want to be subjected. What the slavery of men, as of women,
implies is the existence of an economic and social order that is
inimical to their interests as human beings; and it implies nothing
more than this.
Nor does the opposition to the emancipation of women which still
finds expression in this country and in Europe, prove anything more
than that superstitious addiction to custom of which I have already
spoken. Those anxious critics who protest that women have got
more freedom than is good for Society make the mistake of
supposing that Society can exist only if its organization remains
unchanged. The same conservatism has opposed all the
revolutionary adaptations which have fitted the social order to the
breakdown of old forms and their replacement by new ones. Yet
when the need for such adaptations ceases, the growth of the social
organism ceases with it, and we have such a spectacle of arrested
development as the civilization of India presents. Society, in so far as
it has become organic, is governed by the same rules as any other
organism: the condition of its health is growth, and growth is change.
Certainly the present tendency of woman to assume a position of
equality with man involves, and will continue even more to involve,
profound psychic and material readjustments. But to assume that
such readjustments will injure or destroy Society is to adopt toward
Society an attitude of philosophical realism, to attribute to it a
personality, to suppose that it is equally capable of destruction with
the individual, and that it may in some mystical way derive benefit
from the sacrifice of the individual’s best interests. But what is
Society save an aggregation of individuals, half male, half female?
Where you have a handful of people forming a community, there you
have Society; and if the individuals are enlightened and humane it
may be called a civilized Society, if they are ignorant and brutal it will
be uncivilized. To assume that its “interests” may be promoted by the
enslavement of one-half its members, is unreasonable. One may be
permitted the doubtful assumption that this enslavement promotes
the welfare of the other half of Society, but it is obvious that it can not
promote the welfare of the whole, unless we assume that slavery is
beneficial to the slave (the classic assumption, indeed, where the
slaves have been women). When we consider the political
organization known as the State, we have a different matter. The
State always represents the organized interest of a dominant class;
therefore the subjection of other classes may be said to benefit the
State, and their emancipation may be opposed as a danger to the
State.
It is evident from the very nature of the State[1] that its interests are
opposed to those of Society; and while the complete emancipation of
women, as I shall show later, would undoubtedly imply the
destruction of the State, since it must accrue from the emancipation
of other subject classes, their emancipation, far from destroying
Society, must be of inestimable benefit to it. Those critics, and there
are many, who argue that women must submit to restrictions upon
their freedom for the good of the State, as well as those advocates of
woman’s rights who argue that women must be emancipated for the
good of the State, simply fail to make this vital distinction between
the State and Society; and their failure to do so is one of the potent
reasons why the nonsense that has been written about women is
limited only by the literature of the subject.
Feminist and anti-feminist arguments from this standpoint centre in
the function of childbearing; therefore it should be noted that the
emphasis which is placed on this function by the interest of the State
is quite different from the emphasis that would be placed upon it by
the interest of Society; for the interest of the State is numerical, while
the interest of Society is qualitative. The State requires as many
subjects as possible, both as labour-motors and as fighters. The
interest of Society, on the other hand, is the interest of civilization: if
a community is to be wholesome and intelligent, it is necessary not
that the individuals who compose it shall be as numerous as
possible, but that they shall be as wholesome and intelligent as
possible. In general, the interest of the State is promoted by the
number of its subjects; that of Society by the quality of its members.
The interest of the State in this respect has been most concisely
expressed by Nietzsche. “Man,” said he, “shall be trained for war,
and woman for the re-creation of the warrior: all else is folly”, and if
one accept his premises he is exactly right. But there have been
many writers on women who have not accepted his premises—not at
least without qualification—and who have yet failed to observe the
antithesis between the interest which the State has, and the interest
which Society has, in the question of population. Hence, mingled
with the voices of those critics who have demanded the subjection of
woman for the sake of children, have been the voices of other critics
demanding her emancipation for the sake of children: and both these
schools of critics have overlooked her claim to freedom on her own
behalf. It is for the sake of humanity, and not for the sake of children,
that women ought to have equal status with men. That children will
gain enormously by the change is true; but this is beside the issue,
which is justice.
The argument that woman must be free for the sake of the race, is
an argument of expediency; as nine-tenths of the arguments against
her legal subjection have been, and indeed had to be. Unfortunately,
humanity is likely to turn a deaf ear to the claims of justice, especially
when they conflict with established abuses, unless these claims are
backed by the claims of expediency plus a good measure of
necessity. Adventitious circumstances have made the social
recognition of woman’s claims a necessity, and their political
recognition a matter of expediency. Otherwise she would have to
wait much longer for the establishment of her rights as man’s equal
than now appears likely. In the Western world her battle is very
largely won; full equality, social, industrial and legal, seems to be
only a matter of time and tactics. This she owes to the great political
and industrial revolutions of the eighteenth century.
The conscious movement towards freedom for women may be said
to have originated in the great emancipatory movement which found
expression in the American and French revolutions. The
revolutionists did not succeed in establishing human freedom; they
poured the new wine of belief in equal rights for all men into the old
bottle of privilege for some; and it soured. But they did succeed in
creating political forms which admitted, in theory at least, the
principle of equality. Their chief contribution to progress was that
they dramatically and powerfully impressed the idea of liberty upon
the minds of men, and thus altered the whole course of human
thought. Mary Wollstonecraft’s book, “A Vindication of the Rights of
Women,” revolutionary though it seemed in its day, was a perfectly
natural and logical application of this idea of liberty to the situation of
her sex. This remarkable book may be said to have marked the
beginning of the conscious movement towards the emancipation of
women.
The unconscious movement was the outgrowth of the revolution in
industry, brought about by the introduction of the machine. Women
had always been industrial workers, but their work, after the break-
up of the gilds, was for the most part carried on at home. When the
factory supplanted the family as the producing unit in society, the
environment of women was altered; and the change affected not
only those women who followed industry to the factories, but also
those who remained housewives, for where these had before been
required to perform, or at least to superintend, a large amount of
productive work, they now found their function, as the family became
a consuming unit, reduced to the superintendence of expenditures
and the operation of the household machinery—a labour which was
increasingly lightened by the progress of invention. With domestic
conditions so changed, what was more natural than that the
daughters should go into the factory; or, if the family were well-to-do,
into the schools, which were forced reluctantly to open their doors to
women? And what was more natural than that women, as their
minds were developed through education, should perceive the
injustice and humiliation of their position, and organize to defend
their right to recognition as human beings? “If we dared,” says
Stendhal, “we would give girls the education of a slave.... Arm a man
and then continue to oppress him, and you will see that he can be so
perverse as to turn his arms against you as soon as he can.”
Women in the factories and shops; women in the schools—from this
it was only a moment to their invasion of the professions, and not a
very long time until they would be invading every field that had been
held the special province of men. This is the great unconscious and
unorganized woman’s movement which has aroused such fear and
resentment among people who saw it without understanding it.
The organized movement may be regarded simply as an attempt to
get this changing relation of women to their environment translated
into the kind of law that the eighteenth century had taught the world
to regard as just: law based on the theory of equal rights for all
human beings. The opposition that the movement encountered
offers ample testimony to the fact that “acceptance in principle” is
more than a mere subterfuge of diplomats and politicians. The
eighteenth and nineteenth centuries resolutely clung to the theory of
equality, and as resolutely opposed its logical application. This is not
surprising; most people, no doubt, when they espouse human rights,
make their own mental reservations about the proper application of
the word “human.” Women had hardly been regarded as human in
mediaeval Europe; they were considered something a little more
from the chivalrous point of view, and something a little less from the
more common, workaday standpoint. The shadow of this old
superstition still clouded the minds of men: therefore it is hardly
surprising that the egalitarians of the French Revolution excluded
women from equal political and legal rights with men; and that the
young American republic which had adopted the Declaration of
Independence, continued to sanction the slavery of negroes and the
subjection of women. How firmly rooted this superstition was, may
be seen in the following irresistibly funny excerpt from the writings of
that great American advocate of freedom, the author of the
Declaration, Thomas Jefferson.

Were our State a pure democracy, in which all its inhabitants


should meet together to transact all their business, there would
yet be excluded from their deliberations (1) infants until arrived
at years of discretion. (2) Women, who, to prevent depravation
of morals and ambiguity of issue, could not mix promiscuously in
the public meetings of men. (3) Slaves.

Thus does superstition cast out logic. Nor does superstition die
easily. The masculine assumption, usually quite unconscious, that
women are unfit for freedom, bids fair to persevere as stubbornly as
the feminine assumption that marriage offers a legitimate and
established mode of extortion.[2]
If the conscious feminists bore the brunt of the resentment aroused
by woman’s changing relation to the world about her, it was because
their opponents did them the honour of believing that they were
responsible for the change. It was a strangely incurious attitude that
permitted such an assumption to be held; for it really takes a very
feeble exercise of intelligence to perceive that a handful of feminist
agitators could hardly coax millions of women into industry—under
conditions often extremely disadvantageous—into business, the
schools and the professions. I believe the cause of this
incuriousness lay in the very fear aroused by these changes and the
social revaluations which they implied; fear for a relation between the
sexes which, having been established for so long, seemed the only
reasonable, or indeed possible, relation. Filled as they were with this
fear of change, which is one of the strongest human emotions, the
opponents of woman’s emancipation were incapable of objectivity.
Their intellectual curiosity was paralyzed. This accounts, perhaps, for
the utterances of two such eminent philosophers as Schopenhauer
and Nietzsche. They came to the subject strongly prejudiced: the
idea of any claims on behalf of women filled them with disgust;
therefore, as one may take a certain malicious pleasure in observing,
their thought on the subject was hampered by that “weakness of the
reasoning faculty” which Schopenhauer found characteristic of
women. If, when discussing woman, they had not been as “childish,
frivolous and short-sighted” as they believed women to be, they
might, along with lesser minds, have arrived at some understanding
of a subject which has always been thought much more mysterious
and baffling than it really is. The woman of their day may have been
the poor creature they pronounced her to be, but if she was, the
obvious question was, Why? Was she a poor creature by nature, or
because of centuries of adaptation to a certain kind of life? This
question neither Schopenhauer nor Nietzsche took the trouble to
ask. They weighed her as she was—or as they thought she was—
and arrived at the sage conclusion that the West had much to learn
from the Orient concerning the proper attitude toward her.

It would be a very desirable thing [says Schopenhauer] if this


Number Two of the human race were in Europe also relegated
to their natural place [which he conceives to be the harem of a
polygamous household] and an end put to this lady-nuisance,
which not only moves all Asia to laughter but would have been
ridiculed by Greece and Rome as well.

Nietzsche, in the same vein, remarks that

a man who has depth of spirit as well as of desires, and has


also the depth of benevolence which is capable of severity and
harshness, and easily confounded with them, can only think of
woman as Orientals do: he must conceive of her as a
possession, as confinable property, as a being predestined for
service and accomplishing her mission therein.

Such a view of the “weaker sex” of course proves nothing about


women, but it proves a good deal about the effect that their
subjection has had on the minds of men. It is a significant fact that
both Schopenhauer and Nietzsche were Germans, and that in their
day the status of women was lower in Germany than in any other
important country of the Western World, except Italy.
The corruption of both sexes that results from the subjection of one,
has been too convincingly dealt with by other writers to need
discussion here. What I should like to emphasize is the futility of
approaching the so-called “woman question” with any sort of pre-
conceived notion concerning the nature of woman, or her sphere, or
her duty to the State or to Society; and above all, of approaching it
with the idea—the idea that obsesses all reformers—that she is a
more or less passive creature about whom something either ought or
ought not to be done, or, for that matter, about whom something can
be done. What she should and can do for herself is a different
matter; and to that question I intend to address myself before I leave
this subject.

FOOTNOTES:
[1] For a most enlightening treatment of the genesis and nature of
the State, I refer my readers to Franz Oppenheimer’s short treatise
on the subject (“The State,” B. W. Huebsch, Inc., New York). It is
sufficient here to define it as an organization primarily designed to
perpetuate the division of Society into an owning and exploiting class
and a landless, exploited class. In its genesis it is an organization of
a conquering group, by means of which that group maintains its
economic exploitation of those subjugated. In its later stages, when
the conquering class has become merely an owning class, the State
is an organization controlled by this class through its control of
wealth, for the purpose of protecting ownership against the
propertyless classes and facilitating their exploitation by the owning
class. The State is thus the natural enemy of all its citizens except
those of the owning class.
[2] I shall take up this question later; but I might remark that this point
is well illustrated by a suit recently brought in the State of New York.
The former wife of a wealthy man, whom he had divorced twenty
years before, brought action against him for separation and
maintenance. When asked why she had waited twenty years before
questioning the validity of the divorce and her husband’s subsequent
remarriage, her lawyer stated that she had never been in need of
money before, but that she had been swindled out of the money
settled upon her by her husband at the time of the divorce. The
italics are mine; and no comment, I think, is needed.
CHAPTER II
WOMAN’S STATUS, PAST AND PRESENT

I
Woman tends to assume a position of equality with man only where
the idea of property in human beings has not yet arisen or where it
has disappeared: that is to say, only in extremely primitive or highly
civilized communities. In all the intermediate stages of civilization,
woman is in some degree regarded as a purchasable commodity.
Her status varies widely among different peoples: there are primitive
tribes where she holds a position of comparative independence; and
there are civilized peoples, on the other hand, among whom she is
virtually a slave. But always there is present the idea of
subordination to a male owner, husband, father or brother, even
though it may survive only in ceremonial observances, e.g., in the
ritual practice of “giving in marriage,” or in certain legal disabilities,
such, for instance, as the law entitling a man to his wife’s services
without remuneration.
The subjection of women, then, bears a close intrinsic resemblance
to both chattel slavery and industrial slavery, in that its basis is
economic. As soon as civilization advances to the point of a
rudimentary organization of agriculture and industry, woman
becomes valuable as a labour-motor and a potential producer of
children who will become labour-motors and fighters. Her economic
value, or chattel-value, then, is a commodity for which her family
may demand payment; and hence, apparently, arises the custom of
exacting a bride-price from the man who wishes to marry her. Once
established, this custom of barter in marriage strikes root so deeply
that the woman who has brought no bride-price is often regarded
with scorn and her children considered illegitimate; and the idea of
male ownership that accompanies it becomes so pronounced that it

You might also like