Talk:A.L.E.S.
From ALESwiki
Questions brought up by this page include how many species? How large is the game board? How will the game board be divided? Etc. Etc. Etc.
| Table of contents |
Species
I'm going to suggest that we have only one herbivore and one carnivore. I'm not sure how to handle plants, whether there should be a food plant or whether nutrition should be a property of terrain.
I would suggest having a set of terrain types (desert, lake, forest, field, swamp, ocean, etc.) and giving the base object class a matrix for health and happiness effects in each terrain type. e.g. a fruit tree (derived from plant, which would be derived from the base object) might get -100 health per cycle in a desert but +10 in a forest and +30 in a field. A coyote would obviously have very different preferences.
Animals would need a hunger property, in addition to the health and happiness, and at some point will need to find food.
Just some thoughts, the basic premise sounds good to me.
terrain (john)
So that would make an object tree something like:
object -- lifeform -- plant
| -- animal
|
----- terrain -- desert
| -- forest
------- river
or would we have one block object terrain that has properties such as soil Quality: 1 (rich) to 5 (poor) that effects how a lifeform object interacts with it?
The little plus
The little plus sign is a great way to add a comment to this discussion.
Planning (Larry)
I would prefer to keep this as simple as possible.
At first, we can create 3 base types: plant, animal and terrain.
We could divide the terrain into a "chessboard"-like area and let people add either a plant or an animal to a random space.
Then, have a counter that cycles though a list of events that can occur each day. Maybe 2 or 3 events can happen each day. Also, each day, all the inhabitants get one day older, so after many days, their chance of dying gets higher.
There should initially be some very basic object interactions. Like, if the animal is close to a plant, it might eat it. If the animal is close to another animal it can either eat, fight or mate... etc.
Also, I have some basic programming skills, but I'm not a graphics programmer. I'm willing to put as much time as needed to make this work, but I hope some of you other guys have some idea of how this is going to work.
larry
UI (John)
Larry brings up a good point about the importance of the UI and project priorities.
I think that once we have these basic classes fleshed out, and a working user interaction, it will be a simple matter to add subclasses and methods as seasoning to the project if time allows.
Programming Language (Larry)
I've been doing some research and there seems to be a lot more resources for C/C++ programming than for Java game Programming. There are even books written for Tile-based Game programming, but its written in C++. Sure, you can try to convert, but when we're down to the wire, wouldn't it be nice to have more reference material?
Are we sure we still want to use Java? Look at this: http://www.gamedev.net/reference/list.asp?categoryid=44
java (John)
I'm not a coder, so its hard for me to answer that question. But I know that others have managed to write games in Java.
http://www.civtarion.com http://fivedots.coe.psu.ac.th/~ad/jg/
Useful Links (Larry)
I thought it would be good if we set up a LINKs page to post useful sources we find while doing research.
Problem checking out files
When trying to check out the .vpp file to add my changes I received a file viewer error. I'm assuming the problem is on my end, but has anyone else had problems with checkout/checkin?
I was able to check in the version I had previously downloaded and made local changes to. It doesn't appear that anyone else checked it out in the interim, so the changes should be safe.
Checking OUt files (John)
When you check out a file, it doesn't download it to you. So as long as the little "checkout" icon is there, you should be okay. Then when you click on the file it downloads.
codebase 0.1 available
First pass at a codebase has been uploaded. Version 0.1 of all files are on pales. Sorry for the delay, my attempts at automated code generation trashed everything, so this has been completely redone. Please use the checkout feature of pales when making updates. Currently the main program (ALES.java) only launches the UI, no updating is taking place. I am currently working on Animator.java and ALES_UI.java
Today's meeting
Hopefully everyone knows to meet at the usual location at 1:00 today. I may be a little (~15 minutes) late, but will be there. I tried to add an event to the calendar in pales but got this error:
Warning: Missing argument 2 for db_loadhash() in /home/johnpdai/public_html/ales/pales/includes/db_connect.php on line 92
Warning: Cannot modify header information - headers already sent by (output started at /home/johnpdai/public_html/ales/pales/includes/db_connect.php:92) in /home/johnpdai/public_html/ales/pales/classes/ui.class.php on line 515

