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 - Alan v.Drake

#1
You probably noticed I've been giving the manual a makeover.
Use this thread for wishlists, broken functionality reports, etc.

It's been tested with Chrome and Firefox, but Safari may still have some quirks to iron out.

Last thing I had planned was adding a version selector, either on the top-right, or above the topics on the left, or both (desktop top-right and mobile on the expandable menu).

The ags4 manual is not yet fully documented, and there's still some work to do to deploy both ags3&4 on the website. But generating both chm and html for either versions has been proven to work, so it's just a matter of time.


- Alan


#2
Since I have some time right now, I'm trying to finish implementing the base support for PO translations.
So, I'd like to discuss some things and plan what to implement.

I have an open ticket for this activity:
https://github.com/adventuregamestudio/ags/issues/1780

What are PO translations?
The PO format is a widely adopted standerd for translating strings.

What are the advantages over .tra files?
It's more solid.
Currently you can mistakenly add spaces to the original string, and end up the Editor recognizing it as a new entry.
Or adding a newline, and so inverting the order of all subsequent "original<->translation" pairs.
With this new format, besides avoiding those problems, we can add some metadata which may come in handy, and most important, there are plenty mature tools to edit them (Poedit, web platforms, etc).

I currently do not plan to implement pluralization or using different translations depending on context, as these would require some bigger changes to both editor and engine.

What's there to think about?
Because PO files support a variety of features (tracking source lines, comments for translators, etc), I'd like your input on how we should implement them in the future.

1. Comments for translators:
I think the standard here is using a "// TRANSLATORS: lorem ipsum" comment.
I might go with that unless someone has better ideas. These can be seen in tools like Poedit and could be useful providing specific context.

2. Context tag:
The po format has a context field, which usually can be used to differentiate different translations for the same words.
Alas, we're not going to implement that any time soon, but we could use it as a visual aid since some editors display it as a label.
An idea could be using the script name for context, though that information can already be added in the source reference. Maybe the script name makes more sense.

My suggestion for duplicate strings remains that of using unique ids, and then making a translation for the current language.

3. The problem of unwanted strings:
When you include a module in your project all those strings end up in the translation file, creating unnecessary clutter.
We should perhaps think about mechanisms to exclude scripts while building/updating translations.
Dialogues and Room are likely always in need of translations. Not sure about others, maybe we should add a property to scripts, or some magic comment to enable/disable string fetching for translations.

4. What to do with obsolete strings?
Currently they remain inthe translation file forever.
I'm on the fence whether keeping them and marking them as "fuzzy" (which means thay need to be verified) perhaps with an extra "deleted" comment  or removing them completely.


I can promise nothing, but having some ideas could help chart a course to make the translation system better. Let me know what you think.

EDIT: Just to be clear, this will be landing in AGS4

- Alan
#3
Official Themes Repository


The repository contains all the current themes, updated for compatibility, and new ones for the new theme system.
If you're interested in creating/editing themes, you can find the format documentation in the FORMAT.md file, along with notes about versions and support.

Themes marked with [C] are compatible ones, that should work from 3.4.2 onward, while those marked with [M] will make use of the modern theme system (no one had better suggestions on the naming on discord).

What's new?
- HTML color strings "#dd4400", no more bulky rgba arrays
- Added some missing themeable properties
- Lenient theme loading, no more errors if some property is missing
- Global styles, not everything has to be specified, which makes themes easier to author

What's to come?
- Tools to aid conversion from old<->new themes
- Maybe a visual theme editor (depending on who has time to make one)


Have fun.

- Alan
#4



A Christmas Nightmare

View the game page â"€ DOWNLOAD


A kid meets Santa and wishes for a present... but nothing is what it seems.

Why are the days repeating? Who is Greg?! What is Santa hiding?!?

Help Eddy in uncovering the truth and reaching the Good Ending in this Groundhog Day meets point and click adventure!


Languages available: Eglish (default), Italian




26/12/2020 - Version 1.2 Added Spanish translation (thanks to Emilio Almirón) and a Linux version
25/12/2020 - Version 1.1 Fixed a crash when getting the umbrella
24/12/2020 - Version 1.0
#5
Engine Development / AGS Project Goal
Sat 25/04/2020 19:45:46
Hello fellow AGSers,
us AGS source developers would like to hear your opinion about what the common user thinks AGS goal should be...

