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 - Ryan Timothy B

#1
The Rumpus Room / The fuzzy hoodie
Tue 01/12/2015 00:16:32
I made a video with my girlfriend to mock a video we saw on facebook, and to also mock a video her son had made (which is the ending gangsta bit).

The fuzzy hoodie
   [I hope this URL works]

Surprisingly it has over 400 views in only half a day - I didn't expect that. Sorry for the quality, facebook compressed it poorly.
#2
Star Trek

First I'd like to mention that in the past dozen years I've really started to become a strong Star Trek fanboy. I love the technology, the aliens, and many of the stories and their true meaning. In the past year I've finally gotten around to watching the original Star Trek TV series and the 6 movies, I'm also half-through The Next Generation series; neither shows had I really watched before other than the odd episode that was on air throughout my life. The original ST was indeed terribly campy and had too many issues for my taste, but given the 50+ years of its age, I can dismiss the corny bits of it all and simply see it as the framework in which today's ST is based upon.

Next Generation started off on some seriously rough ground, with terrible acting and weak or laughable stories, I started to wonder if the show was ever going to find its footing. I almost couldn't stand to look at Wesley Crusher wearing his old woman sweaters and that corny smile if someone simply just looked at him, not to mention the urge to regurgitate from the overly nurturing relationship between him and his mother; It's one reason why I was quite satisfied to see Dr Crusher leave the show on the 2nd season but to return on the 3rd once Wesley aged a little. Once Tasha Yar got herself killed (in probably the worst episode yet) I started to really feel the ship and stories come alive - she was the worst actor on the show, not to mention how weak and unbecoming her character development was (ugh, I cringe every time I think back on that Code of Honor episode where she flips the alien onto his back because he was attempting to hand a box of vaccine to Picard *facepalm*). I really can't wait to see how the remaining 4 seasons turn out.

I grew up on Voyager, I've watched every single episode and can definitely say that I have a soft spot for the show. But I haven't watched it in almost 10 years, I can only imagine how timeworn that show has become now. I'm also a moderate fan of ST: Enterprise and strongly wish they had written that show differently. I disliked the whole 9/11 attack on earth bit and the majority of the remaining 2 seasons due to the whole vengeance plot. I'll also admit that I've never watched DS9 but plan to do so once I'm done with TNG.

Having said all that, I would like to now point out what I dislike about the new Star Trek (J. J. Abrams). I'll start with the most recent, Into the Darkness, because I felt it was the best of the two and had so much potential to be the absolute best of Star Trek. Most of these issues I had noticed on my first viewing in the theater, when it was done I had walked out quite disappointed, but now after each subsequent viewing at home, I am starting to like the movie more and more.


[MASSIVE SPOILER WARNING AHEAD]

It starts off quite beautifully and I was immediately engrossed in the beautiful white and red plant-life and atmosphere. Kirk steals the holy scroll of sorts the aboriginals were praying to, immediately everything is good and you're proud JJ is obeying the prime directive with the disguises and the ruse to lure the folks out of danger. But then, related to the previous movie and its flaws, I was upset that they couldn't simply beam the bomb or even Spock into the volcano (but in the previous movie they could somehow transport themselves into the Enterprise which was lightyears away and also traveling beyond lightspeed). Then comes in the ridiculous idea of Enterprise being underwater, which certainly was a beautiful scene and put a shiver down my neck, it's not possible without some sort of shield or some form of technobabble to counteract the forces.

"We couldn't find any good parking spots"


Spock then manually arms the device, and with Enterprise overhead they beam him back to safety just in the nick of time. I was quite content with them calling it "Spock's device" but then Pike opens his mouth and reveals that it's some sort of "cold fusion device", BLAH! I don't think they consulted scientists for this tech. Or they simply called it cold fusion because it turned what was once hot into something that is now cold, not to mention that it's now fused together. (laugh)

Cold and fused


Then we have Kirk, the captain of the Enterprise, scolded and getting his toys taken away; Something digging into you telling you that we've already seen this rebellious Kirk in the previous movie, who also happens to get demoted and later regains his rank. I found this scene very depressing and it made me immediately lose respect for Kirk with his childish behavior. Did we really need to show this rebellious side once again?

"Don't worry, I'll get it back"


One thing that didn't help set the realism of this future tech, the hospital has hover beds yet important industrial things like forklifts (which still has today's designs) is still stuck on wheels. You'd think a hospital with hover beds would be considered an over-the-top luxury, where a hovering/flying forklift would be seen as the necessity.
   


Never did understand this exploding ring bit. First off it completely changes everything we know about Star Trek's explosives, they don't even have a scanner system in place for it. It would have been better if he purposely activates one of the photon torpedoes you see all around him, that would've been the path of least hassle. (Also aren't all those torpedoes the ones Khan has his people in *oops*, or is there another super secret torpedo warehouse)
   
Futuristic Alka-Seltzer  =  *BOOM*


