Arcomage Clone layout

The role-playing games (I-X) that started it all and the various spin-offs (including Dark Messiah).
User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Arcomage Clone layout

Unread postby GreatEmerald » 16 Oct 2011, 21:05

I'm working on a graphical frontend for Arcomage Clone 0.4, and so far I have a few ideas about how to improve it.

First of all, I will remove any restrictions on resolution size. While Arcomage Clone v0.3 was limited to the original resolution of 640x480, the next release will have basically no limits. The absolute limits are, of course, no less than 640x480, and technically there will be no upper limit, but I don't plan on officially supporting past 1920x1200. Anything else will be fully supported, though!

However, this change raises a few questions about the layout. For one, there suddenly is a lot more space to use, so something should be put there. My idea is that it will simply be scaled for the most part, but the differences come from different aspect ratios. On widescreen displays, there will be quite a bit of new free space available. I will probably make it so that gaps between cards are increased and such, so it should feel basically the same as on non-widescreen ratios.

Another feature that I can now implement with this newly available resolution is the support for MArcomage rules. If you are familiar with MArcomage, you will know that it allows you to play with open cards - you can see the opponent's hand and vice versa. It also has 8 instead of the usual 6 cards per hand. And finally, it has a token counter. All of these things I managed to fit into the resolution of 800x600, which will now be the 'base resolution'. That is, you will be able to use 640x480 still, but it will be in 'legacy mode' - either without those new features, or with special overlays. Any higher resolution will be a scaled version of the 800x600 version.

This is the layout for the new 800x600 base resolution that I have in mind so far:
Image

The top row of cards will be the opponent's cards. Also note that there are 8 cards on screen now (however, the game will support up to 10 cards, and they will overlap if necessary). Finally, note the token counters at the bottom. Unlike in MArcomage, where the counters are simple digits, I will have them set up as progress bars instead, so you could easily tell how many tokens a player has (since you can't exceed 100 anyway).

There are also a few more changes. First of all, I am fed up with the limitations of SDL, so I have switched to OpenGL rendering instead. It should give a performance boost for Linux clients, too. In addition, it will allow me to procedurally create certain GUI elements, such as the gradient you see in the picture, so that it looks perfectly on any resolution. It also allows me to manipulate objects, so I will be able to rotate and scale things with ease. That means I will be able to implement particles, too!

And the last thing I want to mention is the resource quality. You might wonder how useful the unlocked resolution actually is, after all, it's just the same thing, just scaled. Well, I'm also planning to increase the resolution of all the graphical resources! I will try and find better quality resources for backgrounds and other graphics parts, with remaking, if need be. The resource resolution will now be four times bigger (hence why I'm planning to support up to 1600x1200).

So, if you have any suggestions about the layout or the overall idea, let me know! I'm still in the design phase, so any input is welcome.

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 18 Oct 2011, 11:14

I'm now remaking the resources, and it's going pretty well so far. Here's the resources I have up to now:
Image

I tried to be as true to the original as possible, and I believe it went out pretty well. You can see a few new additions: the buttons "Mplayer Hotseat" and "Mplayer internet", due to the fact that it is possible to play hotseat now. Also note two new card colours: black and white. That is another thing from MArcomage (there they are known as grey and brown) - black cards have no cost at all, therefore are likely to hurt you as much as your enemy, while white cards are mixed cost, so they are usually more expensive and therefore are likely to help you. And, of course, a mix of all colours is white, while the lack of colour is black in terms of graphics :)

I don't think I will be remaking the tower, wall, Quarry/Magic/Dungeon pictures (although I did attempt to recreate one, but it will just stick out too much due to the dragon being unique) and card pictures.

Also, a fascinating thing I just noticed is the top section of the wall. In the original games, that section was never used for some reason, but it makes the wall look like a proper wall and not a pillar, so I will be using that in the future.

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 01 Jan 2012, 12:31

