Welcome, Guest. Please login or register.
July 03, 2015, 07:56:15 PM

Login with username, password and session length
Search:     Advanced search
Check out the latest RPG news!
360370 Posts in 14629 Topics by 2274 Members
Latest Member: DucretAlex
* Home Help Search Login Register
  Show Posts
Pages: 1 ... 430 431 [432] 433 434 ... 610
6466  Media / Single-Player RPGs / Re: Square Enix on: September 22, 2009, 12:56:54 PM
Hey what happens when the current gaming generation grows up and becomes more interested in salaries and babies than their vidyagames, and simultaneously the gaming systems get too expensive for the younger generation? We gonna see another videogame crash?

(Or are people going to do the smart thing and decide against every growing up, because that leads to being fat, depressed, and uninteresting?)
6467  Media / Single-Player RPGs / Re: Square Enix on: September 21, 2009, 08:11:53 PM
I'm not convinced rising development costs are necessary and not the result of just poor planning/resource management, you know? It's like, there's nothing FORCING companies to rein it in, so why would they?

It's like what Square's doing with remaking whatever they're deeming a cash cow, or that whole "We'll ship a game for 50 bucks but you'll need to spend 20 more on DLC to get all the features." Or Sega's endless spiral into being really, really awful. Gamers, by and large, are either willing to put up with a lot of shit or just, I don't know, too stupid NOT to. The gaming press, for the most part, isn't really helpful either.

There's nothing external demanding exceptionalism from the game industry, and there's nothing internally demanding it either.
6468  Media / Single-Player RPGs / Re: Square Enix on: September 21, 2009, 05:16:31 PM
CT is also short as hell and very easy. Don't get me wrong. I think a lot of RPGs are way too long*, but 40 dollars for an essentially rather linear 20 hour game that doesn't really offer a lot of new ideas** by today's standards is a bit much.

Also I really wouldn't call Square-Enix a design-first company in the same way that, like, Paradox or pre-ionstorm-clusterfuck-id used to be**.

* Sort of. It's actually sort of a bell curve. Anything in the 40-70 hour range tends to be too long. Anything in the 20-35 or 75-100 hour range tends to be an appropriate length. There's various reasons why I think this. I will not be explaining them. FRAMT.

