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

#1
General Discussion / Re: Trumpmageddon
Thu 28/01/2021 12:10:50
Quote from: Snarky on Wed 09/11/2016 11:35:54
Having become President and commander of the armed forces, Trump's ego swells to even more grandiose proportions. He is hooked on the high of adulation, and responds to any criticism or attack with uncontrolled fury. Having alienated much of the political establishment (particularly the foreign policy establishment), his administration is short on expertise and full of extremists, sycophants and charlatans. His undisciplined, impulsive and downright foolish words and actions, as well as the missteps of the other unqualified administration members, cause numerous international and economic crises, to which his instinct is to respond with aggression and escalation. Hopefully his easy manipulability (just flatter him) and more rational actors in other countries manage to stop these crises from sparking wider war.

Encouraged by Trump's lack of support for American alliances, Russia, China and other states step up confrontation with their neighboring countries. South Korea and Japan respond by rearming, which may include a nuclear weapons program. Other East Asian states make concessions, resigning themselves to increased Chinese influence. In the former communist states in Europe there's a decrease in faith in all the institutions and ideals of "the West": EU, NATO, liberal democracy. NATO continues to weaken and fracture (not just because of Trump, but also by the erosion of democracy in countries like Poland, Hungary and Turkey), and with no reassurance of common defense, individual countries start to arm up and pursue separate defense strategies. There's a worldwide rise in militarism and nationalism.

The US abandons many of its treaties, including the Iran treaty (so Iran resumes its nuclear weapons program), NAFTA (causing a loss in trade with Mexico that weakens the economy), the Paris climate change treaty (setting back any effective action to stop the ongoing global environmental disaster), and more. "Obamacare" is only partially abolished, but millions of Americans do lose their health care. Deep tax cuts lead to giant deficits, and to cuts in government programs and staffing. Anti-trade policies and attempts to "get tough" in trade negotiations with China and other countries lead to retributory policies that may escalate into a trade war. Together with the uncertainty caused by Trump's erratic behavior, this causes the economy to plunge into another recession.

On immigration, Trump's signature policies (the wall, deportation) are watered down or only carried out to a symbolic extent; most of his supporters don't notice, but some hardliners decry him as a traitor. In matters of social justice (police violence etc.), a Trump administration is unsympathetic and tin-eared, and this leads to increased social unrest. Killings both of cops and of black activists, by disturbed individuals who have been radicalized online, increase.

Blaming Muslims as a group for jihadist terrorism, Trump continues to nourish Islamophobia in America. Hate crimes against Muslims (and those who can be mistaken for Muslims) rise. Marginalized in this way, more Muslims are in fact radicalized into violence, while a larger group is drawn towards anti-Trump liberal politics. In the Muslim world, the narrative that the west is at war with Islam gains increased acceptance, delegitimizing American values and influences and strengthening extremists and authoritarian governments alike.

Coming into office as a sexual predator with a long list of scandals, a track record of fraud and illegality, not having isolated himself from his business interests, and with ties to organized crime, international fugitives and foreign oligarchs and dictators, Trump's administration quickly shows itself to be the most corrupt and scandal-ridden in memory, with Trump blatantly using the government to enrich himself. These scandals get considerable play in the media, but the GOP Congress is too craven and partisan to take any action to censure or rein him in, at least at first.

Already loathed and feared by half the country, Trump's shtick wears thin very quickly even for many who voted for him. His approval ratings fall to somewhere around the George W. Bush low point of 25%. Resentful and vindictive, he lashes out at his enemies and tries to use the powers of his office to get even with them. This leads to illegalities and abuses that dwarf Watergate.

... So, all around a fun few years ahead.

Wow Snarky, this was uhh... surprisingly accurate.
#2
Quote from: Crimson Wizard on Sat 12/12/2020 08:01:24
from what I saw,
AnimationDelay - is actual delay -- number of game ticks to wait between animation frames.
MovementSpeed - is actual movement speed -- it's pixels per game tick, but if "anti-glide" mode is turned on, then it means pixels per animation frame, which on its own equals to N game ticks (defined by AnimationDelay). So it's still speed, but becomes pixels per N ticks instead of pixels per 1 tick. Only time unit changes, but idea remains.

