Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - 2ma2

#21
OK, yeah, another Mittens accessible by non-airborne means is to good to pass up. AGA's PM-campaign was truly effective on this ol' fool :=

I have a tent with room one additional Mittenee. The only downside as that a close friend insists on getting married on the 6th of August so I might need to depart from the festivities early, along with the aforementioned tent. Still, nothing a bit of organizational Tetris can't solve.
#22
Couldn't find a recent run-down on the process, so I documented my own (streamlined) process (excluding all dead-ends and rage-quits). If this thread is inappropriate in this forum, please feel free to delete or move it.

This is a guide for installing and running the AGS editor on Ubuntu 64-bit. At the moment of writing this, I'm running Kubuntu 13.10 (codename Saucy), which is a KDE "flavour" of Ubuntu. Here's what I did and (hopefully everything) you need to do:

1) Get the latest version of Wine
Head to https://www.winehq.org/download/ubuntu and add the Wine PPA to your package sources. Then run:

Code: ags
sudo apt-get update
sudo apt-get install wine


2) Create a separate 32-bit wine prefix
Code: ags
WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg

Just press ”Ok” if you don't know a particular change to the default Wine setup you wish to apply to this prefix.

3) Install .NET 2.0 on this prefix.
Code: ags
env WINEPREFIX=~/.wine32 winetricks dotnet20


4) Download the latest AGS install executable
Head to http://www.adventuregamestudio.co.uk/site/ags/ and download the executable. Then run (in the folder you downloaded to):
Code: ags
env WINEPREFIX=~/.wine32 wine AGS-3.3.0.exe

Exchange ”AGS-3.3.0.exe” for whatever file you've downloaded.

5) Start the editor
Code: ags
env WINEPREFIX=~/.wine32 wine ~/.wine32/drive_c/"Program Files"/"Adventure Game Studio 3.3.0"/AGSEditor.exe

This snippet assumed you made no changes to the suggested installpath and is ideally saved as a shortcut on your system.
#23
It means that before writing a single line of code, you must have a rough idea of how the game should work, especially if you need to make the engine by yourself. AGS was made to simplify the creation of point-and-click adventure games in the vein of the 80's and 90's. There are other engines that might simplify the creation of brawlers and fighters as well, but if we want to make a proper solid fighter with AGS, we need to think about not only how the characters may move about on the screen, but also how they may punch and kick their opponents - and block or dodge punches and kicks.

Just testing whether or not a pixel of a character is at a given location is not entirely beneficial. That would make you able to hit details that does not matter, such as ribbons, a cape or chains for instance. Things like drawn "motion-blur" and speed-lines are also best placed within the actual character sprites, but not something you should be able to hit.

So one sits down with a notebook, a pen and scribble down ideas. When something seem to make sense on paper, start AGS and write the code. Then test it out with some friends. It probably fails miserably, but we have a better foundation to track down WHAT fails and HOW we can change the overall design to make it WORK.
#24
It's been quite some time since I worked with AGS so I'll not dwell into specific functions but rather the overall train of thought when scripting.

It mostly depends on what you wish to accomplish with it. What character is ENE for instance? EGO usually represents the player character, and the functions seem to make ENE change it's position on screen relative to the position of EGO. Since there's a timer as well, it ought to be executed repeatedly. There is such a function in the global script. Everything placed inside it will run as long as other criteria is fulfilled. But that also means that it'll execute roughly a hundred or thousand times each second (can't remember). The timer makes sure it'll execute on a more reasonable interval.

There is also three if-statements in the bottom, which makes sure that if ENE or EGO is close to the edges of the screen, it'll force it to move inwards. These are NOT limited by a timer, and thus will execute instantly. Well seemingly instantly anyway. Also, it seems that whoever wrote the script did not take into account of X of ENE is close to zero. Perhaps it's impossible for that to occur by other reasons.
#25
@dkh: Cheers! :D Using vector maps is cool, because it ought to be memory efficient and it'll easily give for multiple areas substituting as a body. One could then adjust attack result for whether a flying kick lands in the gut, chest or head. I also like to use the animations themselves as timing devices for attacks, because if they are interrupted, you don't have to script the timer cancellation, you just start another anim for that object/char.

Yeah, the debug would also be efficient to tune character balance later, such as making sure the largest fighter's high attacks always misses the smallest etc. I'd like to force the player to adapt his tactics not only to the character he/she plays, but to the enemy he/she faces as well.

@Mods: It's more of an interest on how to go about for now, but we'll see what happens ;)

@ig299: When starting making a game, turn off the computer and sit down with pen and paper :)
#26
The Rumpus Room / Re: Riddle me this
Sun 19/08/2012 19:25:22
'lo Petter! :)
#27
The idea of making a fighting game intrigues me, but I saw it fitting to start a new thread for it. This will not discuss what functions to (ab)use, how to make character X do Y when button Z is pressed or whatnot, but rather discuss the underlining framework for a fighting game.

The first issue to address, long before background graphics and sprite animation, is how to map hits. My first thought is to have relative coordinates for attacks and fully transparent placeholder areas:

