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

#1
As somebody who has done web design in the past, I will say that I think the space the "Create, Play, Join" buttons takes up (as in the background) takes up way too much of the space. I would go as far as saying that how I see it, its off-putting, because with a game engine's main website you need to show its strengths straight away, and I think that's something lost in the transition to a new design (you suddenly can't see what AGS can do for you as a developer until you scroll down).

I think a solution to that would be to anchor this...

...To the header, below what's already there. That way the buttons are always accessible without scrolling up, and the "Create Your Own Adventure Games" part will be visible when you load the page, the buttons would instead be like Wikipedia uses them for sections, moving the top of the section to below the header, with the rest above that point.

At first glance, the only other minor criticism I have, is that I feel the Auto-Progress bar in the "Create Your Own Adventure Games" area could be smoothed out a bit, it seems to go fast, and then slow down drastically near the end, whereas that would look more natural to be spread across the entire bar.
#2
I haven't posted here in ages, but I come to ask for, following the transition to SDL2, for SDL2_net v2.20, the seemingly final version of that library for SDL2 (with the move to focusing on SDL3), to be included with AGS. SDL2_net is a pretty powerful, but also simple to understand, socket-based networking library. I feel like having networking as an option, would give the engine new uses beyond traditional Adventure Game (such as people making multiplayer versions of board games, card games, dice games, etc, which could realistically use AGS with just the inclusion of networking).
#3
Quote from: TheFrighter on Mon 25/02/2019 18:13:43
Quote from: Jack on Mon 25/02/2019 17:49:27

There are creators of a full cringe new Larry game still running free as well.


Are they related to Sierra?

_

Not even the Leisure Suit Larry IP is related to Sierra anymore, its owned by Codemasters! Leisure Suit Larry: Wet Dreams Don't Dry was made by CrazyBunch and Assemble Entertainment. And honestly, that Leisure Suit Larry game has been the most enjoyable (which didn't have any involvement from Al Lowe) in the series for me! Leisure Suit Larry: Magna Cum Laude and Leisure Suit Larry: Box Office Bust were horrible games that totally obliterated the genre, style and representation of Leisure Suit Larry for no real reason other than staying "cool".
#4
Quote from: Jack on Mon 25/02/2019 17:49:27
Nice little video. Never trust a CUC.

Sierra can stay in the bin as far as I'm concerned, or we'll see more weak nonsense like the "Spaceventure" trying to recapture former glory, which was squandered by the people in charge in the first place. The people who made SQ6 should've gone to prison too. There are creators of a full cringe new Larry game still running free as well.

BTW, as of last year, Forbes is out of prison again.
Well, at least the SpaceVenture thing is being made by the Two Guys From Andromeda... If we want to see Sierra continue, we have to keep supporting the developers that made Sierra the driving force it was! And yeah, I know both Shelton and Forbes are now out of prison.
#5
I've made a short documentary on Chainsaw Monday, the Major Layoffs at Sierra On-Line which happened 20 years ago, on February 22nd, 1999 in Oakhurst, CA and ultimately destroyed the company, albeit slowly and needing another set of layoffs in 2004 to finish off the job! Anyway, its good to remember Sierra... And, its good to know why you shouldn't let somebody else buy out your company, especially if they're fraudulently fiddling with the business statements! ;)

#6
Quote from: Danvzare on Fri 22/09/2017 11:23:04
Quote from: CTxCB on Thu 21/09/2017 22:01:55
Consider making a move to Lua as a coding language, and allow Lua to handle Arrays, Lists, Random Numbers, and such. Rooms and scripts would be coded in it and work with AGS using bindings. I believe Lua would be much better for AGS because it'd be much faster to compile and run, and be much easier for game design.
I don't like Lua. Never have. I much prefer the coding language we have right now. It's a lot easier to use that Lua in my opinion.

Quote from: CTxCB on Thu 21/09/2017 22:01:55
Consider moving away from .NET for the editor's framework to Mono (http://www.mono-project.com/). Mono is based upon the .NET framework and is cross-platform with Windows, Mac, Linux and I believe also phone platforms...
I thought most Linux users hated Mono, to the point of almost condemning it.
At least, that's the impression I got whenever I looked at anything coded using it.

