Skip to content

warofants/wwa

Repository files navigation

World War of Ants

World War of Ants *the game* is about managing a live colony of ants, making sure the colony is fed, maintained, defended and prosperous. The object of the game is to defeat all surrounding rival colonies within the game-world. The player can choose from various ant species, each with its own unique set of characteristics and traits, and each requiring a completely different strategy to win. Other rival colonies can also invade the player's colony.

For now, the game will be a turn-based strategy game (see phases of development, below). The player will have only so many moves they can make before their turn is over. The game will provide some challenges and obstacles that the player has to work through in order to succeed.

Currently, the game is built with Java and uses a command line interface for player input.

World War of Ants *the project* is intended to introduce beginners at any stage to Java, GitHub, open-source projects, and working with a team. It is also meant to give people an opportunity to break out of that online tutorial cycle, where things never seem to really materialize into something greater.

FAQ

Why Java?

While this may be heavily debatable, Java is generally a common "first language" for many programmers.

I don't know anything about anything, how can I start?

For now, I highly recommend you get started with this MOOC (Massive Open Online Course). It's free, and offers some great tutorials with an automated pass/fail system. Once you complete the first two weeks of the program (it shouldn't take two full weeks), head over to the Issues tab on GitHub and look for anything labeled as

I know a bit of Java, but I don't know anything about Git or GitHub, how can I start?

Git and GitHub are not the most intuitive tools to learn. For now, I highly recommend you start with this YouTube video series:

IMAGE ALT TEXT HERE

I feel comfortable with Java and GitHub, but I'm still not sure where to start.

The wiki home page is a good place to start. From there, familiarize yourself with the source code management doc. Once you're ready to contribute code, head over to the issues page and find something there that you want to work on. Most issues are associated with a project, where you will find a list of mentors for each project. The mentors are a group of developers who have more experience and are willing to lend a helping hand if you need it.

I am so busy, I don't have much time to contribute.

Totally fine! Contribute as much or as little as you want. This project is intended to be low stress, low pressure. Come and go as much as you would like.

I am very experienced with Java and GitHub and I'd love to help the project where I can.

We are always looking for more experienced programmers to help out as a mentor, code reviewer, or even a project manager. You can DM me on Discord (stranger#4525) or email me

Why can't we have multiplayer, and 3D graphics, and online functionality, and...

Woah there cowboy! Those are all really great goals, but for now, the focus is keeping things simple and approachable for aspiring programmers of all experience levels.

Phases of development

Phase I 👈 [we are here]
  • Build the MVP, UML and GitHub layout for the project's foundation
  • Develop a very basic console-based game in Java
  • Add additional features or enhancements
Phase II
  • Develop a basic top-down 2D game with roguelike stylizing and design traits
  • Create new beginner-friendly mini-games within the main game
  • Build development tools to automate some processes
Phase III
  • Expand upon existing 2D game
  • Possibly integrate 3D graphics into existing scenes

Getting Started

Prerequisites

Java Development Kit (JDK)

First, you'll need to install the Java Development Kit (JDK). Considering compatibility and other issues, it was decided that OpenJDK 8 would be used to develop this project.

We recommend getting OpenJDK 8 from AdoptOpenJDK, select OpenJDK 8 and choose HotSpot as the JVM.

If you do not want to use that you can also use Redhat's openJDK.

Integrated Development Environment (IDE)

You'll also need to install an Integrated Development Environment (IDE) to make your own life easier. There are several good options to choose from, so feel free to pick one. A few options below:

  • Visual Studio Code (code-oss) (Very popular, fast & lightweight, feature-rich IDE)
  • Eclipse (Written in Java, a long-time favorite, feature-rich IDE)
  • NetBeans (A good feature-rich "first" IDE)
  • IntelliJ Community IDEA (Quickly growing in popularity, resource-heavy, feature-rich IDE)

Here are the Stack Overflow Developer Survey Results from 2019, which gives you an idea for which IDEs are being used in the industry.

Git

You'll also need to install git on your computer. You can find it for your particular Operating System by following this link

Anyone is welcome to contribute. Feel free to fork this repository, and make a Pull Request when you've got something working. Contact anthonyLuttrell if you'd like to request additional permissions.

Getting the code

To get World War of Ants locally you need to clone the repository, it is recommended to make a fork first so you can mess around in the code without affecting the original.

You do this by clicking fork in the top right, then open a command prompt, powershell or terminal where you want the code and running:

git clone https://github.com/YOURGITHUBNAME/wwa.git

If you just want the latest version without making a fork run:

git clone https://github.com/warofants/wwa.git

Building

To build the game into a runnable jar you need to run

mvn package

This jar file can then be run using the command

java -jar FILENAME.jar

Contributing

Please read CONTRIBUTING.md for details on the process for submitting pull requests to us.

Resources

Authors

See also the list of contributors who participated in this project.

License

GNU General Public License