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

#21
Is there any way to draw a dynamic sprite in a different blending mode? Like screen or multiply? Or is there at least a function to change color values per pixel when drawing sprites, so I could do the calculations myself?
#22
Jeez it's late - well finally I'm finished:
This is a MAGS game I made for the November competition.

Dacey in the Dark - Prelude

It's a game about fate. This chapter deals with the melancholy we cherish towards times long gone. I'm planing to release more chapters.



Download

http://www.mediafire.com/file/vqbb8cjb5drqbji/DaceyintheDarkMAGS.rar
#23
Hi guys,

I'm drawing a speech bubble on a gui. The text is put into a text label. I'm dynamically drawing the size of the textbox depending on the length of the string.

 int chars;
 int lines;

 while (text.Length >= chars) {
   
   lines++;
   chars = chars+26;
 }
 gbubble.Height = 13*lines;// 13 is the height of the font
 
The problem is that this is unreliable, sometimes I end up with spare lines and sometime a word gets cut off.
Has anyone an idea of a more precise way of doing that?
#24
I have this in my module script:

// new module script
function repeatedly_execute_always() {
overhotspot.X = omarker.X+13-GetViewportX();
overhotspot.Y = omarker.Y-15-GetViewportY();
cmarker.x = omarker.X;
cmarker.y = omarker.Y+50;
}

When I try to run the game I get an undefined object error. How do I reference objects from a module? Or isn't it possible?
#25
I want to play a different sound when a certain type-character is at a certain position in a string

First I tried this:

if (text.Chars[trunc] == I) {
   aI.PlayQueued();}

- which does not work

Then I tried this

if (text.Chars[trunc] == 78) {
   aI.PlayQueued();}

- which works BUT now I have to manually find out which char number corresponds to which letter. Is there an easier way to do this or at least a table somewhere, where I can identify char numbers?

Thanks in advance!
#26
This is my first front walkcycle in a long time and I just can't seem to get it right. Something still feels a little odd but I can't put my finger on it. Maybe you guys can help:

#27
I noticed there's a WalkOn event for hotspots but there isn't a WalkOff one.
I want to give an object a certain tint while the player stands on hotspot and if the player walks off, I wont to remove the tint.

Of course I could use Regions for that, but there are only 15 Regions and that won't be enough, in fact even 30 Hotspots could also be problematic, as I'm using pretty big bgs. Maybe there's a possibiblity to increase the count?
#28
Hi there,

I'm having some serious issues with my game (800x600, 32bit color)
I'm running the fog module and I'm drawing some particles on the Background with Particle Systems manager.

My Problem is that with both enabled the game goes completey slow:

With DirectDraw I can't daw the fog elements without going down to 20 frames.
With D3D I can't draw the particles (even if its only very few) without going down to 13 frames.

So my question would be - is there any kind of workaroound for this? Maybe a different way to draw particles (with alpha) or do I have to accept this engine restrictions?
#29
I'm using a modified version of Bernies very simple platformer script.
Anyway collisions are handled by determining if a certain coordinate lies on a walkable area.
It works fine so far by using routines like this:

if (GetWalkableAreaAt(player.x-GetViewportX(),player.y-128-GetViewportY())==1)  Display ("Collision");

The problem is it doesn't work properly while the screen is moving (e.g. if it is moving up while jumping the "player.y-128-GetViewportY()" stays the same value) leading to wrong results.

I think it originates in the player using room coordinates and the GetWalkableArea using screen coordinates.

I really hope there's a workaround for this because I don't know another way of doing it.
#30
I want to start a dialog by calling a custom function which does various stuff before showing the dialog.

function StartDialog (Dialog);
{
//random stuff...
Dialog.Start() // This is where I get an error
}

I know i'd probably have to write something  instead of  "Dialog" in the start command but I can't figure out what. I'm still very inexperienced handling structs.
#31
Hi Guys!

I recently started thinking about designing a so called cinematic platformer. For those who never heard of this term you might now Games like Out of this World/Another World, Flashback, Heart of Darkness or Oddworld and ultimately Prince of Persia (the old one). Also the (brilliant) AGS game 1213 would fall into this category (I wonder if there are any more of these here?)

From the technical side this is coming together quite well. Actually coding the basic controls took me only a few hours (the stuff I learned when making Abduction really helped). And with the rotoscoped animations it looks already pretty cool.
Story and art-wise I already got (at least) a concept.

Whats puzzling me is the gameplay. When I think about these games mentinoned before I've mixed feelings.
I love the degree of immersion they create compared to classic point'n'click games. Of course the graphics and animations and that they actually try to balance action and adventure unlike the so called "action adventures".
On the other hand I don't like the trial and error gameplay, the fact that you die on every corner, the sluggish controls and the lack of adventure style dialogs.