Except for these two caveats, you've got some good ideas. Are you going to try to implement them?
I don't know C++, but I'm open to learning it once I have a working computer again if nobody else can step up to make the changes... Which would be early next year! The reason I suggested Lua is simply because I think the coding language currently available, whilst good at what it does... Arrays, Lists, Random Number Generation, so on are badly handled, even if Lua is just behind the scenes and accessed through a binding to keep all the current code as is, Lua has so much functionality built in that AGS could benefit from.

If you have a better suggestion for a cross-platform framework that supports Windows, Mac and Linux, please feel free to suggest it... Because I do feel the limit of only being able to create your games or easily release them for Windows is a driving force between people moving away to other available products, even paid (Adventure Creator being an example). I think the problem here is that the engine has been built on a primarily Windows-orientated game development library, Allegro, and the editor has been built on a primarily Windows-orientated framework, .NET, and instead of fixing that sooner it's been built upon with more and more code to a point where such a task is very daunting. I don't blame anybody for that, I just think now is the time to stop working on AGS after the release of 3.4.1 and focus on these shortcomings.
#7
I love all the work you're all doing in AGS, but I really do believe in order to make AGS even more amazing, reliable and easy to use across multiple platforms there needs to be some changes to AGS' interior. Below I've listed the proposed changes I believe would have to be made as Engine and Editor V4.0 Alpha suggestions, these are not things that will happen... But if they can, I believe they should.

