Welcome, Guest. Please login or register.
November 27, 2014, 07:20:40 PM

Login with username, password and session length
Search:     Advanced search
We have a new board! Pop on over to the Game Journals section and tell us what you've been playing!
338664 Posts in 13863 Topics by 2217 Members
Latest Member: milz
* Home Help Search Login Register
+  RPGFan Message Boards
|-+  Media
| |-+  Single-Player RPGs
| | |-+  I can make games? Journal
« previous next »
Pages: 1 2 [3] Print
Author Topic: I can make games? Journal  (Read 8077 times)
blackthirteen
Posts: 296

Member
*


View Profile

Ignore
« Reply #30 on: November 25, 2009, 12:29:02 AM »

I'm temporarly using RPG Maker to make games (Back then I never thought I would use it, I had so much disregard for RPG Maker hehe)

but in reality I am working on my own game engine which is going to be flexible. Consoles is my chief goal. My engine should be ready during 2011. From time to time I'm sharing articles about my devs on my blog, so feel free to bookmark it.

http://www.blossomsoft.com/gamezopher/
« Last Edit: November 25, 2009, 12:37:03 AM by blackthirteen » Logged
MeshGearFox
Posts: 8701


HERE ON RUM ISLAND WE DO NOT BELIEVE IN RUM!

Member
*


View Profile

Ignore
« Reply #31 on: November 25, 2009, 10:48:44 PM »

black, we can discuss our programming trials and tribulations~~~

Anyway so right now I'm working on a statless RPG. How does that work? Good question. Here's one idea I'm toying with though.

It has roguelike bump-to-attack combat, but attack results are entirely deterministic and, additionally, the player, monsters, and NPCs only ever have one HP. That's it. Any attack that lands is an instant kill attack. Thus the focus is moved to finding ways to indirectly deal with enemies, attack from a distance, and to acquire artifacts that ENSURE that you attack first and that your attack hits. Additionally you can also learn "skills" which are just flags that give you new abilities (like negotiating with enemies to get them to not attack, or to join you and basically be meat shields) and affect your attack order/chance to hit.

What do you guys think?
Logged

o/` I do not feel joy o/`
o/` I do not dream o/`
o/` I only stare at the door and smoke o/`

Fei
Posts: 1336


!?

Member
*


View Profile

Ignore
« Reply #32 on: November 26, 2009, 01:26:35 PM »

That almost sounds like you're "zooming into" the battles/gameplay with those minute details, but actually you're "zooming out" since you're reducing a drawn out hit for hit battle into one of it's inevitable outcomes (either you win, or you lose).

You also mention turn order and meatshields... If your goal is to focus on setting up the environment for a particular battle, then I think the 1hp thing is a pretty good idea.  Perhaps an enemy at a cannon has a pile of cannonballs that you can steal to make the battle winnable?  Stuff like that, right?
Logged

If you re-spec your elduhz and own a Vita - http://twitter.com/BSNursery
MeshGearFox
Posts: 8701


HERE ON RUM ISLAND WE DO NOT BELIEVE IN RUM!

Member
*


View Profile

Ignore
« Reply #33 on: November 26, 2009, 09:28:36 PM »

Essentially! Although in this case it'd be a matter of killing the power supply to some laser thing.

My goal here is to define objects not in terms of stats but in terms of behaviors. How this will ACTUALLY work is sort of hard to say.

---edit---

Specifically addressing your example.

A. Creature fires at the player.
------------------------------------------
1. Player enters the creature's line of sight, trigger a LOSEntered event on the creature.
2. The creature runs the LOSEntered function in its Behavior script.
3. This function triggers a Used event in the cannon.
4. The cannon runs the UsedEvent function in its Behavior script.
5. The cannon places a CreateInstance(Bullet) event in the GlobalEventHandler.
6. A bullet is placed on the map beneath the cannon, with a flag being set indicating its direction.
7. As per its Default Behavior, the bullet keeps moving south.
8. The bullet collides with the player, triggering a CollisionAsObjectEvent on the player and a CollisionAsAgentEvent on the bullet.
9. The bullet triggers a HitByProjectileEvent on the player and then dies.
10. The player bumps back the bullet and checks to make sure that it's not a creature and that they don't get an attack of opportunity on it.

