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

#61
I think he meant for both petrol and ferry because 600 miles @ 40mpg @ £1.25/l = £85 fuel; + £100 ferry = £185; / 4 = £46 each, so realistically £50 sounds fair. Continental petrol is the same price as here unfortunately, diesel is a bit better though.

It's difficult to say for sure but I believe this is the house (on the east bank), based on the directions description and the fact that there's a brook named "Risdoux" next to it.
#62
Yup, and results posted now, well done to the winners, and I hope everyone had fun. Thanks to the voters by the way. I know it's a lot of radiobuttons to deal with at once, but we had a few more than usual I think.
#63
You can go ahead and vote here, sorry about the delay.
#64
The ferry is not that much longer really, it'll just add another hour to the journey, and at this point it seems worth it. If you want to save some money take the ferry a couple of hours later than our crossing, it'll give you some more time to get down and you don't really need to be at the house as early as us, the booking is in AGA's name so we wanted to get there first. If you leave at 1:30pm on P&O and return at 3pm it'll be £110 between the lot of you, half the price of the tunnel...
#65
OROW happens about once a year, that's nothing to do with the voting period, I think two days is more than enough to decide the voting, most people that take part just play the games in one session. As it happens I'm being a bit slow about getting the voting up since the forums are not on the usual server, but it'll start later today and end two days after that.
#67
The competition is officially over now. Looks like we have 12 entries. I'll get the games and voting page up some time in the next few hours.
#68
1 hour and 15 minutes from now.
#69
I agree, but I also think the state of the ports makes those kinds of arguments unconvincing for now, unfortunately. If theora support went into the engine how many years until a new Mac/Linux engine appears, if it ever does? Unless the engine is a collaborative project maintaining ports seems rather difficult. Mac/Linux users seem better off on emulators.
#70
For those that haven't submitted yet, 6 hours until the deadline.
#71
Tomorrow is the final day, hope things are going ok. When you're ready to submit PM me a link to the file and I'll merge them all into one download as usual.
#72
Yeah, the price will only go up otherwise. Our car is going down the tunnel which I think worked out about the same price as the ferry at the time, between 4.
#73
General Discussion / Re: A UFO theory.
Thu 26/06/2008 15:10:21
QuoteSurely it is actually better, or more fun, to believe it's real, than to believe its not?"
That basically sums it all up. The disagreement here is if it's more fun to believe in scraps of ancient numerology and pop culture monsters than all the things you can learn if you DON'T throw your critical thinking abilities down the drain on fantasies.

I think VWG is right, UFO sightings and media coverage feed off each other, there's probably no media conspiracy.
#74
Yeah, there is, I just meant there's not a lot we can do. Maybe CJ will decide to resolve this. The easiest way is probably mailing the authors to ask if they are ok with it.
#75
Most people that use the LGPL would have no issues with statically linking to an unmodified version of their library without releasing source, what difference does it make really? Nobody takes the dll out of a game and uses that, they'll get or build it for themselves. But technically you're right, AGS doesn't comply with the LGPL as far as I can tell. The LGPL static linking situation is a bit weird, it doesn't mean you have to release the entire source actually, but you are required to share the source of the library as well as supply your compiled object code that was linked to make your executable in a form that others could use it (like the .o files, seriously).

The situation for game makers is a bit different considering all you are distributing is the compiled engine packed along with some data files. Your data files presumbly wouldn't be affected by AGS's licensing even if it was entirely GPL.
#76
Like SSH said, that's a linux/unix command, you can install cygwin and get those tools on Windows. Or if you'd prefer here's a python program to do it:
Code: ags
import os
for dir, subdirs, files in os.walk("/"):
    if not files and not subdirs: os.rmdir(dir)
#77
Well like I said, obfuscating the videos is an option if someone cares enough, it's slightly easier to work with plain files but I'm willing to put in the work if someone is making a good video heavy game. An ogg theora file renamed to .dat is fairly obscure as it is, but yeah it'll still play in VLC and I can understand wanting to hide them better.

The video there is actually lower quality than you might be able to squeeze out at the same bitrate because it's cropped then transcoded from another medium bitrate video.

