You must be logged in to post messages.
Please login or register

Age of Empires / Rise of Rome / Definitive Edition
Moderated by Suppiluliuma, PhatFish, Fisk, EpiC_Anonymous, Epd999

Hop to:    
Welcome! You are not logged in. Please Login or Register.28 replies
Age of Empires Heaven » Forums » Age of Empires / Rise of Rome / Definitive Edition » AOE/ROR Clone
Bottom
Topic Subject:AOE/ROR Clone
Mordan
Clubman
posted 03-31-07 06:13 AM ET (US)         
Hello Moderators

Can I talk about a ROR Clone here without breaking the CoC?

Because I'm making one in Java

Mordan


Mordan aka LZ_Mordan ROR-EE

[This message has been edited by Mordan (edited 03-31-2007 @ 06:14 AM).]

AuthorReplies:
Dr Lorenzo
AOEH Seraph
posted 03-31-07 07:30 AM ET (US)     1 / 28       
I'm behind on the times, but how do you define clone?

DR LORENZO
AoEH | Woad Creations Alumni
I of course meant bastard in a positive way! - Kor
I just sort of chop away at it when it gets long enough. The ladies love it. - Obese, on shaving
Lorenzo is kind of like that relative everyone knows about but won't talk about. - Crimson Knight
We already knew about the mass murders and gang rapes and ethnic cleansings, but now they've resorted to ENCRYPTING PEOPLES ELECTRONIC DOCUMENTS! - drahnier
Mordan
Clubman
posted 03-31-07 12:12 PM ET (US)     2 / 28       

I have become so frustrated with the lack of support in AOE/ROR that I decided to clone the game in order to fix the bugs and multiplayer instability.
For some reason, my game hangs for 1 second every 3-4 minutes, among other issues.
Also, once you have a working clone, you can improve the game. But I'm not sure about legal issues, like can you re-use the sprites from SLP files for private use only?
If not, than I will have to find people who can make graphics, so that my clone does not re-use anything from the original. We would re-use only the game ideas such as the civilizations and the balances.

Cloning is very hard however with passioned people, it is feasable.
The gameplay will "feel the same", units will "behave" the same. The great thing is that It can be improved and patched by the educated people of the community.

The name of the game will have to change too


Mordan aka LZ_Mordan ROR-EE
LittleFreak
Clubman
posted 03-31-07 12:28 PM ET (US)     3 / 28       
As far as I know, you can edit all of the files except for the executable itself, but I'm not at all sure about it.

While sausages are tasty, you might cut your finger with that pencil over there.
Free Scarler
Clubman
posted 03-31-07 01:08 PM ET (US)     4 / 28       
Mordan, try this: http://aoe.heavengames.com/dl-php/showfile.php?fileid=1883

It lets you edit a file called empires.dat and it's completely legal to do that. The file contains most of the unit data, tech data and such, enabling you to change unit HP, attack, armor and so on and you can change what the technologies in the game do. For example, you could make the bronze shield tech give +2 pierce armor instead of +1. Or you could even add more technologies to the game, such as a bronze shield for archers!

As for the "game hangs up every few minutes": this might have to do something with the sound/music files. Pay attention whether it only uses when one of the music tracks has ended - in this case, turning the music off will get rid of the problem. You can still listen to the music - just make a playlist for Windows Media Player containing the Rise of Rome soundtracks, which are in midi format. Then, let your media player play the tracks while you're playing.

Oh, almost forgot it... if you have questions about how to use the editor, just ask me. I'm using a similar one for AOE2 a long time already and so I can help you to prevent the editor from crashing, change existing unit stats, add new units and techs, and more.


uh, something isn't right here... anyway, my World War 3 Mod for AOKTC can be downloaded at www.box.net/shared/bvrxatdsoj but the remainder of my signature seems to be gone for good...
let's see whether I can make my campaigns visible here (they only work with my mod) http://www.box.net/shared/48xmrzdu94 http://www.box.net/shared/xl9rtl5k17well, it seems to work!