All right, so far I managed to implement the main menu (with the hover effect, but so far only the play and quit buttons work), the game background (some of it is rendered in real time instead of being in a picture), the card colours, and the text on the cards. Here's the menu and an actual screen of the game:
Image Image

So far, it doesn't really do anything (I don't have the input loop setup yet, but it's more important to work with static images right now), but even this is pretty nice so far. The text size changes with resolution (as you can see, this is a 800x600 screen instead of the usual 640x480), and it is determined procedurally depending on which cards you are playing (so card decks with short descriptions will have larger text, while those with a lot of text will get smaller to accommodate the space given on the card). The font used is FreeSans, pretty similar to what was used in the original game (and it's a freely distributed font).

Have to say, implementing the font engine was a lot more difficult than I thought it would be. The FreeType library is very low-level, the SDL_ttf library is better, although still relatively low-level, so I had to essentially write a library for a library for a library... And then find a way to translate the result to something OpenGL understands, and also make sure I get the information from the game library (that is written in D) without any losses to the frontend (which is written in C). And then I also had to work around some of the quirks in OpenGL, such as its affinity to draw textures on half-pixels (which makes the text horribly blurry). But there we go, it's finally done. Now I'll see if I can draw the text for the tower/wall status, the amount of resources each player has, and the card picture.

User avatar
XEL II
HoTA Crew
HoTA Crew
Posts: 945
Joined: 14 May 2008
Location: Saint-Petersburg, Russian Federation

Unread postby XEL II » 01 Jan 2012, 12:51

Looks real nice, keep up the good work ;) AFAIK we in MMX Team are looking forward to incorporating your Arcomage Clone as the tavern mini-game.
Make you strong places to dwell and practice the evil of your arts. Build great monuments to stand through the ages and remind your followers of the task with which you have been charged. Use these halls of iniquity to perpetrate your schemes against the infestation that has taken the fields and lakes of this land from you, their rightful masters. Never forget the hatred that must finally overcome and consume mankind. Dwell in your dungeons and brood. - Sheltem the Dark

User avatar
MMXAlamar
Hunter
Hunter
Posts: 541
Joined: 14 Jan 2011
Location: USA

Unread postby MMXAlamar » 02 Jan 2012, 07:33

Yes, this is fantastic! Happy new year GE :)

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 02 Jan 2012, 08:34

Thanks for the support :)

Now I need an opinion about this... If you look at my planned layout in the first post, you will see that the numbers that show the amount of resources each person has is quite fancy, and it's neither of the fonts I have (and I couldn't find that particular font, either). So I could use the pre-rendered images of the font to save the original feeling, or I could replace that font with FreeMono to have it scale with the resolution better (that way there would also be less trouble with licenses). So, what do you think?

phamlongtuan
Pixie
Pixie
Posts: 117
Joined: 18 Jan 2009

Unread postby phamlongtuan » 02 Jan 2012, 09:38

look beautiful thought

My english is not so well thus i will make them short.

Improve:

1. A tournament is must have, simply knock-out, score, quarter-final, semi-final and so on. It keeps you busy for a while and enjoy the series of match.

2. can the number Macromage cards are increased? i'm strongly develop them in expansed universe like Yugi oh where we have thousands of card in different field.

Background: Yugi oh is the magic card game which a main character push himself in a world of magic card. Each of his opponent is strong, they have advantages of their own battle field and unique card. eg, a player from ocean prefer use ocean type card like shark, siren etc......

3. I think it is not so hard to code some text story with picture as background for develop the story of a main character (mage type card, warrior type card or archer card type)

4. Can you add some nice effect for gaming experience like shake the whole screen when we cast earthquake spell, slash the screen when we do the slash, fire some spell.

5. Nicer effect when draw the card like make them a little bit smaller but zoom out when we point over them, the idea can be best demonstration like a dock in MacOS

Happy new year from Vietnam MM's fan :)

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 02 Jan 2012, 10:16

phamlongtuan wrote:1. A tournament is must have, simply knock-out, score, quarter-final, semi-final and so on. It keeps you busy for a while and enjoy the series of match.