Let's say a character is placed on (X,Y) at a given time. We now have a series of possible attacks - high punch, low punch, high kick, low kick etc. Each of these needs to have a fixed relation to (X,Y) when the character faces a specific way.

Let's say the character faces right.

Low kick (X + 50,Y) - the low kick will hit if the opponent is 50 pixels to the right, and not in the air since Y is at ground level.

So what is the opponent? A rectangle the height of the character, or some sort of polygon better suited to map out a body? Either way, whether each attack will hit is whether or not the coordinates of the attacks is within the placeholder area. Using another character as a placeholder and hiding it with the walk-behind masks is a nice way to go about - it can even be dynamic by switching sprites, so the area changes when jumping, crouching, doing flying kicks etc. Nice to pull off an uppercut into the groin of a high kickin' opponent! :)

Then we make the game balance asymmetric by character specific variables - each fighter has a different delay from button press to finished blow, how much impact each attack has, the size of the placeholder area etc. From a swift and vicious, slim martial artist to a huge brute, with larger delays in the attacks, but with massive damage once a punch lands in someone's face.

Do any of you have first hand experience of coding a brawler, and what kind of neat feats and tricks of the trade have you gotten hold of?

EDIT: Tidied up the language a bit.
#28
The Rumpus Room / Re: Riddle me this
Sun 19/08/2012 14:36:52
Quote from: Jonez on Sat 14/07/2012 10:57:52
Yeah, the terrain type and the length is irrelevant, but that's what makes it a riddle.

This was my approach to the answer, a bit like the two-persons-meeting -solution but maybe not as intuitive.


This nails it. Independant on the shape of each graph, if Y equals distance from the starting point and X the time traversed each day, the graphs HAVE to intersect at some point.

Incidently, the brick puzzle is also easily explained if we abstract it:


  • 2 + x = 2x
  • x = 2

Now to dwell into the other riddles! :)
#29
The Rumpus Room / Re: the metal thread \m/
Sun 19/08/2012 14:23:27
I guess I favour more technical and/or progressive exploits:

#30
Instead of fighting the obvious dilemma with coordination, you could use the fact that 1000 people work with the exact same thing - such as massive limitations, forcing each individual to work within a confined space, and encourage them to bend that space as much as possible. It could be conceptual, visual or technical boundaries.
#31
Critics' Lounge / Re: Another background
Thu 21/04/2011 08:37:31
Quote from: TheRoger on Wed 20/04/2011 16:51:36
Tried to do something (After collecting all crumbles of motivation that left):

Keep on fighting :) We only criticise you because your work show great potential. You have a solid instinct that needs to be complemented with mental "tools", and very few acquire these on their own. You could pick up some literature on the subject, or better yet, apply to a course. Having a teacher to discuss with face-to-face is superior to everything else.
#32


What Ali said. Just walk into a store and buy a carton.
#33
Critics' Lounge / Re: A few backgrounds
Tue 19/04/2011 22:11:51
If you want to maintain the saturation in your images, you could also lower contrast to increase the illusion of depth.
#34
As your coordinative as well as artistic skill develop, your backgrounds will be increasingly "better" with every new canvas. Consistency is almost impossible to maintain. But what you CAN do is to try to make as many backgrounds simultaneously as possible, never really finishing anyone. Work an hour or two on this one. Work on the next. Work on another, come back to the first, return to the second etc etc, letting every image develop with your own technique.

But sometime, you'll HAVE to let them go. You will hate them within 6 months, but you will love them again in 12.
#35
Critics' Lounge / Re: Is my character ok ?
Tue 19/04/2011 22:05:32
3D-rendered realistic character will always be slightly stiff. Whether it be HL2 or a Poser model. Using an idle animation cures a bit of that, but have the opposite effect dependant on the function of joints. Exaggeration is the key to realism, oddly enough. Perfection is death.
#36
Critics' Lounge / Re: Another background
Tue 19/04/2011 21:59:52
When painting, make sure to work with both hard and soft edges. The rock-face does not convey a ragged surface. You could try working with putting cubes all over the place, and then cubes into the cubes, and then overlapping cubes etc etc. Make light and shadow map out irregular blocks.



#37
640x480 is large enough to paint backgrounds in a larger scale and resize them with bicubic without making everything too blurry. If needed, you may touch them up at pixel level after that.
#38
If you want to work with ligne claire, I suggest you learn to work with vectors for making your core graphics and render pixel images for import into AGS. Open-source alternative to piracy is found in Inkscape.
#39
Quote from: monkey_05_06 on Sat 05/03/2011 11:12:08
The entire purpose of a law is simply so that there can be a punishment affixed if someone breaks the law. For example, from a moral standpoint most people would accept that murder is wrong, because you are robbing someone else of their right to live. What though if the government had no regulation on the matter, if there were absolutely no punishment (entirely excluding any religious or other context from this hypothetical example), then who would be afraid to murder? It might not be thought highly of, but there would be no formal repercussion to fear.

Eternal damnation is a strong selling-point, if you're into that..  :=
#40
My favourite bot! How's the largest economic region in the world doing these days?

(I may be talking about your pants. I may be talking about the scenery. You decide.)

And how are you? ;D
SMF spam blocked by CleanTalk