I also think this kind of thing should end up in the core but for now a plugin isn't too bad, considering the state of the other ports, and how video doesn't work on them anyway.
#78
Any bitrate or fps is fine (if you replace theora.ogg in the example it will hopefully work), you don't need to lock your game speed to the video speed as I did there, that's just the most convienient way. If your videos are different speed you could do something like: "video.Sync(gameFramesPassed * (1.0 / IntToFloat(GetGameSpeed())));" instead of using NextFrame and it'd run at the right rate whatever your game speed is, just not updating every frame. Hopefully.
#79
Oh yes, I appear to have broken that when I removed another bit from the room script before release, I'll update it. And updating it I see I broke another rotation related thing so I'll have to update it again later, anyway... rotation probably isn't likely to get used much, glad it works in general.
#80
I made this for background animation in my own game, thought I'd package it up for release... hope it's useful for someone. Essentially it's a video playing plugin, with an internal ogg/theora decoder. Theora is a free video codec targetted to compete with well known MPEG4 codecs (xvid, divx etc). Quality isn't quite there yet but close enough, and the encoder is still being improved.

Generally be careful with it because as I said, it's for my own use and may not work in unusual situations. For a start it only supports videos encoded in YUV420 which happens to be most of them. Also seeking doesn't align to keyframes so there will be momentary tearing when seeking to a non keyframe, tell me if you need that fixed. Doesn't interpolate chroma though I suppose it should. If anyone actually uses it they can tell me what they want adjusted for their purposes.

plugin download / demonstration download (try it in d3d mode to see the rotating etc if you care)

Interface

Code: ags
/* values specifying the "layer" of the scene to draw the video over */
enum RenderStage {
    RsBackground,
    RsScene,
    RsUI,
    RsOverlay
};

enum RelativeTo {
    RtRoom,
    RtScreen,
    RtScreenPixels
}

/* Each Theora instance represents an open video file. */
struct Theora {
    // opening
    static Theora* open(string name);
    
    // positioning
    void NextFrame();       // move to next frame
    void Sync(float time);  // advance 0 or more frames to sync with time
    void Seek(float time);  // attempt to seek to a position
    
    // status
    readonly bool broken;   // the video is bad and can no longer render properly
    readonly bool ended;    // end of video was hit, no more new frames will appear unless looped
    readonly float time;    // current time of video (may be inaccurate)
    readonly float fps;     // fps of encoded video, you don't have to stick to it if you don't want to
    readonly int width;
    readonly int height;
    bool loop;              // enable/disable automatic looping

    // rendering
    void Draw(RenderStage stage, int left, int top, RelativeTo);
    void DrawEx(RenderStage stage, float cx, float cy, float xscale, float yscale, float rotation, RelativeTo); // scale/rotation can only be used if d3d renderer is being used!
}


Advantages of this over regular video playing are
. doesn't require user to have installed any codecs, while providing better compression than available by default
. completely free format for free and commercial use
. draw videos within your scene and onto sprites for special effects
. (hopefully) no black frames or other signs of switching between game and video

Disadvantages
. is a plugin, therefore only works on windows engine right now
. decoding is fairly slow, YUV->RGB conversion needs to be done in software which is an additional overhead, not sure what the minimum specs for a full screen 640x480 30fps video would be, but somewhat higher than the regular video player. However, I did have someone test the demo on an ASUS EEE PC with 900mhz processor and it seemed fine.
. does not do audio. AGS already does audio, if you want you can sync up a sound/music file with the video with script. The main purpose of the plugin is background animation which does not require audio.
. requires some scripting to get it going, videos don't play on their own (although I could make them if people really want)
. only supports 32 bit mode at present
. software mode doesn't scale videos, therefore playing your game at the wrong resolution (scale filters are fine) will look bad. I don't think AGS should have this option on the setup though, personally.
. one unpredictable lockup issue which occurs from time to time when exiting in d3d mode, which I will fix some time, but it is fairly rare for me.

Details

It's quite basic as it is, I only need it for background animations, but if anyone uses it and would like features go ahead and suggest them. Support for 16 bit mode and video file obfuscation might be worth doing.

Here's the room script from the demo game, as an example of how to play a video on the background (and how to scale and rotate one in D3D mode.

Code: ags
Theora* video;
float rot = 0.0;

function repeatedly_execute_always() {
    if(video) {
      video.DrawEx(DsBackground, 160.0, 120.0, 0.5, 0.5, 0.0, RtScreen);
      if(System.HardwareAcceleration) video.DrawEx(DsScene, 260.0, 120.0, 0.25, 0.25, rot, RtScreen);
      video.NextFrame();
      rot += 0.2;
    }
}

function room_Load() {
  video = Theora.Open("theora.ogg");
  video.loop = true;  
  SetGameSpeed(24); // you don't need to use the same fps as the video like this, but it's easiest this way
}


I should also say, if you have a video open and go to another room, that video is still open! When you no longer need a video set the pointer to null. You can do this on exit, and load it on enter if you want. Just in case someone loads a video background in every room and wonders why it's taking 100s of MB of RAM.
SMF spam blocked by CleanTalk