Should "Adventure Game Studio" be a tool primarily aimed for making games?
Or should AGS primary goal be to run older games and having the whole "making games" as a secondary feature?

Why are we asking this?
Because if we decide to focus new features and development on a new branch without retro compatiblity, we don't want people to start shouting about how we hijacked the project and make everyone angry.
Even if we went forth with this plan, AGS3 would still continue existing, just not receiving new features but only bugfixes.

There's much we would like to try, unfortunately it's not easy to improve AGS as long as we have to keep it backward compatible.
This choice is meant to give legitimacy to whatever path the development should be focused upon.
So, choose wisely.

- Alan
#6

ANOTHER WORLD


Inspiration from the namesake game



Make a background set in another world. It could be a world with strange lifeforms, a scenery of alien structures, anything goes as long it gives a vibe of belonging to a different world.
I posted a few screen from Another World because that game is a reminder that even with few colors and details it's possible to convey a great atmosphere, but there are no constraints for the challenge.

Deadline: 24th of November 2019

Voting:

Concept: your background should tell us something about the place you have depicted.
Playability: does it have clearly defined walkable areas, things to interact with, etc?
Artistic Execution: does the image convey the wanted atmosphere? What's the feeling of the place?

Have fun!


Trophies




Results

  • 1st place: abstauber
  • 2nd place: lorenzo, Neil Dnuma and Kastchey
  • 3rd place: Jack and Reiter

- Alan
#7
Engine Development / AGS4 cleanup branch
Tue 10/10/2017 22:20:49
Note: this topic is mainly targeted to AGS source developers.

As you probably know if you've followed the recent developments, I've started a branch named AGS4 whose purpose is to clean up the codebase from the old dead code and legacy features.
This is a requisite for future development, because others, like me, have faced the despair of trying to add new stuff while keeping the old stuff from breaking.

So we should diverge, AGS 3.4.1 "Classic" will be mantained separately since it's feature complete and able to play older games, while AGS4 will be the foundation for new features and refactoring.

This is the current battle plan.

I've already cut away some nasty stuff, but much more remains.
The branch is in a working state. Note that to open projects they must be first upgraded through the latest 3.4.1. As always, be sure to make a backup of the project.

Alone I won't be able to see it to the end FOR I HATE CODING but if we can coordinate and help each other identifying and cutting away the rotting parts, it won't be too long until we can finally make the code easier to deal with.

You can find me on AGS discord if you wish to discuss, share doubts or ask questions.


- Alan
#8
Quote from: Atavismus on Thu 20/04/2017 17:36:49
And maybe an improved save system (to avoid corruption between version).

I don't agree with this.

Let's make one thing clear: AGS savegames are not savegames, they are *savestates*.
By design savestates can't help but corrupt when you change the game data. Making them pretend they work is bad, real bad (and also a waste of time).

Forcing a savestate not to fail will lead to all sort of mismatches which may lead to bugs and lots of headaches and despair.

If you need an upgradeable savegame system you'll have to code one yourself.
An upgradeable save system means you're storing the version of all the stuff you need to serialize along the data, so with each newer version you add the required transformations needed to upgrade the various subsets of the saved data.

That way older saves are able to execute all the required steps to correctly upgrade the data structure.

This cannot be done engine side, the engine has simply no clue what you're doing between versions, it cannot keep track of this stuff.


- Alan
#9
Hello,
as pointed out countless times, DirectDraw mode and Direct3D mode do not draw characters/objects with different zoom levels the same way:


Left D3D, Right DD

Obviously the right one is the right way, so I'll push for it to become the default.
But for those who have somehow built their game around the non-standard D3D scaler, I can give the option to keep using the old scaling mode.

The working name for the feature is "scale_native_resolution".

Now the big question, should I add a checkbox inside winsetup ? Only from acsetup.cfg ? As a game setting ?
I could even make it changeable at runtime, but I'm not sure I should.

Let me hear your thoughts!

- Alan
#10
Engine Development / AGS source refactoring
Sun 12/02/2012 23:08:08
I have set up a repository so we can start to refactor the engine code. Any developer willing to join is welcome to.

https://github.com/AlanDrake/Adventure-Game-Studio/tree/Refactoring