All StarFleet high-rank officials cleverly meet together in an unprotected skyscraper. Kirk suddenly realizes the motives for bombing the "archives" just to get everyone to meet here, but he doesn't seem to warn anyone until AFTER shit starts exploding. Khan winks at him as he transports himself to safety - I'm hoping he's only transported himself a few yards away.. Am I right?

I'll go play somewhere else!


Later we discover that Khan certainly didn't transport himself safely only a few yards away, or maybe just to the street or something close by, no, no... It's much worse than that. He transports all the way to freakin' Kronos! The Klingon planet! This tiny device that could easily fit in my girlfriend's trunk can somehow transport a man more than half a dozen lightyears away (or more)! Even at the speed of light it would take 6 years for his molecules to reach Kronos - yet he gets there pretty near instantly, has the ability to re-materialize and also pinpoint the exact location on the surface of the moon taking into account of rotation and transport delay. All that does is say a big *fuck you* to any "He's out of range" or "We need to get closer to transport" mechanics.

"You're trying to tell me this only runs on 3xAA batteries!?"


Kirk then gets into a completely uncalled for face-smashing moment with Khan. Not just one punch, no, he puts a good minute of hits into Khan. Completely out of character and so unfitting for a captain, all this does is make me really dislike this new Kirk. Why he couldn't just be the better man and simply arrest Khan, I don't know. I suppose this beats the terrible orders Pike gave him, to launch photon torpedoes at Khan's location all the way from the neutral zone.

"Maybe if I hit you some more, I'll earn your trust for when we team up together later"


I might be getting a little nitpicky on this one, I can easily ignore this and pretend that Scotty's communicator works like a cellphone, where somewhere on Earth a subspace antenna is picking up the call from the Enterprise and relaying it to Scotty in the bar. It's plausible.

"What do you mean this call is ultra long distance?!"


Enterprise on its trip back to Earth gets knocked out of warp. Luckily they end up at 237,000km from Earth. Turns out the closest distance from earth to the moon (the perigee) is actually 363,104km yet somehow they're on the other side of the moon? (363,104km < 237,000km ??)

These writers have bad math - or the director gets distracted with pretty shots


Enterprise blows up the enemy ship, you can clearly see the moon at its full size behind them. Moments later the Enterprise is suddenly being pulled into earth? Either there was a long time lapse between scenes which would mean someone really fucked up and is responsible for all the deaths ahead, or our buddy JJ just wanted a nice moon shot and didn't realize how far the earth actually is?
  Seconds later --> 
"Who put this planet here?"


Enterprise goes into a radical free fall into earth.


Remember that tribble McCoy was working on? Well, apparently the director hadn't thought about the whole ship flipping upside down. Luckily the dead tribble remained where it was placed and only a few test tubes got knocked over (apparently gravity is a trickle of a thing).
  After upside down free fall --> 


Kirk saves the ship with a terrible deja vu scene (it was bad enough the first time, we really didn't need to see this happen again). Luckily Kirk knows how to kick things to the exact angle it needs to be - it's not like it's a technical piece of machinery which needs advanced calibration or anything. I also don't need to mention how terrible the upcoming "KHANNNNNNNNNN" scene is. Was this scene really that incredible that the writers had to replicate it almost word for word?
   


Then we have Spock and Khan double fisting each other on a smokey and depressing automated flying ship, something that belongs straight out of Star Wars and not within my futuristic fantasy of tomorrow. Certainly wasn't a pleasant look at tomorrow, as Star Trek is famously known for. JJ admitted he never understood Star Trek and that he was always a Star Wars fan (it shows all too much).


Also for some reason McCoy badly needed Khan's blood, I guess we didn't have anymore super powered blood that heals just about anything (this new introduction also says *fuck you* to any future plots of an "incurable" illnesses or death). Also McCoy says that cryogenics is antiquated technology, yet Kirk would've been dead if it weren't for it preserving his body. Just like it makes you wonder why the girl dying in the hospital isn't put in a cryotube to preserve her body until they find a cure (Khan's blood apparently cures all ailments).

"Get me Khan's blood!!! He's the ONLY cure for Kirk!"


Most of these issues could've been altered without changing much of the story. I definitely would've ditched the personal transporter and the super blood, the rest isn't as game breaking bad. I don't overly like JJ's Star Wars approach with everything but I do like the beautiful action scenes and downright gorgeous ship to ship battles. I don't think he's very capable at keeping a story strong without numerous plot holes or inconsistent character behaviors. I'm actually quite excited to see that he's not working on the 3rd ST movie and instead he'll be off butchering Star Wars some more. Hopefully the new director is a real ST fan.


What do you think of Star Trek TV shows or movies? Does anyone have any faith in the new director? He looks pretty green so it's really hard to tell.
#3
I often see people posting in the scripting threads without encapsulating their code. Can we post an example above the post text box that reminds them to show their code in the [code=ags][/code] tags? Showing an example of what code looks like in these. Possibly even showing the button they can click on to quickly insert these tags.

Thanks.
#4
Editor Development / Custom Speech Render
Wed 26/06/2013 23:34:48
Just like the Custom dialog rendering, perhaps having a Custom Speech rendering function.