Now, a few things can happen.

11. The player has a flag set indicating they are wearing reflective armor.
12. The player puts a CreateInstance event into the GlobalEventHanlder.
13. A new bullet is created, which moves north till it hits the cannon (specifically, this bullet dies on collision, even if the enemy is reflective. Why? Otherwise, we'd end up with ping pong).
14. Same as above, only the cannon isn't reflective and dies.
15. Possibly place an CreateExplosionAt event in the GlobalEventHandler to take out anyone near the cannon.

Or.

11. The player dies.
« Last Edit: November 27, 2009, 02:18:04 AM by MeshGearFox » Logged

o/` I do not feel joy o/`
o/` I do not dream o/`
o/` I only stare at the door and smoke o/`

Fei
Posts: 1336


!?

Member
*


View Profile

Ignore
« Reply #34 on: November 27, 2009, 05:44:47 PM »

So you'll probably be using bitmasks.

Lets see, a double word would give you 11111111 11111111 11111111 11111111 for your character's "stats".  They aren't stats, but situational flags.

if the 3rd bit of the 2nd byte was the reflective armor flag, you'd AND the value 00000000 00100000 00000000 00000000 against the character's "stats", and a non-zero result means you have reflective armor and can route your program flow accordingly.  I see you wanted to use boolean logic, and this would be pretty straightforward.

When it comes to bit logic my head always ends up spinning because I start getting things backwards in my brain... I wanted to say you'd OR the values together for some reason, but I don't know why.  AND would be right, right?

I think so anyway.  You'd use OR to set your character's "stats".  If you pick up an item you already have, the same OR operation will keep the 1 in that spot and no extra checking will be required.
Logged

If you re-spec your elduhz and own a Vita - http://twitter.com/BSNursery
MeshGearFox
Posts: 8701


HERE ON RUM ISLAND WE DO NOT BELIEVE IN RUM!

Member
*


View Profile

Ignore
« Reply #35 on: November 28, 2009, 12:50:05 AM »

Quote
if the 3rd bit of the 2nd byte was the reflective armor flag, you'd AND the value 00000000 00100000 00000000 00000000 against the character's "stats", and a non-zero result means you have reflective armor and can route your program flow accordingly.

I was actually just going to use if statements but your idea makes a lot more sense. Also I'm not sticking THAT rigidly to boolean logic (especially as the gameplay is being more developed).

Basically I'm addressing several flaws I see in RPGs:

* Arbitrary stats.
* Inconsequential combat.
* Enemies that all behave the same--they just have different stats.
* Equipment obsolescence.
Logged

o/` I do not feel joy o/`
o/` I do not dream o/`
o/` I only stare at the door and smoke o/`

Fei
Posts: 1336


!?

Member
*


View Profile

Ignore
« Reply #36 on: November 29, 2009, 08:02:29 PM »

You're making Metal Gear Rogue: Tactical Rogue Action aren't you...
Logged

If you re-spec your elduhz and own a Vita - http://twitter.com/BSNursery
MeshGearFox
Posts: 8701


HERE ON RUM ISLAND WE DO NOT BELIEVE IN RUM!

Member
*


View Profile

Ignore
« Reply #37 on: December 01, 2009, 11:17:18 AM »

That depends on if I can figure out line-of-sight stuff well enough.

Right now this thing's sort of on pause until I get my dist-learn.ru stuff caught up.

---edit---

Actually found a shadowcasting FOV library that should work really nice with the existing architecture I had in mind (where there are various global/quasi-global maps that store data about collision, visibility, position, etc...).

I could do really simple FOV stuff if I was doing Nethack mainline dungeon style maps (square rooms with straight corridors). Unfortunately, I'm not.
« Last Edit: December 02, 2009, 12:52:07 PM by MeshGearFox » Logged

o/` I do not feel joy o/`
o/` I do not dream o/`
o/` I only stare at the door and smoke o/`

Fei
Posts: 1336


!?

Member
*


View Profile

Ignore
« Reply #38 on: December 03, 2009, 07:40:23 PM »

I would set up the simple square corridor style line of sight just to test the reaction code, then make it more believable later.

What are you dealing with with the line of sight stuff then, triangles based on the character's location and the enemy's location?  Or is the library so you don't have to even do that?

Logged

If you re-spec your elduhz and own a Vita - http://twitter.com/BSNursery
MeshGearFox
Posts: 8701


HERE ON RUM ISLAND WE DO NOT BELIEVE IN RUM!

Member
*


View Profile

Ignore
« Reply #39 on: December 04, 2009, 11:24:00 PM »

The fovlib looks like it does angbandish style fov stuff. No idea how it works.

I had to like, switch some stuff in my code based on VARIOUS MISUNDERSTANDING about how things worked in C++. Dealing with that, I got rid of stringstreams because they're a bitch to work with. finally, having dealt with THAT, I ended up rewriting a small portion of the STL algorithms library because I was tired of being its bitch and decided to make it MY bitch and now it's my bitch.
Logged

o/` I do not feel joy o/`
o/` I do not dream o/`
o/` I only stare at the door and smoke o/`

Fei
Posts: 1336


!?

Member
*


View Profile

Ignore
« Reply #40 on: December 05, 2009, 02:25:54 PM »

I ended up rewriting a small portion of the STL algorithms library because I was tired of being its bitch and decided to make it MY bitch and now it's my bitch.

Impressive, Snake.  Did you directly edit your STL, or did you copy and rename the file that you edited?  Either way, that's more balls than I have.
Logged

If you re-spec your elduhz and own a Vita - http://twitter.com/BSNursery
MeshGearFox
Posts: 8701


HERE ON RUM ISLAND WE DO NOT BELIEVE IN RUM!

Member
*


View Profile

Ignore
« Reply #41 on: December 05, 2009, 08:45:35 PM »

Actually it wasn't taking my rewritten function and I'm not even sure it worked.

However, since I switched over from storing my stuff in arrays of pointers to just storing it as actual objects, the desired behavior worked like how I wanted anyway.

Still really, really confused by things.

Also I can't get my objects to draw themselves anymore. I think it's issues with finding the global screen object.
Logged

o/` I do not feel joy o/`
o/` I do not dream o/`
o/` I only stare at the door and smoke o/`

Fei
Posts: 1336


!?

Member
*


View Profile

Ignore
« Reply #42 on: December 08, 2009, 04:47:20 PM »

What are you using for graphics?

With windows/direct x, I made a class to handle all of the rendering and boilerplate BS, and in that class was a windows handle, which I'm assuming is the same as your global screen object.  I would make one global instance of that class in main, and would set the handle in that object equal to the main windows handle created in the main code, and it worked as if they were the same (they both point to the same thing apparently).  From there, that global object always had access to the main window, which was important because Direct X functions almost always need a pointer to the windows handle.

As for storing stuff in arrays, are you talking about saving files to the HD?  Obviously saving pointer data won't work because the memory won't be allocated to the exact same place in memory the next time you run the program... I'm still not 100% on how I am going to handle saving dynamic data... I was considering having 2 different files... one being a text file with the dimensions of the 2nd file (for initialization purposes)... god, I can't even remember. 

I'm going to spend a few days making a bunch of artwork before I start coding hard.  Having artwork motivates me to bring it to life, and therefore finish the program.
Logged

If you re-spec your elduhz and own a Vita - http://twitter.com/BSNursery
MeshGearFox
Posts: 8701


HERE ON RUM ISLAND WE DO NOT BELIEVE IN RUM!

Member
*


View Profile

Ignore
« Reply #43 on: December 08, 2009, 05:45:45 PM »

SDL. Also it was actually in an issue with me defining a destructor to free the SDL_Surface without defining a copy constructor that would, er, ensure that the SDL_Surface was getting passed by value instead of by reference, so that when the destructor ran, it wouldn't delete something in use.

However I'm not sure if you can pass SDL_Surfaces by value.

Quote
are you talking about saving files to the HD?

No.

Logged

o/` I do not feel joy o/`
o/` I do not dream o/`
o/` I only stare at the door and smoke o/`

Pages: 1 2 [3] Print 
« previous next »
Jump to:  



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