** I don't really think good design principles are bound by genre. Additionally I could've said pre-EA Maxis, except SC4 was post-EA and I love that, and also, thinking about pre-EA Maxis is depressing. EA raped my childhood more than furries ever could :(
6469  Media / Single-Player RPGs / Re: Aldorlea's Battle of the Millennium on: September 21, 2009, 05:02:04 PM
Quote
Marine enters a crazy journey that could change the world of Myst forever.

Oh shit she unleashes Sirrus and Achenar.
6470  Media / Single-Player RPGs / Re: Direct 2 Drive 5 year anniversary sale: RPG/MMO week on: September 21, 2009, 04:59:30 PM
Wasn't GTA:VC pretty heavy on RPG elements or was that just SA onwards?
6471  Media / Single-Player RPGs / Re: Square Enix on: September 21, 2009, 10:54:11 AM
Quote
Wada has stated multiple times in public forums that he's willing to gouge the consumer for every cent they'll cough up, and that he believes his companies' place is in remaking games and forcing people to pay for them over and over again.

If gamers are completely willing to keep buying them, can you really blame him?
6472  The Rest / General Discussions / Re: Do you hate your life? on: September 21, 2009, 01:59:12 AM
Quote
So, nobody at the hospital told me these steroids, which I needed to stay alive, would utterly destroy any sense of sexual stimulation in anyway at all.

Funny you should mention that. I've got about a million ways to respond to this except I don't think I really will because that would run way to close to puncturing the boundary between me and my internet alter-ego.
6473  Media / Single-Player RPGs / Re: Looking for action RPGs on: September 21, 2009, 12:29:33 AM
Quote
Nocturne's sewers weren't that horrible? Well, as far as sewer dungeons go.

If you think I mean the sewers in SMT:N (which uh, are tiny, and just another city) I mean Norturne's sewers in XG. I have no idea why I hate them. I just do.
6474  Media / Single-Player RPGs / Re: Looking for action RPGs on: September 20, 2009, 05:30:17 PM
Wait, babel's camera wasn't rotable?

That IS a problem.

(Honestly Babel has nothing on Noturne Sewers as far as like, me hating it though. Or the last couple of dungeons that were just random mazes of octagons and colors).
6475  The Rest / General Discussions / Re: "All Games becoming RPGs" Topic on: September 20, 2009, 12:29:20 AM
Quote
They either including watching a character, or creating a character from a blank slate... not playing out the part of a pre-created character, with the ability to build on their personality in subtle ways.

Torment, and most PnP roleplaying is from a blank slate state, but besides that I'm going to note that a lot of D&D players do not actually roleplay in the sense of getting into character or narrative.

And the notion that you're free to do anything in a PnP game is also a bit misguided because sane DMs don't let you do this because if you sort of ignore the storyline they set up then you're just wandering around and not doing anything.

Also PnP roleplaying games are obtuse and not particularly interesting, really.
6476  Media / Single-Player RPGs / Re: Looking for action RPGs on: September 20, 2009, 12:25:39 AM
XG's sprites look alright if you turn on sprite smoothing (in the triangle menu). Otherwise it's like FEI WHAT THE HELL IS WRONG WITH YOUR HEAD IT IS NOT SHAPED LIKE A HEAD.
6477  Media / Single-Player RPGs / Re: Which series has gone the longest without a dud? on: September 19, 2009, 06:25:33 AM
Prerendered backgrounds, by nature of being a static image, would really, really cut down on GPU costs.

And by nature of being static they're not appropriate for anything first person.

What ever happened to voxels?
6478  Media / Single-Player RPGs / Re: I can make games? Journal on: September 19, 2009, 02:47:12 AM
Okay. A union is a type, where all the members are stored in the same place in memory, and as such only one can be accessed at any time.

The Actor type i my base class here. It contains, among other bits of data, a class identifier integer and a union of type actorClass.

How this works is that the loadActor function in actorClassHandler sets one of the pointers in the union to a new whatever, and it can *NEVER BE CHANGED AGAIN*. and the other things in that union aren't accessible either.

The class identifier is an integer specifying what class is supposed to be in there so you know which element of the union to access.

So basically I can store every actor in a single array and use the ActorClassHandler to perform some very general actions on them (loading them, searching through them), and then check their identifier and access the proper element of the union to do more specific things.

It's not perfect but it works. I could probably do something more graceful with operator overloading.

---edit---

Bought a book on XNA. Started working through it. C# is more businically viable than FreeBASIC.

---edit2---

I have to admit, this XNA stuff is inspiring me. Also, I realized that my class structure in Quogue is essentially mimicking namespaces. Some of the things are still sort of tricky since FreeBASIC lacks real, uh, polymorphism though, meaning I really wouldn't want to embed update and draw functions in ever object.

The gameComponent system seems particularly elegant.

It seriously feels fucking good to be working through a *book* instead of something online. The feeling of paper is *amazing*.

---edit3---

worked on quogue. This is my movement code. It has a bunch of crap in it to accomodate jumppads and (eventually?) rocket jumping and weapon kickback.

Function findOpenSpace(direction As Integer, distance As Integer, x As integer, y As Integer, testCollision As CollisionLayer) As Integer
    Dim i
   
    Rem This is a flag that checks to see if movement is blocked
    Rem in a given direction so that like a player can't be shot
    Rem through walls. Say the move distance is 3 and the map looks like
    '. <-
    '#
    '.
    '@
    'Rem the player would land in the marked space even though they're blocked
    Rem unless I check this.
    Rem explicity checking for a blocked flag might not be necessary... after all.
    Dim blocked As Integer
   
    i = 0
    blocked = 0
   
    Select Case direction
        Case NORTH
            Rem This first loop checks for obstructions.
            Rem I starts at 0, as it is possible to not move at all.
            For i = 0 To distance Step + 1
                Rem Make sure the distance is in bounds. If not, parse it as an onstructoin.
                If (posY - distance < 0) Then
                    distance = i
                    Rem Exit the for loop. This goes out from the player. Further obstructions are irrelevant.
                    Exit For
                ElseIf (testCollision.wall(posX, posY - distance) <> 0) Or (testCollision.actors(posX, posY - distance) <> 0) Then
                    Rem i how far till the player hits something, and is the real max distance.
                    distance = i
                    Exit For
                end if
            next
           
            Rem Check for the actual distance.
            For i = distance To 0 Step - 1
                Rem check to see if the position at distance i is clear. If so, return i.
                If (testCollision.wall(posX, posY - distance) = 0) And (testCollision.actors(posX, posY - distance) = 0) Then
                Return i
            next
           
        Case SOUTH
            For i = 0 To distance Step + 1
                If (posY + distance < 0) Then
                    distance = i
                    Exit For
                ElseIf (testCollision.wall(posX, posY + distance) <> 0) Or (testCollision.actors(posX, posY + distance) <> 0) Then
                    distance = i
                    Exit For
                end if
            next
           
            For i = distance To 0 Step - 1
                If (testCollision.wall(posX, posY + distance) = 0) And (testCollision.actors(posX, posY + distance) = 0) Then
                Return i
            next       
       
        Case EAST
            For i = 0 To distance Step + 1
                If (posX + distance < 0) Then
                    distance = i
                    Exit For
                ElseIf (testCollision.wall(posX + distance, posY) <> 0) Or (testCollision.actors(posX + distance, posY) <> 0) Then
                    distance = i
                    Exit For
                end if
            next
           
            For i = distance To 0 Step - 1
                If (testCollision.wall(posX + distance, posY) = 0) And (testCollision.actors(posX + distance, posY) = 0) Then
                Return i
            next
           
        Case WEST
            For i = 0 To distance Step + 1
                If (posX - distance < 0) Then
                    distance = i
                    Exit For
                ElseIf (testCollision.wall(posX - distance, posY) <> 0) Or (testCollision.actors(posX - distance, posY) <> 0) Then
                    distance = i
                    Exit For
                end if
            next
           
            For i = distance To 0 Step - 1
                If (testCollision.wall(posX - distance, posY) = 0) And (testCollision.actors(posX - distance, posY) = 0) Then
                Return i
            next                 
           
    end select
end function

Rem I think this is done but I don't have a clue if it works.
Function Player.move(direction As Integer, testCollision As CollisionLayer) As Integer
    Rem Store the last valid X and Y positions.
    this.lastX = this.posX
    this.lastY = this.posY
   
    Rem Move the player, either automatically or based on keyboard input,
    Rem with preemptive collision detection.
    If this.autoMoveFlag = 1 Then
        Select Case this.autoDirection
            Case NORTH
                this.posY = this.posY - findOpenSpace(autoDirection, autoSpeed, xPos, yPos, testCollision)
            Case SOUTH
                this.posY = this.posY + findOpenSpace(autoDirection, autoSpeed, xPos, yPos, testCollision)
            Case EAST
                this.posX = this.posX + findOpenSpace(autoDirection, autoSpeed, xPos, yPos, testCollision)
            Case WEST
                this.posX = this.posX - findOpenSpace(autoDirection, autoSpeed, xPos, yPos, testCollision)
        end select
       
        this.autoMoveTimeout = this.autoMoveTimeout - 1
        If this.autoMoveTimout = 0 Then
            autoMoveFlag = 0
        end if
   
    Else
        Select case direction
            Case NORTH
                Rem Make sure that the wall and actor collision layer are clear. If they are, move the player.
                If testCollision.wall(posX, posY - 1) = 0 And testCollision.actors(posX, posY - 1) = 0 Then
                    this.posY = this.posY - 1
                end if
            Case SOUTH
                If testCollision.wall(posX, posY + 1) = 0 And testCollision.actors(posX, posY + 1) = 0 Then
                    this.posY = this.posY + 1
                end if           
            Case EAST
                If testCollision.wall(posX + 1, posY) = 0 And testCollision.actors(posX + 1, posY) = 0 Then
                    this.posX = this.posX  + 1
                end if           
            Case WEST
                If testCollision.wall(posX - 1, posY) = 0 And testCollision.actors(posX - 1, posY) = 0 Then
                    this.posX = this.posX - 1
                end if               
        end select
    end if
end function
6479  Media / Single-Player RPGs / Re: I can make games? Journal on: September 19, 2009, 02:38:50 AM
I should learn XNA. It looks like it removes some of the retardation from C++.

Quote
I was wondering how you were able to attempt polymorphism and all that with FreeBasic...

Sort of. Virtual functions aren't hard. You just need function pointers to simulate it. The "pointer to base class can take subclass" stuff I sort of worked out. I found two solutions on the forums. One involved stuff with typecasting I didn't get. The other one was fairly easy. I'll put my current code up later. I have no idea if it works, mind, as I've never compiled it yet, but it should.

Quote
you have experience!

??? I've been using FreeBASIC for like two weeks.

Anyway, that code I was talking about. I'll post an explanation in a new post.

#ifndef ACTOR_TYPES
#define ACTOR_TYPES

Rem Done - class and fmethods.
Type SpawnPoint
    Declare Constructor (Dim _x As Integer, Dim _y As Integer)
   
    Rem Essentially, a spawn point is a map object that holds a
    Rem valid place where a player can spawn.
    Dim posX As Integer
    Dim posY As Integer
   
end type

Rem Done - calss and methods.
Type Jumppad
    Declare Constructor(Dim _direction As Integer, Dim _distance As Integer, Dim _speed As Integer)
   
    Rem How far the player moves when launched.
    Dim distance As Integer
    Rem The direction the player moves in when launched.
    Dim direction As Integer
    Rem Speed at whic ha player moves when launched. 0 means instantenous teleportation.
    Dim speed As Integer
   
    Rem Defines what happens when the player steps on the jumppad.
    Declare Function collisionEvent(ByRef activePlayer As Player) As Integer
end type

Rem Done - class and methods.
Type Pickup
    Declare Constructor(Dim _itemType As Integer, Dim _respawnTime As Integer)
   
    Rem Signifies what type of item the pickup spawns.
    Dim itemType As Integer
    Rem When set to 1, the Pickup currently has an item spawned and
    Rem the countdownTimer is not updating.
    Dim active As Integer
    Rem The amount of time it takes to re-spawn a particular pickup.
    Dim respawnTime As Integer
    Rem Initially set to respawnTime, reduces each turn and when it hits
    Rem zero, reactivates the pickup.
    Dim countdownTimer As Integer
   
    Rem Controls timer countdown.
    Declare Function reduceTimer() As Integer
   
    Rem Event that happens when the timer hits zero.
    Declare Function timeoutEvent() As Integer
   
    Rem Event that happens when the player steps on the pickup.
    Declare Function collisionEvent(ByRef activePlayer As Player) As Integer

end type

Rem Done.
Union actorClass
    uJumppad As Jumppad Ptr
    uPickup As Pickup Ptr
    uSpawnpoint As Spawnpoint Ptr
end union


Rem Done - class and methods.
Type Actor
    Rem Each actor has a unique ID to facilitate collision detection.
    Dim ID As Integer
    Rem Number identifying which class the Actor represents.
    Dim class As Integer
   
    Rem Union stores a pointer -- and only one pointer -- to the Actor's specific 'class'.
    Dim classType As actorClass
end type

Rem Done - class and methods.
Type ActorClassHandler
    Rem Array storing ever actor in the game.
    Dim actors(1 to MAX_ACTORS) As Actor Rem Dim actors(1 to MAX_ACTORS) As Projectile
   
    Rem The last ID assigned. Always assigns this + 1 + MAX_PLAYERS
    Dim IDBase As Integer

    Rem Returns a pointer to an actor.
    Declare Function locateActor(lookupID As Integer) As Actor Ptr

    Rem Load actors into memory.
    Declare Function loadActor(classID As Integer, actorData As String) As Integer
   
end type

#endif
6480  Media / Single-Player RPGs / Re: Which series has gone the longest without a dud? on: September 18, 2009, 06:10:55 PM
She's trying to defend her opinion even though it's already been shot through a million times and slipping further into incoherence. I know because I used to do the exact same thing before I realized that if you just START OUT completely incoherent your argument is too bizarre to be argued anyway.

Quote
"dinosaurs are a test of faith by God"

Dunno about you but I was in DC this spring and all the dinosaur skeletons kept trying to sell me hookers (at least half of which were triple-breasted gay pandas).

Quote
"Obama is killing your grandmother"

You know I can't say I'd promote outright killing her because I'm just too nice but shipping that psycho off to some colony on the moon...
Pages: 1 ... 430 431 [432] 433 434 ... 610


Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!