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 - Akumayo

#41
I know this is stupid but even using the 'search' feature, I was unable to find the announcement thread telling the results of the FORGO's.  I missed the IRC ceremony, and would like to know who won what.  Is the thread even out yet?  I MUST know the winners! 
#42
This was an entry in the last coding competition.  I thout I'd share with any who didn't see it (it won!)

Here's a copy of the entry post, which includes documentation and download links (the update script includes docs on the lightning functions):

Akumayo's Weather Module sports functions that have literally no limit on their usage!  The possibilities are endless I tell you!  Now, allow me to clarify each function (This module uses functions from the Advanced Randoms Module, which is included in the download):

Code: ags

BeginEnvironmentalEffect(int slota, int slotb, int slotc, int slotd, int slote, int slotf, int slotg, int sloth, int envfallingspeed, int envwindspeed)


"slota" through "sloth" are the integers representing the sprite slot number of each weather piece.  This means you can have eight different designs of snowflake/raindrop/leaf, etc.  envfallingspeed is the integer representing how fast and what direction the weather pieces will fall.  Passing a positive direction will result in weather from the sky.  Passing a negative one will result in weather from the ground up (like bubbles).  The higher the absolute value of the integer, the faster the effect happens.  envwindspeed is the integer which controls how fast and what direction the weather pieces will move.  Passing a positive integer will result in movement to the right.  Passing a negative integer will result in movement to the left.

Code: ags
ChangeEnvironmentSpeeds(int newenvfallingspeed, int newenvwindspeed)


This function allows you to reset the speeds of an enviornmental effect, withough resetting it.  (Like for changing the direction of the wind.)  newenvfallingspeed allows you to redefine how fast and what direction weather piecies fall.  newenvwindspeed lets you redefine how fast and what direction weather piecies move left or right.

Now for examples:

Code: ags

  BeginEnvironmentalEffect(8, 9, 10, 8, 9, 10, 9, 8, 3, -2); 


Assuming 8, 9, and 10 are spriteslots of snowflakes, the above function would make slow falling snow moving slightly to the left as it falls.

Code: ags

  BeginEnvironmentalEffect(8, 9, 10, 8, 9, 10, 9, 8, 5, -4);  


This, however, would make snow falling pretty fast and moving pretty sharply to the left as it falls.

Now, if you were to integrate the other function in, then through repeatedly_execute you could make something more complex.  After creating a variable called weathergoing and setting it to one after calling BeginEnviornmentalEffect from elsewhere in the script, and making another integer called "w" and setting it to 0 by default:

Code: ags

  if (weathergoing == 1) {
    if (w == 5) {
      w --;
    }
    else if (w == -5) {
      w ++;
    }
    else if (w != -5 && w != 5) {
      w += RandomWeightedDice(-1, 10, 1, 10, 0, 80, 0, 0);
    }
    ChangeEnvironmentSpeeds(2, w);
}


This would end in weather that was moved left and right by gusts of wind, rather than having a constant windspeed.

IMPORTANT:  To end weather effects, pass BeginEnvironmentalEffect with all the "slot" integer values as 0, or a spriteslot that is blank.  Don't worry, the game runs at a normal speed still.

The demo game included in the download has the following effects to preview:
Rain
Snow
Heavy Rain
Heavy Snow
Sea Bubbles
Sandstorm
Meteor Shower (more like an apocalyptic doom of a meteor shower...)
Option to switch on code for varying windspeeds

A note on the side, and the only downside I've noticed so far, effects look sort of clumped together their first time across the screen, but they get better and more realistic quickly after that.

This module would also be ideal for leaves falling slowly, or something of that nature.

User Experience Recommended:
-Basic knowledge of the sprite manager

UPDATE:

Akumayo's Weather Module now contains, the CastLightningBolt!!! function!!!  Now... who wants to get fried?  Here's the specs on the CastLightningBolt function and it's affiliate.

Code: ags

function CastLightningBolt(int boltseed_x, int boltseed_y, int boltstop_y, int boltstrike_speed, int boltstrike_xoffset, int bolt_color)


This is CastLightningBolt.  CastLightningBolt does just what it says, but works off Raw functions instead of overlays, meaning you can Cast lightning bolts when it is raining, snowing, etc.
-boltseed_x:  The x position of where the lightning bolt will begin
-boltseed_y:  The y position of where the lightning bolt will begin
-boltstop_y:  The y position of where the lightning bolt will end
-boltstrike_speed:  How fast the lightningbolt will fall (must be > 0)
-boltstrike_xoffset:  How much the lightning bolt will waver as it grows (must be >= 0)
-bolt_color:  The color of the lightning bolt