Just as a quick suggestion to make it similar to the dialog rendering (not that I like this function name, but whatever way you all fancy):
Code: ags
function speech_render(SpeechRenderingInfo *info) {
  // show your own GUI, Overlay, etc, giving a custom way of drawing the speech text to screen
  
  // having access to this stuff: 
    // info.Text to access the text being Said  <-- the text passed with the Say function
    // info.AudioFile  <-- the audofile passed with the Say function
    // info.Delay   <-- the delay that AGS would've had if it were using its own function
    // etc
}

This way for example, when you call Character.Say, this custom speech rendering script will intercept it allowing you to do anything you please without working with AGSs default speech functions. Also this way, you can still have all the AGS abilities of creating voice acting scripts and such whereas now where you currently wouldn't with a custom Say function.
#5
I would love to see AGS's default functions and variables being changed to a more solid OO method. Where things are more conformed and easier to remember and find. It ultimately "shouldn't" break backwards compatibility, still having access to both new and old - only these ones being in the autocomplete list and manual.

Whether the public agrees with this or not - I'm posting it anyway. If you don't agree with any of the name changes or I've missed something - feel free to respond.


List of new OO functions and variables (I accidentally made all variables first letter lower case - which isn't uniform to AGS, I'll edit later):
Code: ags
Background.ColorDepth()
Background.GetDrawingSurface()
Background.frame  <-- int
Background.Animate(Direction, int delay)
Background.StopAnimating()
Background.IsAnimating()

ROOM.Visited()
ROOM.Reset()

ROOM.width
ROOM.height

ROOM.WalkableArea.GetScalingAt(int x, int y)
ROOM.WalkableArea.GetScalingAtScreen(int x, int y)
ROOM.WalkableArea.SetAreaScaling(int areaID, int min, int max)
ROOM.WalkableArea.GetAreaAt(int x, int y)
ROOM.WalkableArea.GetAreaAtScreen(int x, int y)
ROOM.WalkableArea.DisableArea(int areaID)
ROOM.WalkableArea.EnableArea(int areaID)
ROOM.WalkableArea.IsAreaActive(int areaID)

ROOM.Layer.SetBaseline(int layerID, int baselineY)

ROOM.Edge.Bottom.y
ROOM.Edge.Left.x
ROOM.Edge.Right.x 
ROOM.Edge.Top.y 
ROOM.Edge.DisableAll()
ROOM.Edge.EnableAll()
ROOM.Edge.Bottom.active
ROOM.Edge.Left.active
ROOM.Edge.Right.active
ROOM.Edge.Top.active 

Screen.FadeIn(int speed)
Screen.FadeOut(int speed)
Screen.Flip(FlipDirection)  <-- new built-in Enum - instead of int
Screen.SetFadeColor(int red, int green, int blue)
Screen.ResetFadeColor()
Screen.SetTransition(TransitionStyle)
Screen.SetNextTransition(TransitionStyle)
Screen.Shake(int delay, int distance, int duration, BlockingStyle)
Screen.StopShake()
Screen.Tint(int red, int green, int blue, int transparency)  <-- added parameters
Screen.RemoveTint()

Viewport.x
Viewport.y
Viewport.Set(int x, int y)
Viewport.Get()  <-- Returns Vector2 of X and Y
Viewport.Release()
Viewport.FollowCharacter(Character character)
Viewport.Move(int x, int y, int speed, BlockingStyle)
Viewport.width
Viewport.height

Character.RemoveInventory(InventoryItem *item)
Character.IsInteractionAvailable(CursorMode)

Object.IsInteractionAvailable(CursorMode)

Hotspot.IsInteractionAvailable(CursorMode)

Cutscene.Start(CutsceneSkipType)
Cutscene.End()
Cutscene.Active()
Cutscene.Skipping()

Key.IsButtonDown(eKeyCode)  <-- to match Mouse.IsButtonDown

Game.IsInteractionAvailableAtScreen(int x, int y, int mode)
Game.SkipCharacterTravelTime(Character character)
Game.SetSpeechSkipAction(SpeechSkip)
Game.IsPaused()
Game.score
Game.GetLocationTypeAt(int x, int y)
Game.GetLocationTypeAtScreen(int x, int y)
Game.GetLocationNameAt(int x, int y)
Game.GetLocationNameAtScreen(int x, int y)
Game.gameSpeed

System.windowHeight
System.windowWidth

Font.GetTextWidth(String text, FontType)
Font.GetTextHeight(String text, FrontType, int width)



Click to see Overview (what is being replaced with what):
Spoiler
=== ROOMS ===================================
Background:
  ColorDepth
    ^  Change to: Background.ColorDepth()
  GetDrawingSurfaceForBackground(..)
    ^  Change to: Background.GetDrawingSurface()
  GetBackgroundFrame(..)  &  SetBackgroundFrame(..)
    ^  Change to: Background.frame  <-- int
  Add:
       Background.Animate(Direction, int delay)
       Background.StopAnimating()
       Background.IsAnimating()

  HasPlayerBeenInRoom(..)
    ^  Change to: ROOM.Visited()  <-- name may be misleading
  ResetRoom(..)
    ^  Change to: ROOM.Reset()
  Add:
         ROOM.width
         ROOM.height