One of the top priorities is splitting up AC.CPP into smaller organized files, 30k lines of code just won't do.  
I have started analyzing the code, I hope to be able soon to organize functions into groups and then make classes of what necessary.

In the meanwhile, we should also discuss coding conventions, ScummVM's seem to be a good starting point.

Let's get to work!

EDIT: I wrote souce and nobody said anything ?!

- Alan
#11
Last month when I tried using translations for the first time, I realized the text was translated only when present in its integrity.
So, when doing a typewriter effect, by adding character by character, the translated text only appears at the end of the process.

This is... inconsistent.


- Alan
#12
The Draconian new year's eve edition.
Updated to 3.4.11 + cleanup branch with many legacy things removed.

AGS Draconian 3.4.11 r10 (December 31, 2017) DOWNLOAD

Important:
Since I've built this version on top of the cleanup branch with many legacy features removed, you will have to open and save your old project with vanilla AGS 3.4.11 before being able to import it on the Draconian edition.
Some default templates might not be working, upgrade them with vanilla AGS instead.


Improvements to the Editor:
  • Dark text-editor theme, to preserve your sight
  • Checker pattern on the sprite import window background
  • Multi-sprite replace (select multiple sprites and start a tiled import with "replace selected sprites from file")




    Improvements to the Engine:
  • Sounds generated by Character views are now automatically panned relatively to their position on the screen
  • 3 new Software filters: Scanlines 2x, TV CRT 4x and PC CRT 4x
  • Gamma for windowed mode (Only for brightening up, though)
  • Directional sounds are now panned as well
  • Blend modes



    Experimental features:
  • bool Room.Exists(int room): returns true if "room" exists
  • void Game.SetDirectionRatio(float ratio): change how AGS should decide which direction to face (1.0 default, 1.3 2.0 is good for perspective)
  • Character/Object/Overlay/GUI.BlendMode(enum BlendMode): change the blend mode (only supports 32bit sprites)


    Source: https://github.com/AlanDrake/ags-draconian/tree/ags4draconian



    Previous versions

    AGS Draconian 3.4.1 r9 (October 16, 2016) DOWNLOAD

    AGS Draconian r8 (October 02, 2016) DOWNLOAD

    AGS Draconian r7 (November 28, 2012) DOWNLOAD (fixed)[/size] (Note: this version doesn't have Calin changes to DrawingSurface because the one who requested it had trouble with them)
    HOTFIX 2 for DefaultVolume being ignored + Audio not repeating on load (April 11, 2013)

    AGS Draconian r6 beta (June 02, 2012) DOWNLOAD

    AGS Editor Night theme  (vanilla-compatible): DOWNLOAD.

    AGS Draconian r5 beta (April 13, 2012) DOWNLOAD

    AGS Draconian r4 (April 06, 2012) DOWNLOAD

    AGS Draconian r1: DOWNLOAD
    Note: These mods can be used separately, if you only want the improvement on the Scintilla interface only copy "AGS.Controls.dll", if you want to be able to use #region/endregion copy "AGS.CScript.Compiler.dll" or if you're only interested in the engine's change "acwin.exe"



    - Alan

#13

If you want to give it a go download it from here: http://www.mediafire.com/?8vu6h77clvskfz8

I learned a little of D3D today while trying to fix this annoying quirk

Doesn't work well with the "smooth sprites" option, though.

No code yet, because I need to clean up and reorganize. Would be cool if I managed to make feasible to add more gfx filters...


Oh btw,
Code: ags

void D3DGraphicsDriver::RenderToBackBuffer()
{
  throw Ali3DException("D3D driver does not have a back buffer");
}

that line of code made my day.  ::)


- Alan
#14
That thing was REALLY bugging me, having characters walking around like they got a limping leg or something was really frustrating  (they moved 3 paces then instead of going forward the character would just stand in the same place showing the next animation frame, rinse repeat )

Well, if you too had the same problem, this might be the answer to your prayers.


ac.cpp ( line 6370 )
Code: ags

  // scaling 60-80%, move 75% speed
  if (charextra[chnum].zoom >= 60) {
    if ((chi->walkwaitcounter % 4) >= 1)
      return -1;
	else if (charextra[chnum].xwas != INVALID_X) {
      // move the second half of the movement to make it smoother
      chi->x = charextra[chnum].xwas;
      chi->y = charextra[chnum].ywas;
      charextra[chnum].xwas = INVALID_X;
	}
  }