*NOTE:  Never, Never, Never call a CastLightningBolt function while one is already running, doing so will result in the bolt that was running sticking to the background, and a new one starting.  That's where this function comes in:

Code: ags
function IsLightningGoing()


This returns 1 or 0.  1 means a lightning bolt is playing, so DON'T call CastLightningBolt.  0 means no lightning bolts are playing, so you can CastLightningBolt if you want to.

Now, by merging these together, we can create a Lightning Storm!!!  (Demonstrated in the demo game):

To start up the storm, place this in any interaction:

Code: ags

  Display("Let the reign of lightning begin!");
  lightninggoing = 1;
  hlight.Enabled = false;
  CastLightningBolt(Random(319) + 1, 0, 200, RandomBoundries(5, 15), RandomBoundries(1, 5), 65472);  


Then place this under repeatedly_excecute:

Code: ags

  if (lightninggoing == 1) {
    if (IsLightningGoing() == 0) {
      if (timerone == 0) {
        SetTimer(1, Random(40) + 1);
        timerone = 1;
      }
    }
  }
  if (IsTimerExpired(1) == 1) {
    timerone = 0;
    CastLightningBolt(Random(319) + 1, 0, 200, RandomBoundries(5, 15), RandomBoundries(1, 5), 65472);
  }


And BOOM!!!  A lightning storm is born!!!  Check it out in the demo!!!  And remember, don't get caught in the lightning!

Download Akumayo's Weather Module Plus the Lightning Function (Advanced Randoms Module included) and the demo game previewing some of the possibilities:

HERE!

Download the README which contains all the stuff in this post here (before Lightning update):
http://www.2dadventure.com/ags/AkumayosWeatherModuleREADME.zip


Well... there it is, enjoy.

-Regards, Glacies Akumayo

Edit by strazer:

Quote from: Akumayo (Will return by July 20th) on Thu 22/06/2006 23:15:18I don't plan on going back to the Weather Effects module.

Try his Lighting module.

Edit by Dualnames:

-Replaced all links that didn't work. Unfortunately I have not been able to retrieve the readme, if in any case someone has it, let me know and I shall update this topic.
#43
I have the following while function in a room's repeatedly_excecute script:
Code: ags

int characterone = 0;
int charactertwo = 1;
while (characterone <= 299) {
  if (character[characterone].IsCollidingWithChar(character[charactertwo])) {
    character[characterone].x = ((Random(13) + 1) * 20);
    character[characterone].y = ((Random(6) + 1) * 20);
  }
  if (charactertwo != 299) {
    charactertwo ++;
  }
  else {
    characterone ++;
    charactertwo = 1;
  }
}  


It, in theory, should check to see if any characters in the whole game are colliding, and if they are, will move one two a randomized position.  The problem is that it generates the following fatal error:

Quote
---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x0042E0B7 ; program pointer is +6, ACI version 2.71.894, gtags (1,2)

AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and notify CJ on the Tech forum.

in Room 9 script (line 402)


Most versions of Windows allow you to press Ctrl+C now to copy this entire message to the clipboard for easy reporting.
---------------------------
OK   
---------------------------

NOTE:  Room 9 script line 402 is the following line from the while function above:
Code: ags

  if (character[characterone].IsCollidingWithChar(character[charactertwo])) {


Thank you for any help you can offer.
#44
I'm building a game where when two characters touch, an interaction is run.Ã,  This worked fine for many rooms, but when I get to a certain point, something goes wrong.Ã,  In one room, I have 30 AreThingsOverlapping interactions in the room's repeatedly_excecute.Ã,  However, while the first 15 run smoothly, the last 15 are buggy.Ã,  Sometimes the characters pass directly through one another, and the interaction is never run.Ã,  The interaction is still there though, becuase after running through one another several times, it will be run.Ã,  Any suggestions for a fix?
#45
Critics' Lounge / My first space background...
Fri 03/02/2006 23:14:54
Hello all, this is my first space background.Ã,  Due to my extreme lack of awesome skills, I went for a very basic palette, and a calm color mix, not a clashing array of anti-aliased blends of radience... So yeah, I went for a cleaner, but cheaper look...
Due to my lack of patience, I built an AGS program to make starfields for me, after that, the background is made through MS-Paint.Ã,  I need something to make:
a) The star look more like a star, and less like another moon.
b) Something more in the background, or a way to slightly bring out the noticability of the blue cosmic dust in the background without actually changing the color of the dust itself...
c) The ring around the primary planet to look more like a ring, and less like randomly scattered dust.