Walkable Area:
  GetScalingAt(..)
    ^  Change to: ROOM.WalkableArea.GetScalingAt(int x, int y)
    ^  Add: ROOM.WalkableArea.GetScalingAtScreen(int x, int y)
  SetAreaScaling(..)
    ^  Change to: ROOM.WalkableArea.SetAreaScaling(int areaID, int min, int max)
  GetWalkableAreaAt(..)
    ^  Change to: ROOM.WalkableArea.GetAreaAt(int x, int y)
    ^  Add: ROOM.WalkableArea.GetAreaAtScreen(int x, int y)
  RemoveWalkableArea(..)
    ^ Change to: ROOM.WalkableArea.DisableArea(int areaID)
  RestoreWalkableArea(..)
    ^ Change to: ROOM.WalkableArea.EnableArea(int areaID)
  Add:
       ROOM.WalkableArea.IsAreaActive(int areaID)

Walk-behind Area (changed to: Layer):
  SetWalkBehindBase(..)
    ^  Change to: ROOM.Layer.SetBaseline(int layerID, int baselineY)

Edge (this one is overkill on the OO - need suggestions):
  BottomEdge > Add: ROOM.Edge.Bottom.y  <-- int
  LeftEdge   > Add: ROOM.Edge.Left.x    <-- int
  RightEdge  > Add: ROOM.Edge.Right.x   <-- int
  TopEdge    > Add: ROOM.Edge.Top.y     <-- int
  Add:
       ROOM.Edge.DisableAll()
       ROOM.Edge.EnableAll()
       ROOM.Edge.Bottom.active <-- Boolean
       ROOM.Edge.Left.active   <-- Boolean
       ROOM.Edge.Right.active  <-- Boolean
       ROOM.Edge.Top.active    <-- Boolean



=== SCREEN ==================================
  FadeIn(..)
    ^ Change to: Screen.FadeIn(int speed)
  FadeOut(..)
    ^ Change to: Screen.FadeOut(int speed)
  FlipScreen(..)
    ^ Change to: Screen.Flip(FlipDirection)  <-- new built-in Enum - instead of int
  SetFadeColor(..)
    ^ Change to: Screen.SetFadeColor(int red, int green, int blue)
    Add: Screen.ResetFadeColor()
  SetScreenTransition(..)
    ^ Change to: Screen.SetTransition(TransitionStyle)
  SetNextScreenTransition(..)
    ^ Change to: Screen.SetNextTransition(TransitionStyle)
  ShakeScreen(..) & ShakeScreenBackground(..)
    ^ Change to: Screen.Shake(int delay, int distance, int duration, BlockingStyle)  <-- changed parameters
    Add: Screen.StopShake()
  TintScreen(..)
    ^ Change to: Screen.Tint(int red, int green, int blue, int transparency)  <-- added parameters
    Add: Screen.RemoveTint()

Viewport
  GetViewportX()
    ^ Change to: Viewport.x   <-- int
  GetViewportY()
    ^ Change to: Viewport.y   <-- int
  SetViewport(..)
    ^ Change to: Viewport.Set(int x, int y)
  Add:
       Viewport.Get()  <-- Returns Vector2 of X and Y
 
  ReleaseViewport()
    ^  Change to:  Viewport.Release()
  Add:
       Viewport.FollowCharacter(Character character)  <-- releases viewport if character leaves room
       Viewport.Move(int x, int y, int speed, BlockingStyle)
       Viewport.width
       Viewport.height



=== CHARACTER ===============================
  Character.LoseInventory(..)
    ^ Change to: Character.RemoveInventory(InventoryItem *item) <-- keeping opposite of: AddInventory
  Add:
       Character.IsInteractionAvailable(CursorMode)

=== OBJECT ==================================
  Add:
       Object.IsInteractionAvailable(CursorMode)

=== HOTSPOT =================================
  Add:
       Hotspot.IsInteractionAvailable(CursorMode)



=== CUTSCENE ================================
  StartCutscene(..)
    ^ Change to: Cutscene.Start(CutsceneSkipType)
  EndCutscene(..)
    ^ Change to: Cutscene.End()
  Game.InSkippableCutscene
    ^ Change to: Cutscene.Active()  <-- possibly misleading
  Game.SkippingCutscene
    ^ Change to: Cutscene.Skipping()



=== KEY =====================================
  IsKeyPressed(..)
    ^ Change to: Key.IsButtonDown(eKeyCode)  <-- to match Mouse.IsButtonDown



