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

Topics - Calin Leafshade

#81
So i decided today that i would work on my spriting/walk cycles and i drew this little fella:



then i thought i would try and give him some torso twist and made:



I kinda prefer it without the torso twist.

Is this just because I suck at torso twist or is it impossible to do at this resolution with acceptable results?

(Also general C&C is welcome)
#82
I'm trying to find a way to establish the native res of a game from its exe.

I assume this must be stored somewhere in the exe but I suck when it comes to hex editors and stuff like that.
Anyone with some expertise want to give it a go?
#83
Does anyone have any idea how I might find out which version of AGS was used to make an AGS game programmatically (specifically in .NET but any platform would be useful)

Failing that does anyone know how i might determine if a game was made using the dos version of the engine?
#84
There is a conversation flying around the intertubes at the moment about the legality of adultery and whether or not there should be some judicial punishment for it (if proven).

Proponents argue that adultery is a destructive act and negatively affects other people and thus there should be a law in order to protect people against it's effects. They ask why *shouldn't* it be illegal.

Others argue that what one does in one's own bed is irrelevant to the state but the proponents counter that a destructive act committed in secret is still a destructive act.

I am unsure where I stand and would like other, more worldly, people's opinions so I can put this idea to rest in my head.

My conscious tells me that matters of love shouldn't be submitted to judicial conditions but my logical brain tells me that whether or not it is related to love is irrelevant to its effects.

Thoughts?