Now the image...



And an alternative:

1.  Added rings around central planet
2.  Changed pink moon to yellow


Thank you for any critic or advise you can give.

-Regards, Glacies Akumayo
#46
The Rules:
1. Must be open-source. We can hardly inspect your coding if we cant see it.
2. Must contain instructions for how to add to an existing game, this will obviously be easier if the scripting is done as a module
3. Only use of the 3D, TCP/IP and maths plugins are allowed
4. Must provide sample game using your code.
5. Team efforts are allowed, and you're probably expected to get help for sprites, etc from elsewhere.
6. As far as possible, entries will be judged on their scripting and gameplay rather than GFX, SFX, music, etc.
7. Winner will be decided by 1 week of voting at the end.

This Comp topic?
Ya' know what I love?Ã,  Old school video games.Ã,  Pong, Asteroids, Battle Zone, Centipede, Super Breakout, Tempest, Pac Man, awesome stuff!Ã,  So, with this being a coding comp and all, lets think outside the Adventure Game Studio box, and look back to our roots, old school consoles.
So, this comps topic---

Old Style Arcade Game Engine

That's right, I want to see arcade game engines.Ã,  Be it an engine to build your own asteroids game or a simple physics engine to see where the paddle should knock that little white dot!Ã,  I want old-school!Ã,  Let's kill the aliens, blow up the tanks, shoot down the missles, and fight mutant bugs!!!

-Remember though, I want the engine for building a game of this genre, one that can be turned into a game.Ã,  The demo game could surely be an example of a game made with the engine of course-
EDIT---
Keep in mind coders, that the scripting doesn't neccessarily HAVE to be a module, it just might be easier that way, for a topic like this, it might be better to go with a template.Ã,  Though a module would be harder to code, and therefore maybe earn more recognition... your choice...
END EDIT---

Happy coding everyone!

-Regards, Glacies Akumayo




....I wish I could enter..... :P
#47
General Discussion / Personality Defect Test
Sun 15/01/2006 22:54:22
This is the personality defect test I stumbled across.  It is... surprisingly accurate, and insulting...enjoy!
http://www.okcupid.com/tests/take?testid=4741219933576750506