That's what I mean - if anti glide is enabled, AnimationDelay becomes a speed setting, since they character can only move when the animation frame changes. MovementSpeed then becomes the distance the character should move per animation frame, which is controlled per game tick.

Not a big deal, just thought I'd point it out.
#3
Just wanted to point out that the options in Character settings in AGS are quite poorly labeled when Anti-glide is enabled, specifically "AnimationDelay" and "MovementSpeed".

From my testing, it seems "MovementSpeed" actually refers the amount of pixels per frame of animation that the character moves, ie it's actually a distance setting. "AnimationDelay" controls how often the character changes animation frame, which then causes the character to move "MovementSpeed" pixels in whichever direction.

So I guess "AnimationDelay" is technically correct, however it's actually more of a speed setting and "MovementSpeed" is actually more of a distance setting. In an analogy, if you think of Kilometers per Hour (or miles per hour if you're that way inclined), "MovementSpeed" would be the kilometers and "AnimationDelay" would the per hour.

Just an interesting little tidbit.
#4
Yea it can look rather jumpy if you have a low frame count, but for the style I'm going for, jumpy animation/movement is kinda exactly what I want! Also, there will be no scrolling rooms in my game, (at least, all my movement will freeze if the camera scrolls).

I'm making a top down action shooter in the style of an old Gameboy game in case you're interested, kinda similar to the top down levels in old Contra games.
#5
Ah! It's so simple and it works brilliantly, here I was thinking there was a lot more going on there lol.

I had the complete opposite way around, change animation frame when the player changes position. Thanks Snarky.
#6
Hey sorry if this doesn't belong as it's not a question specifically for an AGS game, but I was wondering if anyone had any technical knowledge of how AGS matches animation with movement, aka the anti-glide feature.

I'm busy writing some animation code for a player in a separate engine, and I'd love to be able to replicate this little marvel - at the moment all Ive done is manually calculated how many pixels of movement each frame should be shown for, and while this works great for tying the animation to the movement speed it still doesn't quite have the charm that AGS's solution does.
#7
General Discussion / Re: the blender 3D thread
Mon 26/10/2020 06:12:29
Thought I'd share some more work I've been doing. All models done in Blender, textured in Substance Designer, and cloth sims done in Marvelous Designer. Rendered in Source Engine.

It's Dia De Muertos in Mexico!













#8
Quote from: VampireWombat on Thu 02/05/2019 23:03:05
Did you not read my first sentence?
Quote from: Jack on Thu 02/05/2019 22:59:03
Did you just not assume this sprite's gender...

I believe Jack was just making a joke...
#9
General Discussion / Re: the blender 3D thread
Sun 18/11/2018 16:43:43
Source Engine, for Counter Strike Global Offensive :D
#10
General Discussion / Re: the blender 3D thread
Sat 17/11/2018 05:57:15
Not rendered in Blender, but all models and props were made in Blender:





#11
General Discussion / Re: the blender 3D thread
Sat 22/09/2018 10:37:17
Quote from: selmiak on Sat 22/09/2018 10:13:44
But you'd rotate the empty by 360/count and not the other way around ;)

That is very true, my bad. I'd just woken up :/
#12
General Discussion / Re: the blender 3D thread
Sat 22/09/2018 09:17:06
I might suggest an easier method for working with objects in a ring.

Create your object, and set the origin to the center of the circle you want it to spin around. Now create an empty axis at the object's origin. Add an 'array' modifier to your object, and set offset to 'object offset' and choose the empty as your target object. Now change the count to 32 or however many you need, and rotate the empty by (count/360) (360/count).