2. can the number Macromage cards are increased? i'm strongly develop them in expansed universe like Yugi oh where we have thousands of card in different field.

Background: Yugi oh is the magic card game which a main character push himself in a world of magic card. Each of his opponent is strong, they have advantages of their own battle field and unique card. eg, a player from ocean prefer use ocean type card like shark, siren etc......

3. I think it is not so hard to code some text story with picture as background for develop the story of a main character (mage type card, warrior type card or archer card type)

4. Can you add some nice effect for gaming experience like shake the whole screen when we cast earthquake spell, slash the screen when we do the slash, fire some spell.

5. Nicer effect when draw the card like make them a little bit smaller but zoom out when we point over them, the idea can be best demonstration like a dock in MacOS

Happy new year from Vietnam MM's fan :)
1. I'm not entirely sure what you mean, but I was thinking about implementing a score system. The original Arcomage had a time-based score system, but that's extremely ineffective, since you can set the wall and tower to minimum and cards to maximum, then use the first green card you see and win in 1 second. MArcomage has a score system that is also quite complex, so I could look into that. Although I don't think I want to have things like accounts and all that implemented, the aim of the program is not that. Perhaps a statistics screen could do.

2.Yes, they most certainly can. Already in CLArcomage I have the Lua-based scripting system set up, so anyone can make their own cards. So far it's limited to what the official Arcomage cards can do, but it will be expanded in the future to support everything that MArcomage can.

3. Actually, Arcomage has a story. It's not common knowledge, as it was only released in the manual of the original Arcomage game, but it involves two kingdoms, ruled by mighty sorcerers, trying to gain full control over the land. Since I might want to make a tutorial explaining the new MArcomage rules, I could perhaps add some story in it as well, but I'm not sure about that. Either way, I have to make it playable first.

4. I am planning to include an emitter effect for the different things a card does. In the original, sparks came out of whatever resource was changed by the card, and I am planning to expand that to have it more dramatically animated, and to include sparks when the tower is being damaged and so on. However, card-specific effects would not be possible to do, since it would only apply to a strict set of cards. However, once I go around implementing the MArcomage keywords, showing a flame effect when the Burning keyword cards are being played etc. will be implemented (that's something that MArcomage lacks, and something that would improve the game quite a bit).

5. Nah, I think the original effect should suffice, since it's realistic. It's not a big deal, anyway.

Thanks for the feedback!

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 13 Jan 2012, 18:40

So, anyone have an opinion on my original question? Should I use FreeMono fonts for better quality and less stock materials, or should I try and port the original fonts for being more true to the original?

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 20 Jan 2012, 13:40

Since there was no input, I decided to go ahead and use FreeMono for this. Now I implemented the drawing of all the missing text. This is what I have so far:

Image

Drawing text is really difficult, especially when you are aiming at using a low amount of resources. Most of the new text that you see drawn here are numbers, and for that I had to create a number precaching system (load all the numbers in the memory and make them textures), then draw numbers one by one (since creating textures on the fly takes a lot of processor time, and when things are being re-rendered very often, it's not a viable approach).

Now I just need to implement card picture drawing, and that will be all of the static elements!

User avatar
DrakeBD
Big Nose
Big Nose
Posts: 111
Joined: 01 Feb 2008
Location: Deyja

Unread postby DrakeBD » 20 Jan 2012, 17:29

This is just epic i always loved this mini game in MM cant wait to give it a go keep up the good work great emerald B-)

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 22 Jan 2012, 19:07

I now implemented picture drawing:
Image

The best part of it is that picture drawing is controlled from Lua scripts, and the Arcomage frontend takes care of setting the correct size of the image, no matter what the original size was and no matter what your resolution is.

In Lua scripts, you can point the game to use any image file (as long as its path is relative to the card pool directory) for each individual card, and also provide the coordinates of the image. That way you have a lot of options - you can include one big file with all the pictures or several smaller files with parts of the pictures needed for the card pool. You are also not restricted to any size or size ratio (although better to keep the ratio, or else clipping will occur).

So, on the whole, I have now completed all of the static elements for the Arcomage Clone frontend! Now I need to implement the input loop and card animations, and it will be playable.

vmxa
Leprechaun
Leprechaun
Posts: 39
Joined: 08 Nov 2011
Location: oviedo, fl

Unread postby vmxa » 22 Jan 2012, 19:57

Looks very good. I did not respond as I do not even knock on her door to get the quest any longer. It just felt like it took me out of the game too long and it caused a lot of game crashes.

That may be corrected with Mok and Greyface, but I just skip it.

User avatar
ShadowLiberal
Golem
Golem
Posts: 641
Joined: 27 Mar 2010
Location: Shadow Land

Unread postby ShadowLiberal » 23 Jan 2012, 03:22

DrakeBD wrote:This is just epic i always loved this mini game in MM cant wait to give it a go keep up the good work great emerald B-)
Same here, I'd love to be it once you finish it GreatEmerald.

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 03 Mar 2012, 22:36