Apparently... I'm a Sociopath.... correct!
#48
Ignore the below posts, they are about a different problem.Ã,  My problem now is with GP_NUMINVITEMS.Ã,  I have this:
Code: ags
Ã,  Ã,  overwhat = 0;
while (overwhat <= GP_NUMINVITEMS) {
Ã,  Ã,  Ã,  if (InventoryItem.GetAtScreenXY(mouse.x, mouse.y) == inventory[overwhat]) { 
//some stuff
overwhat ++;
//more stuff

In my script, however, I get an error saying the array index is 3, and the inventory items vars are 1-2.Ã,  I have created only two inventory items, and the while function SHOULD stop the script upon overwhat hitting 3 shouldn't it?Ã,  What's wrong now?
#49
Could/Will AGS ever support dynamic characters?  Think of the possibility there!  You could create characters on a whim, it would be particularly useful for strategy/society games don't you think?  It could support things like:
CreateDynamicCharacter(dynamiccharactername);
my_dynamic_character.SetDynamicCharacterView(int view)
my_dynamic_character.SetSpeechColor
etc, etc

I dunno, it seems like a good idea to me.
#50
Quote
An exception 0xC0000094 occured in ACWIN.EXE at EIP = 0x00444F8B ; program pointer is +1004, ACI version 2.71.894, gtags (14,22)

(...)

in Enviornmental Effects (line 155)

I managed to get around this the first time it happened, but I don't know what exactly is making it happen.  I coded:

Code: ags

  Overlay* a_envoverlay;


At the beginning of my module script,  in one function I make a_envoverlay using CreateGraphical:

Code: ags

  a_evnoverlay = Overlay.CreateGraphical(...yadda yadda...);


The error is being generated by this line, which is located in the module's repeatedly_excecute_always() function:

Code: ags

  a_envoverlay.X += Random(speed);


What's happening?

-Regards, Glacies Akumayo
#51
General Discussion / (CLOSED)
Mon 02/01/2006 22:14:24
NEVERMIND
#52
'llo Again!  This module converts key text into ASCII code, so you don't have to remember all of it!

Example:
Code: ags

repeatedly_execute () {
  if (IsKeyPressed(GetASCIINumber(RightArrowKey)) == 1) {
    //Execute code if the player pressed the right arrow key
  }
}


See?  Now you don't have to memorize ASCII or go back and look at it all the time!  This module supports EVERY ASCII code that AGS does.

Download here (Thanks Neole!)

-Regards, Akumayo
#53
Probably a stupid mistake, but I can't get this function to imort.  The following line is located in a module's script header:
Code: ags

import function GetNumber(TextValueOption param);


The error is simply "Parse error at 'TextValueOption'"

What did I do wrong this time?
#54
Well, as the subject says, this is my first attempt at a real character (as opposed to a bird's eye view of one) in a very long time.Ã,  I think he looks somewhat okay, but critic on how to perfect him would be most appreciated.Ã,  He is supposed to be a somewhat mysterious guy, who serves as a leader of sorts to his friends.Ã,  The cane/rod thing in the second pose is one of his weapons.Ã,  The metal thing is his other weapon in the third picture.

x1



x2



-Regards, Akumayo
#55
'lo again.Ã,  Here's my newest module.Ã,  Some may find it useless, but I can think of a good many things it would be good for.Ã,  Basically, when called in a repeatedly_execute script, the function in this module slightly alters the color, shade, and lighting of the specified character, object, or region over and over.Ã,  Giving a "flowing color/light" effect.Ã,  It could be used to animate say... a magic orb, a glowing wall, a tank of unknown liquid, etc.
NOTE:Ã,  This module requires the Advanced Randoms Module to be imported and placed before this module in the module manager to function, as it calls two of the functions used in the Advanced Randoms Module.
Download the Advanced Randoms Module near the bottom of this post.

Here is a breakdown of the function:
Code: ags

WildColorGo(WhatToTint param, int tintedthingsidnumber);


WhatToTint controls what you're attempting a tint on, be it a character, object, or region.

tintedthingsidnumber is the ID number of the thing you're tinting.Ã,  This is easily called using commands such as player.ID.

Example of use:
Code: ags

function repeatedly_execute() 
Ã,  {
Ã,  Ã,  WildColorGo(TintCharacter, player.ID);
}


This will constantly update the player character's tint to a different color and shade, giving it a 'glowering' sort of look.
NOTE:Ã,  Objects and characters must have sprites that were imported FOR a depth above 256.Ã,  For example, using the default game and changing the color depth to 16-bit, then trying to run this function on ROGER, will do nothing, as ROGER has sprite's that cannot be properly tinted because of their depth.

THE SHIFTING COLOR MODULE IS DISTRIBUTED AS IS, WITH NO WARRENTY OF ANY KIND.Ã,  THE USER, UPON RECEIVING THE SHIFTING COLOR MODULE, MAY IMPLEMENT, REVERSE-ENGINEER, RE-DISTRIBUTE, COPY, AND OTHERWISE ALTER THE SOFTWARE AS THEY SEE FIT.

User Experience Recommended:
-Basic knowledge or understanding of the 'Tint' function

(I'm not a very good documenter, but you get the point, a credit would be nice if you use it, but that's all)

Downloads:

Please reply any bugs or suggestions regarding the module

-Regards, Akumayo
#56
Well... now that I think about it, it's not a probelm per-say, but a question that an answer to will solve a possible problem (confusing I know)

Anyway, what all does the "return" keyword do?Ã,  I have it in my module function several times under different if statements, it should return 1 under some circumstances, and 0 under others.Ã,  It sometimes returns what it shouldn't though, and though it may be a scripting fault on my part, I would like to know exactly what the "return" keyword does, if anything, when called in a function (aside from returning the following value of course)

-Regards, Akumayo
#57
Hello all.Ã,  For those of you who haven't seen it in the gen gen, I have been working on an AGS version of the famous boardgame, chess.Ã,  This is the first version I find suitable for the games in production section.Ã,  Comments, bug reports, and suggestions are highly appreciated.Ã,  Latest changes in bold

It has:
-Pieces that follow the rules of their movement
-Collision detection to avoid pieces (excluding knights) from moving over one another or landing on top of each other
-A 30 minutes per player game timer
-A two player interface
-Display showing captured pieces
-The ability to show the player when their king is in check
-The Castling move


It lacks:
-The ability to perform the en passant move
-The ability to tell when the game is over because of a checkmate/stalemate
-Flight, super-strength, and laser-eyes

Known Bugs:
-Capturing a piece that was once a pawn and got promoted results in a message saying "You capture a (color) Pawn" instead of the newer piece.
-Capturing a piece that was once a pawn and got promoted results in the captured piece icon of a pawn to appear in the display, instead of the newer piece.

Coming Soon:
-En Passant (shudders)
-AI looking for checkmate
-Undo Last Move button (can now undo piece movement, but won't bring captured pieces back, and returns strange results with after castling)

Screenies:

The Black King in check:


The dark side conquers (older screenie, so king not shown checkedÃ,  :P )


Download here (Version 2.1):
http://www.2dadventure.com/ags/akumayoschessvtwopointsevenfive.zip

-Please enjoy, comment, and suggest
-Thank you, Akumayo
#58
Please re-route yourself to the link below if you are interested in AGS Chess:
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=24081.0






Hello all, I have spent the last two days slaving over this game, and I'm actually pretty happy with it.Ã,  I'd put it in Completed Games, but it's not much of a game and I'm too lazy to make screenshots and whatnot.
Anyway, this is my AGS chess game.Ã,  I tried to make it like a real chess set, with two real people playing, therefore, you can cheat, you can put peices on top of one another, you can make your queen jump peices, you can even move your pawn backwards!Ã,  The upsides:Ã,  most peices (pawn's excluded) have functioning movement that follows all rules except that it ignores other peices, capturing works well, pawns can be promoted for reaching other side, you can take your moves back (manually), there is an optional game timer set to 30 minutes per player, and it's two player!
So, err, here it is, have fun with it...Ã,  (especially if you don't have a chessboard)

The AGS Chess Community Version is now available!!!
Cast:
Black Pawn:Ã,  Hotspot / White Pawn:Ã,  SSH
Black Rook:Ã,  Squinky / White Rook:Ã,  DCMacphee
Black Knight:Ã,  m0ds / White Knight:Ã,  Las Naranjas
Black Bishop:Ã,  Darth Mandarb / White Bishop:Ã,  MrColossal
Black Queen:Ã,  Kinoko / White Queen:Ã,  La Lore
Black King:Ã,  AGA / White King:Ã,  Punaman

AGS Chess Community Version here:
http://www.2dadventure.com/ags/AGScommunitychess.zip

AGS Chess Original:
http://www.2dadventure.com/ags/Akumayoschess.zip
#59
http://www.dimensionex.net/

Has anyone tried this?  I haven't yet, I thought I'd get your opinions first.  It looks promising, and the license is very much like AGS's.  This could be used for that multiplayer online adventure game that was talked about a while back.  Anyway, is it worth downloading?
#60
I am having a problem with a display command.Ã,  It works in every other room but one, and in this room, every other part of the script works, just not the display, which appears off-screen rather than beside the charater.
Code: ags

function GainHealth(int gain) {
Ã,  if ((health + gain)>maxhealth) {
Ã,  Ã,  if (gBattle.Visible == true) {
Ã,  Ã,  DisplayAt(1, 1, 97, "+%d",Ã,  ((((health+gain)-maxhealth)-gain)*(-1)));
Ã,  }
Ã,  else {
Ã,  Ã,  DisplayAt(player.x, player.y, 97, "+%d", ((((health+gain)-maxhealth)-gain)*(-1)));
Ã,  Ã,  }
Ã,  Ã,  health = maxhealth;
Ã,  }
Ã,  else {
Ã,  Ã,  if (gBattle.Visible == true) {
Ã,  Ã,  DisplayAt(1, 1, 97, "+%d", gain);
Ã,  }
Ã,  else {
Ã,  Ã,  DisplayAt(player.x, player.y, 97, "+%d", gain);
Ã,  Ã,  }
Ã,  Ã,  health += gain;
Ã,  }
}


This command (when it screws up) is called when gBattle.Visible == false

The only thing different about the room it screws up in is the resolution (480x600)
Any ideas as to why it displays off-screen (or sometimes onscreen in the wrong place)?

-Regards, Akumayo
SMF spam blocked by CleanTalk