EDIT: (To clarify, 'adultery' here means sleeping with someone else's spouse or someone who is not your spouse. Sex between two unmarried and unattached people is, as far as i can see, morally neutral)
#85
General Discussion / Who has 5.1?
Wed 23/02/2011 23:28:50
It seems that these days it's more or less impossible to buy a motherboard that doesn't have 5.1 (or even 7.1) sound available.

So with that in mind who actually has a 5.1 *speaker system* on their computer to go with it?

I just want to get a rough idea of numbers really.
#86
Advanced Technical Forum / Odd API Error
Mon 21/02/2011 20:59:28
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!

Program: D:\AGS\test\Compiled\test.exe
File: f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp
Line: 52

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

(Press Retry to debug the application)
---------------------------
Abort   Retry   Ignore   
---------------------------

Since the message references a drive that I don't have I assume its a internal thing left in the code.

The crash dump says that a breakpoint has been hit.

Can you shed any light onto this CJ?
#87
Hola!

Ok so I thought I'd try and implement Fmod in AGS and here is the result

http://www.thethoughtradar.com/AGS/FMODAGS/AGSfmodbin.zip
(source is available if anyone wants it)

3D sound/reverb works. Heres some basic usage:

Code: ags

// room script file
FmodSound *Sample;
FmodSound *Stream;
FmodChannel *SampleChannel;
FmodChannel *StreamChannel;

function room_AfterFadeIn()
{

Sample = FmodSound.Create("footstep.mp3", eFmodNoLoop, eFmodSpatial3D, eFmodLoadAsSample); //load a footstep as a 3D sample.
Stream = FmodSound.Create("music.mp3",eFmodLoop, eFmodSpatial2D, eFmodLoadAsStream); // load some music as a 2D stream.
StreamChannel = Stream.Play(); //start the music playing
StreamChannel.Volume = 30; //lower the volume (Valid values 0 to 100, default 100).
StreamChannel.Panning = -100; //pan the music hard left (Valid values -100 to 100, default 0).
FmodSetReverbPreset(eFmodReverbRoom); //Set the reverb preset (Default eFmodReverbOff).
FmodSetReverb3DProperties(0, 0, 0, 10, 20); // Set the 3D properties. parameters are x, y, z, mindistance, maxdistance.


SetTimer(1, 37); //lets set a timer!

}

function repeatedly_execute_always(){
  
    int LR = mouse.x - 160;
    int FB = 100 - mouse.y;
    if (LR < -100) LR = -100; //calculate some positions based on mouse coordinates.
  
  if (IsTimerExpired(1)){
    
    SetTimer(1, 37);
    SampleChannel = Sample.Play() //play the footstep.
    if (c != null) c.SetPosition(LR/20, 0, FB/20); //Sets the footstep position in 3D space.
    
  }
  
  if (c != null) Label1.Text = String.Format("%d", SampleChannel.GetPosMS()); // show the position in milliseconds.
  if (IsGamePaused()) Label1.Text = "Paused!"; // All channels will pause if IsGamePaused() returns true.
  
}


A note on 3D space

The units used are metres.

The plugin uses a left-handed coordinate system which means that +X = right, +Y = up and +Z = forwards.

The 3D listener is set at the origin and all 3D coordinates should be relative to that.

(-10, 0, 10) is ten meters to the left, zero metres up and ten meters in front of the listener.
(5,0,-2) is five meters to the right, zero metres up and two metres behind the listener

How is reverb calculated

Code: ags

FmodSetReverb3DProperties(0, 0, 0, 10, 20); // Set the 3D properties. parameters are x, y, z, mindistance, maxdistance.


The line above sets the reverb location and area of effect.

The first three ints are coordinates which indicate the epicentre of the reverbs effect. You should usually set this to the approximate centre of your room relative to the camera (imagine you are looking at the room through a camera and that it what the screen is showing).

The 4th int sets the starting falloff distance of the reverb. This is the distance at which the reverb begins to fall off and no longer apply.
the 5th int sets the end falloff distance for the reverb. This is distance at which the reverb will no longer apply to the 3D sounds you play.

In practice you can usually set the starting falloff to be half the size of your room (the radius of the effect) and the end falloff to some value higher than that.
These values are usually only important when there are multiple reverbs in play, which i havent done yet.

Speaker configurations

The plugin supports any speaker configuration and will use whatever the user has set in windows. (tested with 2.1, 5.1, 4.1 and stereo)
3D sounds will map to the available speakers as if in 3D space and 2D sounds will map to their correct channels (so you can play 5.1 music :D)

Filenames, Types, Streams and Samples

When running the game from the debugger the plugin will try and load the files relative to the main game directory (the one with game.agf in)
When running the game as a compiled exe the plugin will load the files relative to the folder with the game exe in.

The plugin supports OGG, MP3, WAV and loads others that I haven't tested (MOD, MIDI, AIFF, WMA, CDDA (you can load a CD by passing the drive letter like "D:"))

You should load large files, like music, as streams by passing eFmodAsStream to the CreateSound function.
Small files like SFX should be loaded as samples by passing eFmodAsSample.

Things that *DON'T* work

-Reverb customisation
You can load any of the reverb presets (which should be fine for most uses) but i haven't added functions to customise them yet.
You can also only have 1 reverb at a time.

-Additional DSP
I haven't added other DSP effects like Chorus, Delay, Phaser and stuff yet but I don't really think they are that necessary for most purposes.

LICENSE!! Be aware that FMOD is only free for non-commercial projects!!

TODO
- More DSP options

I think that's everything! Have fun!
#88
How can i pass a string between AGS and the plugin API?

How do i pass a managed type like a string?
#89
Advanced Technical Forum / GetWalkbehindAt?
Fri 18/02/2011 04:07:03
Is there a GetWalkBehindAtRoom function? Or something similar.

Can't find anything in the manual but it seems like an odd thing to leave out.
#90
Ok so AGS has a Game.SetGamma() function but this only works in DirectDraw in full screen so can anyone think of a way (internally or using a plugin) to increase/decrease brightness or gamma in an AGS game.

My thoughts:

Direct Draw:
AGS gives you direct access to the screen array in DD so it's pretty easy to alter the values for brightness. Although its probably not that fast.

D3D:
Draw a white primitive over the screen in additive mode.

Any other suggestions are welcome and encouraged.
#91
It seems that on my Win7 box AGS games sometimes fail to catch the escape key in AGS games.

Its difficult to reproduce and minimizing/restoring seems to fix it.

Has anyone else encountered this? Or is it likely something to do with my keyboard drivers?
#92
I was going to put this in the GiP thread but I didn't want to clog it with something only tangentially related to the actual game itself.

So here is my dilemma:

This chapter of McCarthy will be *far* longer than the previous one and it will contain a great deal more dialogue since the game will attempt to be quite non-linear with different choices/paths available to the player.

I can call in enough favours to get voice acting on a short game but i'm not sure if I could get VAs to work for free on a project this size (some characters might have in excess of 500 lines). Not to mention the fact that the quality of the voice actors that i know now is much higher than the quality of VAs I had back then. Now, I don't mind making mccarthy for free but I also don't really want to be out of pocket either. I also can't gurantee that my artists would be too pleased with the concept of VAs getting paid and them not.

So hypothetically how would you, the player, prefer I dealt with this problem.

1) Scratch voice acting altogether and stay 100% freeware.
2) Go commercial and increase the quality of the release. If I did go commercial I would provide more animations, more content and a higher quality product simply because I could justify asking my artists to go that extra mile. (for the record all my artists are already the hardest working people I have ever worked with.. except maybe 304 but i think he has some kind of brain disorder or is cybernetically enhanced)
3) Provide the voice pack as part of a 'special' edition which costs money but provide the non-voice edition for free. (I imagine the artists might have a perfectly justified problem with this option.)

If I'm honest I would rather *not* go commercial for a couple of reasons. Firstly, I did say in the GiP of the first game that I would keep the McCarthy Chronicles a free series supported by donations and secondly the pressure to deliver is much higher and "you get what you pay for" is no longer a glib joke you can fire at detractors.

Bottom line: Is high quality voice acting and more incidental content worth 5-10 quid to you?

Spoiler
I also promise no shitty writing.. or rather as good as i can do... but nothing over the top i swear!
[close]
#93
General Discussion / Does anyone play EVE?
Wed 02/02/2011 11:41:21
Some AGSers and I have recently set up a Big Blue Cup corporation on EVE for giggles.