And now I implemented the animations. It's still too buggy to be playable, but all I need to do now is to solve a few puzzling bugs and add support for victory conditions, proper graphical representation of discarding cards and possibly something else I don't recall right now, and it will be ready for a late alpha or early beta release.

The animation that plays is true to the original game - the selected card flies to the middle of the screen, then waits a while, then flies on the table, and a new card from the card bank flies folded into your hand. Unfortunately, that's not something I can show in a screenshot...

Although I can still show you a few updates to the static scene as well. You can now see the cards that were played before (and the placement of those cards is now calculated rather than defined), and the cards in both hands are now slightly randomised in their placement on screen to give an illusion of a real card game. Also notice that the resources and tower/wall numbers are different from the earlier screenshots, because I can actually play cards now!

So this is version 1.alpha.07.01:
Image

User avatar
Torur
Conscript
Conscript
Posts: 209
Joined: 24 Jul 2006
Location: Faroe Islands

Unread postby Torur » 05 Mar 2012, 09:31

Looks good. Can't wait for a alpha or beta release. This game is a great time waister.

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 08 Mar 2012, 14:39

Thanks for the support!

All right, after a bit of thinking about it, I decided that I will release the first alpha of the OpenGL frontend after I implement the drawing of discarded cards and the notice about whether you won or lost. That would make it playable without any annoyances in single player. So, if all goes according to plan, the first released version will be 1.alpha.12.0 (using my own version system GemVer). It's probably around a week of work.

Meanwhile, I fixed a few bugs and implemented some features - you can now properly see which cards you can play and which ones you can't, tower and wall height is updated correctly, animations all work correctly and are properly synchronised.

Note that despite all the features the game already has, the first alpha will still be an alpha, so it will still be lacking things like sounds, hotseat and internet games as well as special effects, and probably will have bugs. Nevertheless, it should already be playable and enjoyable!

luke83
Leprechaun
Leprechaun
Posts: 2
Joined: 15 Mar 2012

Unread postby luke83 » 15 Mar 2012, 10:52

i joined these forums finally just so i could keep a track of your progress , i really like what your doing :)

When your finished , will to be possible to change the card pictures ?

User avatar
GreatEmerald
CH Staff
CH Staff
Posts: 3330
Joined: 24 Jul 2009
Location: Netherlands

Unread postby GreatEmerald » 17 Mar 2012, 09:24

Thanks for the support :) The alpha version is now released, see the release thread:
viewtopic.php?p=330612

It's possible to change the card pictures in this alpha version already, due to extensible Lua modding support. You can place your own pictures in the Lua Arcomage pool directory, and then edit the CardPool.lua file to have it point to your new image or part of the image. Look over the CardPool.lua file for examples, it should be pretty self-explanatory.

Oh, and probably this should continue in the release thread, as this thread no longer fits the topic.


Return to “Might and Magic”

Who is online

Users browsing this forum: No registered users and 53 guests