I do not fully understand what I have done, since I'm not privy to the inner workings of AGS I merely bruteforced the code until I got a reasonable result. It gets the job done, for me at least.

If you want to give it a go this is the compiled acwin.exe:
http://www.filesonic.com/file/1925183084/acwinzoomfriendly.rar


- Alan
#15
Topic: Ship vessel

A boat, a wooden ship, anything that usually floats on water. Inside, outside, underwater overwater. No starships.

Voting: July 30

Restriction: AGS compatible.

Have fun!
#16
Topic: Serial killer's room.
Description:  It could be anything from the standard clichey-pictures-on-the-wall to something more original, as long as it looks like a place a serial killer would spend his time in.

Techincal Restriction:  AGS compatible

Voting:  20th of June - 22th midnight

Prizes :

Good luck.


edit: and now with a fitting trophy
edit2: extended time
edit3: VOTING TIME
edit4: CONTEST OVER

- Alan
#17
General Discussion / To Cintiq users
Tue 19/10/2010 11:03:45
I can't believe this day has come.
Brace yourself... 4-point calibration !


Yeah, finally after ages of darkness and despair Wacom finally released a driver with 4 point calibration. It was damn about time.
http://www.wacom.com/downloads/driver-detail.php?id=221

Oh boy, the world is really coming to an end.

- Alan
#18


Wretcher
A famed archaeologist commits suicide, leaving behind his mansion and all of its possessions in the hands of his niece Aileen. Together with her friend Keith, they seek to unravel the mystery behind his death and the dissappearance of his wife. A darkness cast its shadow over the mansion with more than just secrets awaiting to be discovered.


The gameplay
As you may see I'm trying to carry on what made that old gem that is clocktower so unique, its style and its gameplay, which means that there will be chase scenes in which you'll have to run and hide, hoping not to be found, and unnerving events that will send shivers through your spine (admitted I'll manage to make it right)

Screenshots





Updates
06/03/2012  - Even greater news, the website is finally live.

03/02/2012  - Great news, www.wretcher.com will soon be fully operative, there's also a last update to the gameplay demo (just a few fixes and one room more) that you can get HERE.

27/01/2012  - Yes, I'm working on it. This year bears good prospects.

19/12/2011 - Here's the link: *edit: Deprecated link removed* - Ags Game Database Entry

15/12/2011 - I forgot to mention, but the previous month I made a playable demo with random content for AdventureX, I'll post the link in a couple of days

23/09/2011 - Modfied AGS to allow automatic panning of character generated sounds, added a couple of DirectDraw filters and some minor stuff.

02/09/2011 - After the usual period while I'm as productive as a chunk of rock, I'm back on track drawing backgrounds. This time I learned Sketchup, and damn, I wish I had started using it earlier. No need to reply the thread, wait until I have something meaningful to show off.

11/04/2011 - Thanks to Gravity, who's helping me with the dialogues and Chris Darril who's lending a hand for the portraits, progress is being made, now it just a matter of building up momentum, heh... easier said than done.

08/01/2011 - Crappy little tech demo to show off the latest scripted features: *edit: farewell megaupload*

09/12/2010 - Most of the features are done, the in-game books are done, the panic mode works, monsters can chase the player (still need more work), the player loses energy when running too much and can recover it while standing still. I'm working now on a dynamic ambient sound generator (to cut down room scripting) and a couple of other sound related scripts.

07/09/2010 - Yes, I'm working on it. And the intro is going to be reworked, as many of you pointed out it sucks, heh.

17/05/2010 - I'm getting brain cramps, It seems I need a couple of months break to recharge my energy.

24/05/2010 - New demo with more gameplay and improvements. * POOF! LINK'S GONE *

03/05/2010 - I managed to work on the backgrounds, so most of the place holders are now gone. Added stereo footsteps. I'll try to keep up the pace and update the tech demo sooner or later.

28/04/2010 - Here, a small and very short demo, it's still missing a lot of functionality but shows roughly what you should expect from Wretcher. Download demo [Deprecated]
The controls are: Double-click run, Right-click look (not very used yet), F1 options, F5 save/load.

I still have a lot of stuff to draw and code, so I'm afraid it will take another month or two to piece together something more polished and consistent.



- Alan
SMF spam blocked by CleanTalk