[This message has been edited by Free Scarler (edited 03-31-2007 @ 01:11 PM).]

Mordan
Clubman
posted 03-31-07 03:12 PM ET (US)     5 / 28       
thx Free Scarler
I will take a look at it. And yes, it is the music files that probably hang my system. And I'm too lazy for setting up a play list

But I still want to clone ROR in order to patch it and add features to the game without ripping off the Soul of the Game.
-multiplayer stability and improved response times
-game synchronization (so if you get disconnect, the game simulation is saved and the game can be continued when when the player who dropped, reconnects.
-watchers
-Computer Power Index so you can boot people with bad computers. Network Latency is a different value.
- New colors
- Up to 12 players
- New Maps
- Toroidal Maps
- No Fog of War option. (for new strategies)
- Balance Tweaks to bring the AOE community and the ROR community come together. (make Scythe Chariots cost gold)
- Better statistics about the Players' achievements
- Improved PathFinding + Formations
- Cheat Protection, I have a method that is 100% secure vs cheaters + the fact that the Java language is very secure. And nowadays Java is fast enough for a RTS game.

Just to name a few.

These are the reasons why I want to clone AOE/ROR. This is a life project.
PS: Do what Blizzard would have done and more.

Now do you think I can re-use the sprites in the SLP files?


Mordan aka LZ_Mordan ROR-EE

[This message has been edited by Mordan (edited 03-31-2007 @ 03:14 PM).]

LittleFreak
Clubman
posted 03-31-07 04:00 PM ET (US)     6 / 28       

Quoted from Mordan:

make Scythe Chariots cost gold

No. Just no.


While sausages are tasty, you might cut your finger with that pencil over there.
Max_CRAZY
Clubman
posted 03-31-07 08:19 PM ET (US)     7 / 28       
hey man, do you have msn or something similar? ive been playing aoe multiplayer since 1999, and i know some of the best players there, i can help you some...

btw do u think its possible to add new maps?

-game synchronization (so if you get disconnect, the game simulation is saved and the game can be continued when when the player who dropped, reconnects ?? (it was added in age2) how would u do it?

-up to 12 players? how?

about cheating multiplayer protection... the new site which will support age series will have an awsome anti-cheat system (www.IGZones.com

and its legal yes... its an AOE mod like... Counter Strike is a mod game from Half Life^^


anyways if u have msn, add me max_crazy_@hotmail.com

G1ggy
Clubman
posted 04-01-07 00:12 AM ET (US)     8 / 28       

Quote:

Because I'm making one in Java

Good luck...

BBalazs
Clubman
posted 04-01-07 02:13 AM ET (US)     9 / 28       
I'm not sure if I'm late with this, but he says he's cloning the game, that is:

He tries to write his own "Age of Empires", starting from zero in order to mimic how it works. The only files a clone (sometimes) uses from the original game are graphics and sound data - so there is no fear of the executable being modified; after all, this is not about MODIFYING age of empires; but programming a game that looks and works a 100% like age of empires.

The good thing in cloning, as such, is that even though it seems to make no real sense to make something that has already been made, you still have the source code (which is completely written by yourself(!)) - and, just because it is completely yours, you may modify it in any way you'd like, thus opening the way for patches, balance corrections, etc.

Edit: Ehmm.. I hope I managed to define what a 'clone' is...

Edit 2: Reusing the sprites in the SLP files... Noone will ever care about it, it is just the same as extracting unit graphics and uploading them to the granary in the form of a bmp file. Scenario instruction bitmaps of the original campaigns available for download are no different!

[This message has been edited by BBalazs (edited 04-01-2007 @ 02:16 AM).]

Nikokol
Clubman
posted 04-01-07 04:50 AM ET (US)     10 / 28       
We are making a new expansion, called the Dawn of Man. Check the other thread for more info.

Tribulation Designs
I wish my English was better ...
Mordan
Clubman
posted 04-01-07 06:40 AM ET (US)     11 / 28       
Do you know people who are able to program in Java Max_CRAZY ?
Right now I don't need Game Experts, I need programming experts who are able engineer the Clone with me.

I will come back to you when I need people for balancing ROR units so most AOE people are happy.
But if you don't mind, tell me the 5 most annoying things that AOE players find in ROR? I'm curious. I know that Scythe Chariots not costing gold pisses many players off.

BBalazs. You got it right. But about re-using the sprites. I'm not sure ES will not care about it. The Clone will make them lose money in the future. Why buying AOE 4 when you have the perfect game for free controlled by a communiy process ?

PS: Don't think the Clone will be finished in 6 months. I started 1 week ago. Currently I'm making a prototype to prove the feasability of drawing 2400 units (each unit is an animation) on a Huuuge map (2000 tiles large) in 1280*1024 resolution (with OpenGL I might get a good frame rate) . So right now I'm working during my free time on the Isometric map and the plumbing to convert SLP files to a Java animation format. Any help welcome because I still don't fully understand the SLP format. I tried email the Josheph Knight but no answers.

PPS:
12 players = just add 4 new player colors, revamp the user interface to support 12 player slots
synchro: the strategy
1-a player drops..
2-the simulation pauses..
3-the game view stays visible for other players.
4-The dropped player reconnects to the paused simulation with the Ip of one the other players
5- the dropped player downloads the game simulation state from undropped players
6- synchronization is achieved
7- the game is unpaused and continues as normal

Adding new maps is easy when you control the source code.


Mordan aka LZ_Mordan ROR-EE

[This message has been edited by Mordan (edited 04-01-2007 @ 06:50 AM).]

Rasteve
Clubman
posted 04-02-07 05:58 AM ET (US)     12 / 28       
I'm interested, but unfortunately I will be tied up for about 2-3 months creating a mod of my own.

I know the basics of Java/object-orientated programming - and I could help you with any queries.

SLP - it is probably best that you rip each graphic from the graphics.drs file and convert to jpeg. You can then allow for other developers to easily add new graphics (in the long run you will probably get around the problem of using ensemble studios graphics).

What are your deadlines/targets?

What development software are you using?

BBalazs
Clubman
posted 04-02-07 01:45 PM ET (US)     13 / 28       
To my best knowledge there is no real development tool for Java. You get Windows Notepad and live happily ever after - or download some 3rd party app.

He says he will make some progress in half a year, but it will most likely take more time. The targets (goals) are also there - read more carefully next time

If you convert graphics to jpeg, convert them to lossless jpeg! And remember that sometimes loading a jpeg takes time - if you have problems with that, try to use the *.rgb file format (if I recall correctly, it is: Silicon Graphics RGB file format. It is also available in an RGBA version, which is basically the same with an extra alpha channel) - if you have problems with how to make rgb graphics, google for 'Silicon Graphics RGB' - something will definately pop up. Also, XnView can load and save RGB files (not sure about RGBA).

Mordan
Clubman
posted 04-02-07 02:14 PM ET (US)     14 / 28       
Hi Steve

I'm using Eclise and the GTGE gaming engine. I'm planning to drop GTGE after the prototype.

My target is July 2007 for a working prototype where you see the map with all the units on it, tiles and animations are displaying correctly. Interface has the Mini map and you can select units and see their states

The game architecture will follow the Model-View-Controller pattern.
Model=Model the world with a map and units on a map

View=Shows the model to the user. Uses graphics to display the map and units

Controller=Listen to the input of the user, create a command and updates the View and/or the Model.
The Attack Command is a Model command because it only updates the Model. The Model changes the state of the Unit to ATTACKING, and if the View currently displays that unit, the View will display the attacking sprite.
The Scrolling Command is a View Command because it only updates the View,as the user wants to see a different view of the map.

It is critical to understand this Architecture, before doing any programming work. If you are further interested, give me a shout. Like how do you think we can do the PathFinding? Is it updating the View or the Model?


For the Graphics in .drs

I have extracted them all in .bmp with their .txt file and masks.
what has to be done: read them in bmp (no native support of bmp in Java), convert them to PNG or JPEG ( I think PNG is better), save the new graphics
Once you have that, we can create our own animation object that will encapsulate all the animations for a given Unit:
The Animation will have an array of BufferedImage for each Unit state:
moving (8 possibilities), attacking(8 possibilites), standing, dying, rotting.
Each animation will have to be displayed according to the value in the txt file, but what does mean those two values in the .txt file ?
Also, every unit will belong to a player ID. Each player ID will have a color, I have to find a way to change the default blue color to another color, red for instance, on the fly. We cannot store in memory every sprites 8 times (blue,red,yellow,brown,orange,green,grey,teal). So does anyone know how to use the sprite mask (starts with S in the SLP file)?

Anyone serious about this may contact me on skype, mordan9 is my id. We need to talk. I can teach programming in Java. But beware it is hard but at least we have a lofty goal!


Mordan aka LZ_Mordan ROR-EE
Rasteve
Clubman
posted 04-02-07 03:20 PM ET (US)     15 / 28       
1. I am interested but I won't be able to get heavily involved until after this summer.

2. I have some freeware software to build up classes, coding etc. I will see if I can get a descent development version.

3. Pathfinding can be implemented through a calculation on the model:

a. Each unit has 3 attributes, 1 is the origin (coordinates), 1 is the destination (coordinates) and the third is an array of 5(? maybe more) steps.

b. When the unit is commanded to move (and the destination attribute is populated/updated), a calculation is performed from the origin to the destination, where everytime a 'turn' in direction is required the coordinates are added to the array.

c. The calculation ends when either the array ends or the final entry = the destination.

d. If the destination does not equal the final entry in the array then another calc is performed when origin = final entry.

e. Everytime the unit moves the view is updated? Or a screen refresh every fraction of a sec?

4. Graphics.drs - the text file values are coordinates used by the game (so the graphic is positioned correctly).

5. Can you not make the colour code for blue interchangeble for the colour code set for each player?

6. I just added you to MSN IM.

Mordan
Clubman
posted 04-02-07 07:18 PM ET (US)     16 / 28       
1. I am interested but I won't be able to get heavily involved until after this summer.

no problems

2. I have some freeware software to build up classes, coding etc. I will see if I can get a descent development version.

I strongly advice you to download www.eclipse.organd try it out. It is the best tool out there to code in Java IMO.

3. Pathfinding can be implemented through a calculation on the model:

right

a. Each unit has 3 attributes, 1 is the origin (coordinates), 1 is the destination (coordinates) and the third is an array of 5(? maybe more) steps.

b. When the unit is commanded to move (and the destination attribute is populated/updated), a calculation is performed from the origin to the destination, where everytime a 'turn' in direction is required the coordinates are added to the array.

yes, we use A* for the path finding. i did not understand all. the array contains all the map tiles from origin to destination ?

c. The calculation ends when either the array ends or the final entry = the destination.

d. If the destination does not equal the final entry in the array then another calc is performed when origin = final entry.

yes right. that's the idea! you do that on the model. actually the model is a double array int[][] where (x,y) is a tile

e. Everytime the unit moves the view is updated? Or a screen refresh every fraction of a sec?

I'm not sure yet. I think it is more efficient if the View is updated at each animation turn, or when the Model requests the view to update itself by calling View.update()
but actually, my prototype updates itself as fast as it is possible, frame rate of 70/s so that's every 14 milliseconds.

4. Graphics.drs - the text file values are coordinates used by the game (so the graphic is positioned correctly).

ok, but I did not crack it completely. if I draw the first image of slp 320 (cav dying) top left corner at (x,y). This is G0100320.BMP. So i look in C0100320.TXT and see 14,46. But remember, I'm drawing the dying cav at (x,y)
Now the next image in the animation
It is G0200320.BMP right? In C0200320.TXT I see 13,50
At what position on the screen I have to draw that 2nd frame?

So we have the same referential, know that in Java, the origin (x=0,y=0) in on the top-left
x ----------->
y
|
|
|
|

So if (x,y) = (14,46) for the first image, (x',y') = (13,50), knowing x and y, what is the formula to find x' and y'. Modders! You should know that if you made your own animations?

5. Can you not make the colour code for blue interchangeble for the colour code set for each player?

yes that is feasable but we have many shades of blue. So we would have to replace shade for shade. Also is it efficient to scan every pixel of all images to be displayed every frame (1 frame ever 14 millis)?
I guess that's why there is the mask image, because on those one it is easy to do that. pseudo code =
if pixel not black or white, map shade of blue to shade of red.
This new mask image is red and will be used for player 2 and can be kept in memory for re-use. keeping in memory that image mask for the Legion unit is definitely mandatory

There is no free lunch.


Mordan aka LZ_Mordan ROR-EE
Rasteve
Clubman
posted 04-04-07 10:45 AM ET (US)     17 / 28       
Sorry, another list!

1. Sign me up and I will give you as much time as I can. Are you planning on creating a forum or web for communicating design?

2. I will not get too heavily involved in the core programming until I am free (hopefully July/August), but until then I will help with design and providing high-level algorithms you could translate into source code.

3. Pathfinding - a better explaination.

Each unit has the following attributes (of course, as well as others):

Origin (the position x,y of unit on map)
Destination (the position x,y of the destination of the unit)
Destination Unit (special cases, fixed and cancelled)
Pathfinder (an array of several positions x,y on the map)

Lets say we have two units, they can be anything from a tree to a catapult. Label the units A and B.

Example:
A.Origin = (10,10)
A.Destination = (null) i.e. not set or set to a special case
A.Destination Unit = (0) i.e. set to nothing
A.Pathfinder = empty array

B.Origin = (20,20)
B.Destination = (null) i.e. not set or set to a special case
B.Destination Unit = (0) i.e. set to nothing
B.Pathfinder = empty array

If A is commanded to attack B, or cut down B etc then the following assignments occur:
A.Destination = B.Origin
A.Destination Unit = B.Unique ID (an id used to determine the instance of B)

As A moves, A.Origin is updated
If B moves, B.Origin is updated, as so is A.Destination

As soon as the A.Destination is updated, a calculation occurs where a straight line is drawn from A to B. Then, if any terrain, units etc are in the way from the start of the line a change in direction is used to redraw the line.

Not every single step is required, just an advancement on so many steps. The A.Pathfinder array is populated with an array of coordinates (where the change in direction occurs).

A.Destination being updated will trigger A.Pathfinder re-calculating. If the unit reaches the final step in A.Pathfinder but is not at the destination A.Pathfinder will be updated.

You need a special case where the destination is not a unit but a place on the map. This can either use a pre-set value or assign the map a unit id. The latter is a simpler approach but could eat up more memory.


4. Graphics.drs

The coordinates may actually be the central coordinates of the graphics. In other words, when using the graphic for a unit at coordinate x,y on the map, re-alignment is required so that the centre of the image (given by the coordinates in the text file) = x,y on the map.

5. Colours

I am not sure but you may find that there are only 2 shades of blue, 1 being a shadow?

When you rip the images from drs you should get three files. 1 is the graphic, 1 is the coordinates, 1 is the extra details. The extra details will be a white silhouette of the unit, and the player colour added in the same location as the blue colour in the original graphic. There is another colour used for shadow.

I guess we could use this file to mask the graphic. Set the colour to the player colour and then add to the graphic. Any parts which are white (i think, or it may be black) are not overwritten.

[This message has been edited by Rasteve (edited 04-04-2007 @ 10:47 AM).]

timmay30
Clubman
posted 04-08-07 07:35 PM ET (US)     18 / 28       
This sounds great. I played original AOE when it came out and would absolutely love to see it brought back to life with better balancing, because the rest of the Age series (I've played them all extensively) gets worse and worse with each release.

Couple things that immediately come to mind:

Infantry - reduce cost a tad + bonus vs buildings
Any archery - greatly reduce attack vs buildings

^^^ I think that's all that is needed to take some edge off the archer dominance in this game, although Choson might need a modification for being too OP

Then, if you could somehow place a cap on number of buildings any player could maintain at one time that would be GREAT. It's tiresome to have to spend another half hour knocking down hordes of towers/fortresses/TC's etc when you clearly have the game won. Maybe for your AOE clone set it up so that the number of buildings allowed per player is dependent on map size.

Other than that, there isn't too much else I'd want added in... too many noob features sucks the fun out of it.

GeorgeROR
Guest
posted 04-09-07 01:03 AM ET (US)     19 / 28       
*edited*

I am too confused here. is not a clone a copy? is this going to be for profit too?

on this java, will it be a full screen program? do you have an example out there of this being done to another game?


[This message has been edited by GeorgeRoR (edited 04-09-2007 @ 10:42 AM).]

Dr Lorenzo
AOEH Seraph
posted 04-09-07 09:46 AM ET (US)     20 / 28       
What exactly do you mean?

DR LORENZO
AoEH | Woad Creations Alumni
I of course meant bastard in a positive way! - Kor
I just sort of chop away at it when it gets long enough. The ladies love it. - Obese, on shaving
Lorenzo is kind of like that relative everyone knows about but won't talk about. - Crimson Knight
We already knew about the mass murders and gang rapes and ethnic cleansings, but now they've resorted to ENCRYPTING PEOPLES ELECTRONIC DOCUMENTS! - drahnier
GeorgeROR
Guest
posted 04-09-07 10:42 AM ET (US)     21 / 28       
nvr mind removed... was tired. Reading up on this though sounds interesting.

British Empire
Clubman
posted 04-12-07 08:17 PM ET (US)     22 / 28       
Keep up the work
Nikokol
Clubman
posted 04-14-07 07:16 AM ET (US)     23 / 28       
12 players sounds great

Tribulation Designs
I wish my English was better ...

[This message has been edited by Nikokol (edited 04-14-2007 @ 07:16 AM).]

Dean McCullough
Clubman
posted 04-25-07 07:49 PM ET (US)     24 / 28       
Sounds good... I say go for it and post it upon the forums. If ES complains, then you can take it off i spose.
BBalazs
Clubman
posted 04-26-07 07:53 AM ET (US)     25 / 28       
This is one titanic task that's for sure. Especially for one person.

I'd be most interested on seeing some news

Maniac_Killer
Clubman
posted 04-26-07 09:15 AM ET (US)     26 / 28       
Interesting but sounds like alot of work.

I also have that same problem with the lag every 3-4 seconds... i always thought it was because i run xp(vista now)because when i ran 95 i never had any issue of lag what so ever.

Good luck and keep us updated!

Kerry Jones
Clubman
posted 04-27-07 02:54 AM ET (US)     27 / 28       
I can be a play tester for this project to write out reports for bugs to correct. I'm going to buy the game very soon. I use to have it, but wear and tear has taken a toll on my cds.

Kerry Jones
Founder
HQ Media Force
Dean McCullough
Clubman
posted 04-27-07 04:34 PM ET (US)     28 / 28       
A-hmmm...

I dont have anything to say.

You must be logged in to post messages.
Please login or register

Hop to:    

Age of Empires Heaven | HeavenGames