-
Notifications
You must be signed in to change notification settings - Fork 8
Setting up a Development environment
We add new features to eAdventure using branches, but the most stable code is always under the master branch, while the other branches hold code we are currently working on. We organize these branches according to milestones defined in our roadmap.
The Git command to clone the repo is:
git clone https://github.com/e-ucm/ead
You may want to check that you have all the necessary tools to run & develop eAdventure.
Please check you comply with the following requirements before you go on:
- Java 7. For most of the modules (only android modules are the exception) the default Java version is Java 7 due to is the only current supported version. Android project still require Java 6.
- Although it is possible to use and Oracle JDK (Windows, MacOSX) or a OpenJDK (Linux), we are going to distribute the platform with a specific JRE (to minimize the installation and dependencies issues) with the general available download. We are using the Java JarWrapper tool that suggest to use the Alexko OpenJDK unofficial builds. From now on (2014/02/25) the default version for eAdventure development is openjdk7-u45-b31
- Maven 3.1.1 installed.
-
Android SDK installed.
- Additionally, Andrioid SDK Platform Levels 10 and 15 need to be installed, since its the platform level used by eAdventure in Android for the engine and the editor respectively.
- ANDROID_HOME environment variable pointing to Android SDK directory.
Right now, most of our developers are working on Ubuntu, using different IDEs (some use Eclipse, others use Netbeans and we even have IntelliJ fans :)). So, if you work on Ubuntu, it should be easy for you to get all settled with your favourite IDE by following the next instructions:
- Install Maven 3.1.1
- Install JDK >= 6:
sudo apt-get install openjdk-6-jdk - Download and install Android SDK, and set ANDROID_HOME environment variable:
cd /opt/
sudo wget https://dl.google.com/android/android-sdk_r22.3-linux.tgz
sudo tar -xzvf android-sdk_r22.3-linux.tgz
sudo mv android-sdk-linux android-sdk
echo "ANDROID_HOME=/opt/android-sdk" | sudo tee -a /etc/environment
- Android SDK binaries are compiled to 32 bit libraries, so it is needed to install the 32 bit compatibility libraries:
-
Option 1:
sudo apt-get install ia32-libs -
Option 2 (less dependencies):
sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386and if you want to use the emulatorsudo apt-get install libsdl1.2debian:i386
-
Option 1:
- Install Platform tools, build tools, and APIs:
- Option 1: Using the ADT Manager inside Eclipse
- Option 2: Install using the terminal
cd /opt/android-sdk
# List available packages to install or update
./tools/android-sdk list sdk -u
1- Android SDK Platform-tools, revision 19
2- Android SDK Build-tools, revision 19
3- Documentation for Android SDK, API 19, revision 1
4- SDK Platform Android 4.4, API 19, revision 1
5- SDK Platform Android 4.3, API 18, revision 2
6- SDK Platform Android 4.2.2, API 17, revision 2
7- SDK Platform Android 4.1.2, API 16, revision 4
8- SDK Platform Android 4.0.3, API 15, revision 3
9- SDK Platform Android 4.0, API 14, revision 3
10- SDK Platform Android 3.2, API 13, revision 1
11- SDK Platform Android 3.1, API 12, revision 3
12- SDK Platform Android 3.0, API 11, revision 2
13- SDK Platform Android 2.3.3, API 10, revision 2
14- SDK Platform Android 2.2, API 8, revision 3
15- SDK Platform Android 2.1, API 7, revision 3
16- SDK Platform Android 1.6, API 4, revision 3
17- SDK Platform Android 1.5, API 3, revision 4
...
# Now install minimum components: platform-tools, build-tools and required APIs (packages 1,2 and 8)
echo y | ./tools/android update sdk --filter 1,2,8 --no-ui --force
We have also developers working on Windows. It should be easy for you to get eAdventure running on this OS as well.
- First, make sure you have a Java Development Toolkit (JDK) installed and properly set up. You can use Oracle's, but only version 7. Although we compile to source level 1.6, there's a bug in Oracle's JDK6 that will break the compile process of eAdventure. Download JDK 7 from here
- After installing JDK, make sure you add JDK_PATH\bin to your PATH environmental variable, and that you create an environmental variable called JAVA_HOME that points to the path where you installed JDK.
- Next, install Apache Maven 3.1.1. You can get it from here. Follow the instructions provided there.
- NOTE: Make sure you have properly set up the "M2_HOME" variable before you go on.
- Get a git client to download the code. For example, you could use SourceTree.
- Use your client to clone the repository. You will need to input the next URL: https://github.com/e-ucm/ead.git.
- The last thing you need to do is to import the Maven project to your IDE. For example, you can see how to do it for Eclipse in the following section.
- First, you need to be sure that you have installed the Maven plugin on your Eclipse. Follow instructions provided here.
- To import the Maven project, on Eclipse click File>Import>Maven>Import existing Maven project and select the main folder where you cloned the eAdventure repo. Eclipse may also ask you to install new Maven-related plugins, but the process is pretty straightforward.
- A good while after (take into account that Maven needs to resolve and download all dependencies), you will get 10 different projects in your Eclipse. (AÑADIR DESCRIPCIÓN DE CADA PROYECTO)
In order to simplify the integration between m2eclipse (Maven integration for Eclipse) and Android, it is recommended to install the plugins Eclipse m2e plugins.
#Troubleshooting Don't be scared if along the way Eclipse prompts an error on the maven-java-formatter-plugin:0.3.1. That may mean you just need to update your Google plugins on eclipse. (NOTA PARA MI: PROBAR SOBRE MÁQUINA VIRTUAL. DA LA SENSACIÓN DE QUE LA VERSIÖN DE LOS PLUGINS DE GOOGLE INFLUYE Y MUCHO, PERO AHORA MISMO ES IMPOSIBLE SABERLO CON CERTEZA)
eAdventure - eUCM research group
- Setting up a Development Environment
- Contributing Guidelines
- Build Process
- Project structure
- Schema
-
Engine
- Files paths and FileResolver
- Binding Schema elements with Engine elements
- Managing the game view through Layers
- Game loop and scene management
- IO
- File Resolver
- Assets: Converting schema objects to engine objects
- Engine Objects
- Actors
- Effects
- Testing the engine
- Editor
- Remote communication
- Release Process
- Other documentation