=== GAME ====================================
  IsInteractionAvailable(..)
    ^ Change to: Game.IsInteractionAvailableAtScreen(int x, int y, int mode)
  SkipUntilCharacterStops(..)
    ^ Change to: Game.SkipCharacterTravelTime(Character character)  <-- changed parameters
  SetSkipSpeech(..)
    ^ Change to: Game.SetSpeechSkipAction(SpeechSkip)  <-- new built-in enum - instead of int
  IsGamePaused ()
    ^ Change to: Game.IsPaused()
  GiveScore(..)
    ^ Change to: Game.score  <-- int
  GetLocationType(..)
    ^ Change to: Game.GetLocationTypeAt(int x, int y)
      Add: Game.GetLocationTypeAtScreen(int x, int y)
  Game.GetLocationName(..)
    ^ Change to: Game.GetLocationNameAt(int x, int y)
      Add: Game.GetLocationNameAtScreen(int x, int y)
  GetGameSpeed()  &  SetGameSpeed()
    ^ Change to: Game.fps  <-- int


 
=== SYSTEM ==================================
  System.ScreenHeight
    ^ Change to: System.windowHeight
  System.ScreenWidth
    ^ Change to: System.windowWidth



=== TEXT ====================================
  GetTextWidth(..)
    ^ Change to: Font.GetTextWidth(String text, FontType)
  GetTextHeight(..)
    ^ Change to: Font.GetTextHeight(String text, FrontType, int width)



=== SRIPTING ================================
  While in a "global" script you must refer to the room by name. EG:
    rBeach.Background.Frame = 2;
  OR adding a "currentRoom", equivalent to "player":
    currentRoom.Background.Frame = 2;





=== OTHERS THAT NEED ATTENTION ==============
IsSpeechVoxAvailable()
IsTranslationAvailable()
IsTimerExpired(..)
SetTimer(..)
IsInterfaceEnabled()
DisableInterface()
EnableInterface()
GetGameOption()
SetGameOption()
DisableGroundLevelAreas(..)
EnableGroundLevelAreas(..)
AreThingsOverlapping()
GetRoomProperty()
GetTextProperty()
ChangeRoomAutoPosition()
[close]

I'm sure there's plenty more - these are just the ones that I could remember or saw while quickly scrolling through manual
#6
I'm mostly just playing around at the moment, trying to learn some new techniques and see where they take me. I'm currently playing around with a game concept, doing a few test models of low-ish polygon humans. I was currently working on the face when I wondered what professionals do in a situation where they want eyes to blink or look around.

I was first looking into making spherical eyeballs and having a rigging system to make them look around, also with moving eyelids. But my characters don't need to be fully realistic as they're in a kind of low polygon and flat cartoon color style.

So my question is: what's easier for me as the programmer and modeler? An eye rigging system with spherical eye with functioning eyelids, or some kind of texturing thing. Where you move the texture sheet around to move the pupil, or to have him blink (I haven't a clue what this is called - so I haven't found much with a Google search).

Thanks guys!

Edit: Sorry, forgot to mention. It's for Unity3D and not AGS or anything unsupportive of bones and rigs.
#7
Critics' Lounge / Oh.. How I love my stapler
Thu 29/11/2012 09:40:27