Engine
  • Consider a move away from Allegro (including alfont, almp3 and alogg) and dumb (that's the name of a library!) libraries, opting to instead move to SDL 2.0 (including SDL_image, SDL_mixer, SDL_ttf and SDL_net) (https://www.libsdl.org/). I understand that this would take a lot of work, but I truly think if coupled with the needed rewrite... AGS Games could run more reliably, and it'd be easier to make AGS cross-platform without needing extra teams working on different ports.
  • Networking is something that could be added as a little side-thing simply because SDL_net does a lot of the real work and only editor functions would be needed, I think.
  • If a move to SDL 2.0 happens, consider allowing OpenGL and Vulkan support for newer graphic cards and processors.
  • Consider looking for a new video library which is built for SDL 2.0, just because it'd probably make videos much better overall and possibly even add functionality.

Editor
  • Consider making a move to Lua as a coding language, and allow Lua to handle Arrays, Lists, Random Numbers, and such. Rooms and scripts would be coded in it and work with AGS using bindings. I believe Lua would be much better for AGS because it'd be much faster to compile and run, and be much easier for game design.
  • Consider moving away from .NET for the editor's framework to Mono (http://www.mono-project.com/). Mono is based upon the .NET framework and is cross-platform with Windows, Mac, Linux and I believe also phone platforms... This coupled with SDL2's cross-platform nature could mean Windows, Mac and Linux Editors and Engines could be built from one person with much less difficulty than there already is.
#8
I know... It's just really annoying when you find the perfect font and then you realise it's got weird spacing between some of the letters, and then you have to go back to searching again for that perfect font. Any idea when the fonts library and this functionality (Such as Kerning) might be updated? Text is an important part of my project and I want it looking the best it can be.
#9
Beginners' Technical Questions / Font Kerning
Wed 01/03/2017 11:13:37
So, I've tried a lot of fonts, and a lot of them whilst looking great have little problems that are quite annoying... Like kerning problems, extra space between certain letters or just generally spaces that are a bit too big. Is there anything I can do to fix this without editing the font itself?
#10
Quote from: Crimson Wizard on Tue 07/02/2017 13:50:18
Label wraps lines automatically.
Along with GetTextWidth there is GetTextHeight function that would tell what the text's height will be given particular width, which may be used to set up label's height somehow.
Final question before I'm ready to do this entirely. I want to take the text from a button, calculate it's width in pixels and add 8 pixels to that, to create the "perfect" button width with padding. How can I do this?
#11
Quote from: Crimson Wizard on Tue 07/02/2017 12:58:49
Quote from: CTxCB on Tue 07/02/2017 12:21:41
offsetXType and offsetYType are either "Pos" meaning Positive, or "Neg" meaning Negative, and using an if statement, it decides whether the offset should be applied going Postively (E.g: To the right of X or Down from Y) or Negatively (E.g: To the left of X or Up from Y).
Hmm, could not you just use negative values for negative offsets? That would save 2 extra parameters.
I think I'm going to keep the current structure and just remove the height as an argument. Since I want that to be dynamic by taking the fixed elements on the window and adding the height of the label (multiple lines), how can I calculate and wrap lines of text in a label?
#12
Quote from: Crimson Wizard on Tue 07/02/2017 12:03:43
BTW, I do not know what offsetXType is, but if you could use enumeration instead of string there, they could also be included in such managed struct.
offsetXType and offsetYType are either "Pos" meaning Positive, or "Neg" meaning Negative, and using an if statement, it decides whether the offset should be applied going Postively (E.g: To the right of X or Down from Y) or Negatively (E.g: To the left of X or Up from Y).
#13
Code: ags
import function DisplayAdvancedTextWindow(int width, int height, int offsetX, int offsetY, String offsetXType, String offsetYType, String title, String contents, int buttonCount, String buttonType[], int buttonTypeCount, String buttonText[], int buttonTextCount, String buttonCallback[], int buttonCallbackCount)

I'm trying to do that in my GlobalScript Header, so it can be referenced by rooms and everything without having to replicate the same code in hundreds of rooms but I get the error "Failed to save room room999.crm; details below - GlobalScript.ash(5): Error (line 5): too many parameters defined for function" despite the fact that the above matches the amount of parameters which the function has. Is there some limit I've reached? The worrying this is that I probably can't decrease the number of parameters by much.
#14
Quote from: Crimson Wizard on Tue 07/02/2017 08:26:30
When you run game setup (compiled as winsetup.exe for your game, or run Build->Run game setup) there is "Scaling" option, which lets you choose between "Max round multiplier", "Stretch to fit screen" and "Stretch to fit screen keeping aspect ratio".
Max round multiplier finds maximal round (integer) multiplier which fits into screen.
Stretch - stretches the game to whole screen, but this may cause image distortion if the game size's aspect ratio is different from your monitor's
Stretch keeping aspect ratio - stretches the game to touch at least either vertical or horizontal borders keeping game's aspect ratio. This will help to avoid distortion, but may still leave black borders.

If you have already chosen "stretch (keep aspect ratio)", but still have too much of black borders, there is nothing else that you can do really. If AGS were a tiled 2D engine, or 3D game, you could display more or less of the gameplay area depending on aspect ratio, but AGS features fixed-sized 2D rooms.

I'd think that there could be ways to support different aspect ratios by providing optional parts in your room that may be shown only if the game does not fit whole screen, or an option to make the room scrollable in that case, but AGS currently does not have such function.
Thanks, I didn't think about compiling the EXE and going through it's inbuilt Game Setup Tool, I presumed it'd be part of the Game's settings. Everything regarding scaling is fine now, no letterboxing to make the game look like a 4:3 Movie being played on a 16:9 TV. :P
#15
Quote from: Crimson Wizard on Tue 07/02/2017 08:29:53
Quote from: CTxCB on Tue 07/02/2017 00:53:15
Would this also work with the buttons too? Seeing as they'll be different sizes depending on text and stuff.
Yes, absolutely, except for button you need to set NormalGraphic property.
A little related to this, I'm making a helper function to make creating everything a lot easier. I've got through most of the function parameter definitions myself, since they're either int, or String, but for the text of the buttons, I want to send that in a table, an array, whatever's best for sending multiple variables at once within one parameter to make traversing and doing the job a lot more efficient. How would I define that as a parameter?
#16
Hi all, I'm probably just missing something or really stupid, but I've looked through the settings of my game... I've tried everything I can but still when I launch my game at 1920 x 1080, there's a HUGE amount of letterboxing on the top and bottom but not the sides. How can I fix this?
#17
Quote from: Crimson Wizard on Mon 06/02/2017 23:01:54
Quote from: CTxCB on Mon 06/02/2017 22:42:02
Two concerns I have, though: A) Would changing it's (the GUI's) size cut off part of the GUI Skin I've made? B) If so, would it scale it, because that might make it look bad... Ideally, I'd prefer something like what a Text Window GUI does where it draws the sprites as is on the screen, I already have all the sprites needed for something like that.