So I'd like to know from you what you liked and what you hated about these games. To avoid mistakes other games made before.

The other thing is, when doing a platformer you really have to design stages in a functional way (very much more than in a classic adventure).
So maybe someone has some article, link or advice concerning 2D level design.


#32
ABDUCTION

Overview:
You take the role of a Hijacker who only has one goal: Abducting the Princess!

It's a Game about human desires, about fame and fortune, about love and hate and ultimately about life and death itself.

I made this game for MAGS September 2010. It's what I would call an Arcade Adventure. It controls like an arcade platformer, it plays like an adventure game.

Features:


  • Keyboard or Gamepad (recommended) controlled!
  • Upbeat retro sountrack!
  • Animations galore!
  • Parallax backgrounds!
  • No bothersome dialogs!
  • And one extra life!

Link:
Download:
Download Link! (Rev.4)


Screens:




More Info:
Please keep in mind that this game is rather easy and really short. It was created in only a month.
I first got the idea for this game when I was replaying Sam'n'Max Season 1. I still thought it was cool but what really bothered me (and thats the problem with all classic point'n'click games) was the redundant walking around and having to go through lot's of dialog (again). Overrall that really makes the game's pacing slow and feels outdated.
So I came up with the concept for Abduction. A game without dialog and an arcade like gameplay. This is a radical and time consuming (for the creator) aproach but for me it could serve as a blueprint for future games with a similar style. It is my first game and there are a lot of things I just learned while making it.
So I'd like to hear your opinions and of course a report of possible bugs.

Known Bugs:

if using the candle -again- where the spring apeared near left of the blacksmith- the game froze. (thanks to LUniqueDan for reporting)

Update: 1.10 10:56. There were some serious bugs in the earlier releases. Some might have rendered the game unfinishable if they occured. They should be fixed now. Also fixed some issues with sounds not playing. If you downloaded an earlier version you might want to get this. Sorry for the inconvenience.

Update: 10.10 10:56. If you had problems finishing the game this issue is now fixed.
#33
I'm using AGS 3.1, with a resolution of 800 x 600, 32bit color depth

I want a video (ogv) to be played at startup, which works fine in window mode and when switching to Direct Draw in Fullscreen.
But if i change it to D3d9 it won't show up in fullscreen mode.
Of course I could fix this by changing permanently to DD5 but it the game is very sprite heavy and starts to lag.
#34
Critics' Lounge / Trying out a new technique
Mon 20/09/2010 10:43:42
Hey everyone,

I was thinking about a quick way to create rather realistic looking BGs for a 640 resolution. So I came up with this technique.
Basically I just sampled gradients from a photo source put in some simple shapes and the rest is just layer effects.
I was amazed how quick and easy it is to create backgrounds this way. If there is some interest, I might do a tutorial after I finished my mags game (which has a completely different style BTW).


#35
I want to customize the keyboard movement module, so it responds to joysticks also.

So in the global script i do:

Joystick *joy;
export joy;


In the module header I add:

import Joystick *joy;

When I try to use joy in the module script I get an error which says Script Link failed: runtime error: unresolved import "joy"
Joy works fine in the global script so I figure it has to do something with the import.

I hope someone can help me with this!

-mode7
#36
Hey everyone,
I hope someone can help me here because my head is going to explode if I think about the problem any longer.
My coding style is probably horrible, because I'm not really experienced with coding.

CODE:

function room_RepExec()
{
if (goInv.ItemCount > 0) item = goInv.ItemAtIndex[goInv.TopItem].Name;
}

...

function region5_Standing()
{
if  ((item == "iKerze") && (useinv == 1)) //useinv determines if the inventory key is pressed
  {
     useinv = 0;
     // RANDOM STUFF HAPPENING
     cEgo.LoseInventory(iKerze);
    }
}


HOW IT'S SUPPOSED TO WORK:

When you press a certain key the player should use the currently displayed inventory item, which is the "TopItem". So I use my custom "item" String to store the name of the "TopItem", in the RepExec function.
It works with two exceptions: If you don't have any items, the "goInv.ItemAtIndex[goInv.TopItem].Name" will return NULL which I already prevented from happening.

But if the TopItem is the last item in the inventory i get the NULL POINTER error again after I lose the Item. If the item I use is not the last item everything works fine.


And this is what I don't understand. When I do "LooseInventory" the "TopItem" should by lower by 1 and the next item should be selected. Or am I getting this wrong?

I hope someone here can explain and possible help me to fix this.

Thanks in advance
- mode7
SMF spam blocked by CleanTalk