So I downloaded Maya a couple days ago (shhh, don't tell anyone). I got it because I need a few 3D textures for a game I'm working on and I may as well do it myself rather than pay someone. But when I started it up the other day I had no idea where to start! It took me like 5 minutes to make my first cube. So I jumped online and watched dozens of youtube vids.

I've worked with 3D a little before, making Duke Nukem or Half-life levels when I was younger, but this was my first attempt at making something 3D in several years. I started it Tuesday evening and this was the result. I was also going to texture the floor with wood but decided a glossy gray floor was better than watching another tutorial video - for now.

I had a hard time getting the metal shiny and realistic.. Does anyone know any ways of doing it? Hopefully without having to download any surfaces.

I also found lighting was one of the hardest parts of the process. I placed and adjusted my lights so many times until I said screw it. Does anyone know of any good Maya lighting techniques?

(Oh, and why a stapler you ask? It was sitting on my desk and it had the perfect shape and intricacies inside to learn how to model with Maya. I actually made almost everything on the inside, things you can't even see in this photo. Just for practice. Everything but the spring that pushes the staples.)
#8
I'll start off by saying I've played all 3 of the Elder Scrolls games since Morrowind, although I never actually did beat Morrowind but came pretty close. I also haven't played all the much of Skyrim since I've only started it a few days ago. Anyway, I have always found the games to be very impressive, exciting and vast.. but I have always gotten a little bored of the games. There really isn't anything to motivate you to do every side quest, or to find every weapon or priceless artifact, or to even explore and search every nook and cranny.

With Morrowind I remember finding hidden things everywhere I looked. I'd enter someone's house and there would be an expensive ring sitting on the ledge that wrapped around the wall - if I hadn't been looking at the ledge, I never would have found it. Or renting a room to find a dagger that was left under the head of the bed. There was often something hiding, something to push you to explore everything. With Oblivion and Skyrim, I've noticed they removed what I enjoyed about Morrowind with the hidden objects everywhere. Also them removing levitation keeps me from even wanting to look up now.

I find the most exciting thing about exploring these games is the feeling that I'm the only person that's been there. I will lose that feeling even with seeing marauders outside the entryway of a cave or especially inside the cave.

I've never liked Oblivion's introduction to the Fast Travel. It makes it feel like I've skipped out on all the dangers or exploring by just pressing a button and I am instantly hours away from where I was. I've always liked that Morrowind had the walkers that would take you to the nearest towns, or the person in the Mage's guild that could teleport you.


Towns and NPCs
My main question is: am I the only one who really dislikes towns and finds them the most boring thing about the game?

I'm dead serious here. I try to avoid towns as much as possible! I never explore them. I pretty much just find out where the Merchants are and that's pretty much it. I find they like to make towns too large with very little purpose to explore. I try to avoid talking to characters because I find they talk too much and more than they need to on a single subject (cut the fat). I like the NPCs that don't have a dialog tree when you try to talk to them and they simply just shout out a random message. That's how most characters should be unless they have something important to tell you, or a quest. I would actually prefer to see an indication above NPC's heads if they have a quest for me or not.

I get bothered with their verbal diarrhea responses as you walk passed them "Good day! I work at so-and-so's place. Been there for years". I don't need to hear this. Do you ever walk around in real life, and without starting a conversation, having people you've never met share their life with you?

I also believe it was the removal of being able to sell whatever I had stolen to any merchant (except to the person I stole from) that makes exploring houses much less interesting. Morrowind had that right. I understand why they removed it, but I don't like that they did. Needing a fence to sell my goods, or that one crooked merchant, doesn't exactly make it worth my while. Like, how do they even know something was stolen anyway? If I'm a thief I want to sell to whomever I please.


L..O..A..D..I..N..G..
The thing that drives me most crazy is all the loading. I understand it's a vast world and there's so much to load. But it's a little overkill. It kills the flow of the game.
Entering someone's house.. Loading.. Going into their basement.. Loading.. Leaving their basement.. Loading.. Leaving the house.. Loading.. Leaving the town.. Loading..

Looking at GTA, Red Dead Redemption and other games that have asynchronous loading, it makes me wonder why Elder Scrolls hasn't done this yet.

I want to enter a town and look through the glossy windows of a house. I want to be able to see them sleeping in their bed while I sneak around outside their windows to find where I should break in. Instead I pick a lock, watch a loading screen, then find out the person was standing on the other side of the door staring at me as I loaded entered the house. I would love it if the doors would just open and you could enter and leave without any loading. No more of this NPCs fading in and out as they enter or leave a loading environment.

I also wouldn't mind walking along through a forest to see a weathered hole in the ground that leads to a dungeon. Jumping into the hole and entering the dungeon and immediately having free roam. Looking up and seeing the trees still there.

So it's not just the loading screen or waiting that bothers me. It's the lack of immersion and realistic gameplay. I would LOVE to see the next Elder Scrolls not having any noticeable loading unless you're "fast traveling" or loading a saved game.


The Menu and Favorite system
I never did like the Menu in Oblivion but I liked how organized it was within the tabs. Skyrim comes along and completely revamps the menu, but removes the good features that Oblivion had and makes it worse.

I don't want to see the Items only sorted alphabetically. For instance: items in the Apparel section shouldn't be sorted alphabetically only. With this system as you scroll down the list you'll see an amulet, then some kind of shield, then back to an amulet, then another shield etc. I want to see my items grouped together. Main groups and subgroups. Within the Apparel section I should see subgroups of: Helmets, Gauntlets, Greaves, Shoes, etc. The way they have it is beyond logical and it makes me wonder who decided that it was a good idea.

Heck, I can't even sort by weight anymore. If I'm trying to drop the heaviest items, I want to sort by weight. Also not being able to see the item's weight and price within the list without actually selecting the item, is beyond bizarre. Oblivion had so much right - of course it was still flawed and stupid, but at least it was more organized and somewhat easier to manage.

Why do we still see dozens and dozens of keys within our miscellaneous section but not grouped together. When do you look through miscellaneous items to check up on your keys? Why not have a "key chain" that holds all the keys. If you want to find out what keys you have within that, then it enters another submenu.


Then it leaves me with the favorite system (which is also not sorted by groups!). Also when you're in your favorite menu you can't remove a favorite; the only way is to search it up manually in your Items and remove from favorites.

This is what you should see on the Xbox version (or a variation of this - perhaps even customizable):

  • Press Left on the D-Pad it enters Magic
  • Press Right on the D-Pad it enters Weapons (being able to access the inventory from this)
  • Press Up on the D-Pad enters your Inventory
  • You press Down on the D-Pad and it enters your list of favorites or your list of frequently used items (all sorted by groups and subgroups). Having this allow access to a list of frequently equipped items would also be nice. So one can quickly go between their bow and sword without scrolling (since those two items will likely be at the top - for me anyway).

I find there's nothing that shows me my weight anymore unless I enter my Items menu. Like come on. So if I'm bartering with someone I still don't know my weight (at least I'm pretty sure). Instead I have to stop bartering with them, stop the conversation, then enter my items menu and check out my weight. Argh! Yes, as you can tell, I'm very frustrated by this game's UI.



I'm not certain why I'm writing this. Maybe I have hopes someone from Bethesda will see this and it'll make sense to them. Maybe I'd like to know I'm not the only one who dislikes nearly everything with their new Inventory menu and UI.

Is there anything about the Elder Scrolls games you guys find unbelievably frustrating or thing you'd like to see changed and improved? I'd love to hear it.
#9
General Discussion / The Space thread
Tue 15/05/2012 07:04:42
Wouldn't that be cool to have a real Enterprise in 20 years? Definitely.

http://www.popsci.com/technology/article/2012-05/build-real-starship-enterprise-make-it-so-ambitious-engineer-says?cmpid=tw

Of course I believe it'll never happen. The shape in itself isn't exactly ideal for space travel. The gravity wheel seems like a large waste of space. But it's definitely cool to think about.

Now maybe in 200 years I could see something resembling what he plans but we're too young and inexperienced. Perhaps with a space elevator, but even that isn't possible even within 20 years.
#10
General Discussion / Java on Android
Thu 19/04/2012 04:48:55
So I'm currently learning programming for the AndroidOS when I ran into some contradictions between the author of the book I'm reading, what he says and then does in his own code.

He says in a quick best practices summary at the end of the chapter:
QuoteBest Practices
[..]  You should maybe avoid getters and setters as well.


I did a little research and found this on the Android Developer website on getters and setters:

QuoteAvoid Internal Getters/Setters

In native languages like C++ it's common practice to use getters (e.g. i = getCount()) instead of accessing the field directly (i = mCount). This is an excellent habit for C++, because the compiler can usually inline the access, and if you need to restrict or debug field access you can add the code at any time.

On Android, this is a bad idea. Virtual method calls are expensive, much more so than instance field lookups. It's reasonable to follow common object-oriented programming practices and have getters and setters in the public interface, but within a class you should always access fields directly.

Without a JIT, direct field access is about 3x faster than invoking a trivial getter. With the JIT (where direct field access is as cheap as accessing a local), direct field access is about 7x faster than invoking a trivial getter. This is true in Froyo, but will improve in the future when the JIT inlines getter methods.



Then a lot of his code in the book uses getters and setters for no apparent reason (I'm not done the book yet - so perhaps he adds more to these getters and setters throughout but I doubt it)?

Here's an example:

Code: ags
public class AccelerometerHandler implements SensorEventListener {
	float accelX;
	float accelY;
	float accelZ;
	
        // [.. removed nonessential code that took the accelerometer changes and values and set them to the accelXYZ variables ..]
	
	public float getAccelX()
	{
		return accelX;
	}
	
	public float getAccelY()
	{
		return accelY;
	}
	
	public float getAccelZ()
	{
		return accelZ;
	}
}


I don't want to learn bad habits from someone who is supposed to be teaching me not to do something a certain way and then does it himself.

So why is it he suggests not to use getters and setters then he uses them all over his code? Just to encapsulate his code? To keep things looking neat for those learning from him? Should I change these to public variables and ditch the getters and setters he has in all his code examples?

Edit: Or does internal mean from within the class? Does it still apply in this instance?
#11
I haven't a clue where to post this considering you're all hoping to have new forum in the future. But I'll point this issue out in case it hasn't been noticed before.

I was doing some tests because of this thread when I discovered this multiple sprites in memory issue.

I create a dynamic sprite that is 6400x4800. The game memory usage becomes: 179,240 KB
I then assign object[0] the above mentioned dynamic sprite. The game memory usage becomes: 419,756 KB
I then assign object[1] the same sprite. The game memory usage becomes: 660,272 KB
Then the same with object[2]. The game memory usage becomes: 900,792 KB
..etc etc..  each time I run this test the memory usage is slightly larger or smaller - which I imagine is expected

There is approximately 240,516 KB difference every time a different object is assigned the same dynamic sprite.
It's significantly worse running the game with Direct3D.

Why would AGS do this? Discuss. Does this need to happen for some hardware reason I'm not familiar with?

Edit: I figured I'd check a sprite that wasn't a dynamic sprite and assigned it to 3 objects. It does the same deal as above.
#12
I was stealing an idea from Steve's Rope module. He has this public struct that he has in the header of a script. Looks exactly like this (just editing the redundant functions and changing the names):

Header script:
Code: ags

struct __Test
{
  import function whatever();
};
import __Test Test;


Script:
Code: ags

__Test Test;
export Test;

function __Test::whatever()
{
  player.Say("testing");
}


I have within a Room's AfterFadeIn:
Test.whatever(); 

I'm trying to make Test and its functions all public, but it seems to be throwing me an
Error: Unable to create local script: Runtime error: unresolved import 'Test'

What am I missing? It has zero problems compiling Steve's scripts, even after rebuilding all files (I was starting to think it was the new engine that was having issues), so what am I missing? I'm sure I did it exactly as he has it. I've even a search throughout the whole project in case I wasn't seeing any of his imports or exports.

I even tried moving around the import and exports, but have the same issue either way. I believe I have everything just like he has it. Or so it appears.
#13
So what's the deal with Character.Speaking not returning true if you don't have a SpeechView set and the character is talking with the regular Say function?

Is there a workaround?

Thanks.
#14
I could've sworn you can make a dynamic struct array? I'm 90% certain I had done it before.

Code: ags

struct sTest {
  Character *theCharacter;
};
sTest test[];

function game_start() 
{ 
  test = new sTest[Game.CharacterCount];
}


Results in the error: cannot create dynamic array of unmanaged struct
#15
You know how the top new post has the background color of green (ish) to separate it from the old? With Internet Explorer it doesn't display that green background. I imagine it's some quirk with IE that prevents the div class from taking effect when the table already has a color class.

I only use IE on my phone, but I tested it with the latest browser on my computer and it has issues with it too.

It really is a nuisance because once the images start loading, the location of the new message isn't positioned at the top of the browser anymore and usually gets bumped down.

I end up having to read or skim through multiple posts that I've read already, which can be quite time consuming on a mobile device.


It looks like a very easy fix to me, perhaps even adding a table with "New Posts Below" written between the old and new.
#16
General Discussion / Let the games begin!
Mon 13/12/2010 00:36:53
Christmas time is nearing. Snow is here. People crowd around their fire or plopped on their couches watching cheesy Christmas tales. Well if I have anything to say against that, I'd be saying 'that's enough of that'!

It's time to play enjoyable games. Games that keep you challenged, laughing and well fed of anger. I'm introducing you to an old classic, a classic that every man and woman, son or daughter should have played at least once in their lifetime.

The game is called: Qwop.



If any one can successfully run like a normal human being, and not someone who belongs in the handicapped olympics, I'll be completely amazed by your skill.

Play the game here: http://www.foddy.net/Athletics.html
Or watch a funny video to get you pumped about playing this game.

Q & W control the thighs and O & P control the calves.

My personal best, at the moment, as you can see above, is 61.6m. Try and beat that! Once you get to the 50m mark, you'll come across hurdles. Oh boy they're fun!


Now go ignore your children, ignore the wife, don't take the dog for a walk, and play this game and play it well.


If you have any suggestions for other fun and frustrating must play flash/java games, shout them out.
#17
Advanced Technical Forum / Extender Question
Sat 13/11/2010 06:24:56
So I was Really playing around with extenders today. I've used them tons of times with the obvious AGS built in types like Character, Object, Button, GUI, etc etc.
But I've never used them on a regular variable or even a custom struct until today (not including the import method inside the struct).

Anyway, my question is this, what is the difference between this:

Code: ags

  struct sMyStruct {
    int i;
    import function test();
  };
  sMyStruct myStruct;


  function sMyStruct::test()
  {
    //etc...
  }


And this (this is the method I stumbled across today, by playing around):

Code: ags

  struct sMyStruct {
    int i;
  };
  sMyStruct myStruct;


  function test(this sMyStruct*)
  {
    //etc...
  }


They both seem to work in the same fashion, with  myStruct.test()  only the top one is more organized by showing you within the struct what you have for that struct.

Could something be done differently between the two?



Also I was wondering, I'm pretty sure it's not possible in AGS without a big workaround, is there an easy way to make an Extender method similar to how the characters and such work in AGS?

Like this how  character[0]  could be the same as  cThePlayerCharacter  or  player.
cThePlayerCharacter  ==  player  ==  character[0]
#18
If you create a global variable in the editor pane then use it in a room script and then compile the game. Once you edit or delete that global variable within the global variable editor the game will crash and dump out this error:

Error: Unable to create local script: Runtime error: unresolved import 'variableName'


The only solution to find out what room has the issue is to rebuild all files each time you correct the issue for that one room. If you have multiple rooms with this global variable that you've deleted or edited, you have to rebuild it after each fix for each room.  In my case, I had to rebuild all files 6 times because I had the old global variable in 6 rooms.

EDIT: Ignore my horrible solution above to find which rooms have the issue, I don't want it to confuse and distract from the actual issue.
#19
I have a dynamic array in DynamicSprite format.  This array is created at game start, like so (this example only has 1 for the array size, but the issue occurs with any amount):

Code: ags

DynamicSprite *test[];

function game_start() 
{
  test = new DynamicSprite[1];
  test[0] = DynamicSprite.CreateFromExistingSprite(0);
}


Then I press F9 to restart the game, which recreates the array.  Once I close the game, I get the following error:

Quote
An error has occurred. Please contact the game author for support, as this is likely to be a scripting error and not a bug in AGS.
(ACI version 3.20.1099)

Error: DeleteSprite: Attempted to free static sprite X that was not loaded by the script

(X being the sprite number it stored it in; which is irrelevant)
#20
With any AGS game, if you multiple click in the same spot on the screen, the character stops walking, it calculates the navigation area, then starts walking again.

I understand that if the mouse is clicking in a different spot each time that it should still run the navigation algorithm, but why does it need to run it while the mouse is in the same spot and the character is still heading in that direction?  It's kinda redundant.

Basically, if using ProcessClick(mouse.x,mouse.y, eModeWalkto) happens to be the same as the previous click, it shouldn't need to run it again if the character is still moving and heading in that direction.
SMF spam blocked by CleanTalk