It will cut it, won't rescale. But if you like to have something like TextWindow, you'd have to script drawing tiles on GUI background. That is more scripting, but it's not too difficult either. One important thing is that you will have to learn how to work with DynamicSprite and DrawingSurface objects.

DynamicSprite is a sprite created at runtime, which you can modify right in script ("normal" sprites cannot be altered). You can use it as a GUI background and draw your window component on it.
DynamicSprite should be a global variable, because it needs to exist as long as GUI is on screen (at least), or the game will crash.

The general idea is that when you need to show GUI (at the point when you already know its new size) you will need to create a sprite, keep its pointer in a variable, draw your window sprites on it and attach that sprite to the GUI background.

Quick example:
Code: ags

DynamicSprite *MessageGUIBkg; // declared somewhere at the top of the GlobalScript.asc

function DisplayMyGUI()
{

    <...> // some other calculations and operations go here

    MessageGUIBkg = DynamicSprite.Create(gMyGUI.Width, gMyGUI.Height); // create a big sprite same size as GUI
    DrawingSurface *ds = MessageGUIBkg.GetDrawingSurface(); // get the drawing surface object to draw upon the sprite

    // For example, you need to draw border tiles along the top border, and your tile sprite index is #100
    int border_spr = 100; // remember border sprite index in a variable, for readability
    int x = 0;
    while (x < gMyGUI.Width)
    {
        ds.DrawImage(x, 0, border_spr);
        x += Game.SpriteWidth[border_spr]; // advance by tile's width
    }

    ds.Release(); // do not forget to call Release on DrawingSurface, or its changes may get lost!

    gMyGUI.BackgroundGraphic = MessageGUIBkg.Graphic; // assign our big sprite as a new GUI's background
}


Would this also work with the buttons too? Seeing as they'll be different sizes depending on text and stuff.
#18
Quote from: Gurok on Mon 06/02/2017 23:23:36
I have voted. Thanks for the really convenient list of links.
No problem, thanks for helping out... I just need to find Sierra Fansites and stuff to help exposure this through to help get this to more Sierra Fans who want to see Sierra's games online legally in a way where they can purchase them and support the future of Sierra, whatever ActiVision Blizzard's plans are for the brand name, personally I'd like to see either a new Laura Bow Game, a cross between Police Quest and Police Quest: SWAT game, or a new Phantasmagoria game.
#19
Thanks for all this -- It's making this task look a lot simpler now. Two concerns I have, though: A) Would changing it's (the GUI's) size cut off part of the GUI Skin I've made? B) If so, would it scale it, because that might make it look bad... Ideally, I'd prefer something like what a Text Window GUI does where it draws the sprites as is on the screen, I already have all the sprites needed for something like that.
#20
Quote from: LimpingFish on Mon 06/02/2017 21:29:37
Quote from: CTxCB on Mon 06/02/2017 20:14:45
I'm presuming it's public domain since it's source code is available at http://www.ifarchive.org/if-archive/games/source/

Sorry, but that only applies to the source code itself, much like how Doom's source code is freely available, yet the Doom brand is very much copyrighted. It would be a safe bet that Snarky is correct in his assumption that Softporn Adventure still belongs to the current rights holder, Activision Blizzard.

So getting it for free might be a bit of a stretch.

I like this project though, as game preservation is an all too often ignored concern. :)
Ah, okay. I still feel it should be released as a separate entity, as well, since it's technically another game, it isn't specifically a Leisure Suit Larry game despite it's right to be in the collection. I think Codemasters MAY own the rights actually, since they own the rights to Leisure Suit Larry's IP. It could also still be ActiVision Blizzard's though, and they had permission from them to add it to the LSL Collection on GOG.
SMF spam blocked by CleanTalk