If you play then I invite you to apply to join the corp (called Big Blue Cup).

Let's play!
#94
Currently the editor prefs are stored in the registry as discrete fields in the class.

I propose changing this in 2 ways.

Firstly by making the preferences dictionary based.

Code: ags

Dictionary<String, object> preferences;


This allows new additions to the editor (and plugins) to store their preferences in a unified way simply by adding to the dictionary.

The 'object' would be an anonymous object (i forget if thats the right term, alternatively a separate 'Preference' struct could be used.) containing the value of the preference, the real-world name of the preference and the name of the category that the preference should occupy. (the String would obviously be the preference key).

Each component would then access the preference with a function call, passing the preference key. This function would return an object which would then be cast however appropriate.

Secondly i propose that we ditch the registry keys and use an xml file in the appdata folder. This is easier to maintain, more portable and make sense since everything else in the editor is stored in an xml file.

Thoughts from the other developers would be welcome.
#95
I don't usually do GiPs but I thought i'd do this one just to show that I am actually doing something with this game (albeit slowly while I write my main project). So with that in mind:

Can Rick McCarthy uncover the plot rooted in the Grosvenor household?
Will our hero die from slow suffocation (I would guess not.. it would be a short game otherwise)
And just what IS his secret?

Find out all this and more in:


The McCarthy Chronicles: The Conclusion!







I know I said it was going to be a trilogy but it seems like a 2 parter for this chronicle seems more suitable.

Features:
-An innovative new dialog system!
-More graphical effects than you can shake a stick at including:
   Real time rain effects with depth of field and motion blur,
   Magical particle effects!
   Possibly some reflections on something..
-Updated graphics
-Less shitty writing, I promise.

Projected release date: May 2011 I hope.

Team:
Me: Everything I usually do.
Pinback: Portraits, some interface graphics
Mordalles: Original Sprites
Sookiesock: Backgrounds & Animation.

Let's see if I can do better with McCarthy second time around.
#96
How could I generate a random float (say between 0 and 100) where the distribtion follows a bell curve.

i.e how can I generate a random number where its more likely to fall near the centre of the distribution than anywhere else?
#97
There is a discussion that has been had on IRC once or twice and I would like to clear up the answer since I dislike being in doubt about anything.

I asserted that we (humans) can still be classified as monkeys. I give the following reasons for my assertion: (be prepared for spelling mistakes, i'm not looking up every technical term)

First i will draw the relevant part of the phylogenetic tree:

Code: ags

				   Cercopithecoidea
				/
		   Catarrhini
		/		\
Anthropoidea -- 		   Hominoidea
		\
		   Platyrrhini


Usually Cercopithecoidea are categorised as 'Old World Monkeys',  Platyrrhini are 'New World Monkeys'. and Hominoidea are Apes. Anthropoidea are also often labelled as 'monkeys'

Now, sometimes (and originally I believe) Catarrhini was classified as 'Old World Monkeys' this was until it was discovered that Hominoidea belonged to that clade. The OWM tag was then moved to Cercopithecoidea specifically to exclude apes. However if you do this then two monkey clades  (Platyrrhini and Cercopithecoidea) are separated by a clade which is *not* classified as monkey and thus this makes monkeys scientifically paraphyletic which is frowned upon in cladistics since it makes the term useless.

Monophyletics however would say that all humans are apes and all apes are monkeys thus all humans are monkeys.

So bottom line - One of the following must be true: 1, 'monkey' is a meaningless term and the whole thing can be disregarded (although you would probably have to do the same thing with 'Ape' and countless other words.), 2, 'Monkey' can be applied to anything in Anthropoidea which would make us a monkey or 3, I have made a mistake somewhere and need to be corrected by a biologist.

My source is this:

http://www.youtube.com/watch?v=QT4Gnt1Ku4Y

I know it's only a youtube video but it seems well sourced and verifiable (I have found multiple references to Catarrhini being referred to as OWM)

The problem I have in verifying this is that (as the video states) there is a huge resistance to this amongst conservative scientists since the idea of referring to a Human as a monkey seems insulting. Consequently alot of outdated literature refers to the OWM as Cercopithecoidea so I need an up to date opinion from an actual biologist.

Come on we must have ONE qualified biologist (or someone in a related field) amongst us.

#98
Advanced Technical Forum / The Export Keyword.
Wed 19/01/2011 15:09:54
Is there any rationale for using the export keyword now that the global variables pane has been introduced? Either technical or organisational

#99
Let's assume i wanted to send something secret over the internet via a plugin (not the tcp/ip plugin, but a custom one)

Obviously the plugin can hash this secret password perfectly fine but the game exe stores strings as plain text so all anyone would need to do is just open the exe in a text editor and they have the secret code.

Any ideas how i could prevent this?

EDIT: I should note that this password is not user generated, it is a hash or something to identify the game from which the request comes.
#100
So who is running the awards this year? Bicilotti again? He did a great job last year.

SMF spam blocked by CleanTalk