Easy, and all changes made to the original object will be reflected to the rest of them too.
#13
Code: ags
 textRows[0].init("Earth year: 1947",eFontNormal);
 textRows[1].init("70 000 years after the last colony left,",eFontSpeech); //you can use a space or a comma here, but I wouldn't recommend using a period. It's a stylistic choice at the end of the day though
 textRows[2].init("a strong energy pulse was picked up by a consulate",eFontSpeech);
 textRows[3].init("cruiser 2 years earlier. Origin is planet Earth.",eFontSpeech); //changed origing to origin
 textRows[4].init("A scout mission has been sent to investigate,",eFontSpeech);
 textRows[5].init("no intelligent life is expected to be found.",eFontSpeech);
 textRows[6].init("   ",eFontNormal);
 textRows[7].init("Mission:",eFontNormal);
 textRows[8].init("Identify the energy source and explore the abandoned ",eFontSpeech); //removed 'evaluate' and changed 'abbandoned' to 'abandoned'
 textRows[9].init("settlement for lost artifacts left behind on the Exodus.",eFontSpeech); //capitalized 'Exodus' (proper noun)


Did some quick proof reading for you. Hope you don't mind :D
#14
Any chance of reviving this thing?
#15
General Discussion / Re: Translations
Sat 14/07/2018 08:00:26
Maybe a rewrite of the way AGS exports translation files is in order?

We could have something similar to the way a script file works, for example:

Code: ags

//Action: Pick up object "oBlueCup"
cEgo: It's a blue cup!

cEgo: I'll pick it up.

cOtherChar: Don't break it!
#16
Someone asked the director via Twitter and apparently there are no references :(



I was also disappointed, and like you I freeze framed on that scene thinking it might be Manny.

There was another character who looked a bit like Hurley though, but probably just coincidence.
#17
Yea, Mandle I just noticed that too. I also had everything, however it only took the leaf to trigger the event. I even restarted and played it again to test.

Anyway, the game was very cute, and I loved the artwork.

P.S. I'm a native English speaker, so if you'd like me to do some typo/spelling corrections I'd be more than happy to oblige!
#18
Quote from: morganw on Mon 02/07/2018 21:44:02
Perils of Poom.

I don't know why, but I read this as "Penis of Poon".

...I need to get out more.
#19
Awesome, I'm beginning to understand. But if I create a pointer within the struct (like I'm doing at the moment), where do I initialize the managed struct (Vec3f)? I can't do it in the header (which makes sense), but I can't think of where else to put it.

I tried this:
Code: ags
struct Tester
{
  import attribute Vec3f * vertex1;
};


However that just crashes the game upon launch. Compiles fine though. (P.S. What does 'attribute' do? Can't find it in the manual).

Again, thanks for the help. And sorry if I sound absolutely noobish.

Edit: Ignore this, I figured it out! Adding:

Code: ags
void Initialize ()
{
  aTest.vertex[0] = new Vec3f;
  anotherTest.vertex[0] = new Vec3f;
}


fixes it all.

Thanks again!
#20
Thanks for the replies guys. Appreciate the long post, Snarky, however I'm not entirely sure what your code does or how it works. I tried to compile it and got an error at
Code: ags
Point3D* Point3D::Create(float x, float y, float z)


"TESTING_HELL.asc(25): Error (line 25): Attributes of identifier do not match prototype"

Anyway, I tried your method Crimson, however I'm getting a "Null Pointer Error" whenever I try and set values. Am I doing something wrong?

Code: ags
//Header

managed struct Vec3f
{
  float x;
  float y;
  float z;
};

struct Tester
{
  Vec3f * vertex[3];
};


Code: ags

Tester aTest;
Tester anotherTest;

void TestingShit ()
{
  aTest.vertex[0].x = 4.0;
  anotherTest.vertex[0].x = 5.0;
}

function on_key_press (int keycode)
{
  if (keycode == eKeyM)
  {
    TestingShit ();
    Display ("aTest %f[anotherTest %f", aTest.vertex[0].x, anotherTest.vertex[0].x);
  }
}


Edit: Also, Crimson, what do you mean by this: "EDIT: sorry, scrap this, I did not realize at first that you use that now." Realize that I use what now?
SMF spam blocked by CleanTalk