Jump to content
New account registrations are disabed. This website is now an archive. Read more here.

kellessdee

Member
  • Content Count

    1,023
  • Joined

  • Last visited

  • Days Won

    26

kellessdee last won the day on March 4 2014

kellessdee had the most liked content!

About kellessdee

  • Rank
    mrrow ~!

Profile Information

  • Gender
    Male
  • Location
    Canada

Engines

  • Prefered Engine
    RPG Maker XP
  • Engine Level
    N/A
  • Class Title
    Programmer / Scripter
  • Project(s)
    I

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Greetings Kellessdee!

    I hope all is well, and this is a good way to contact you.

    I haven't been on this site in years but I am back in the RMXP game hunting for mini-games.

    I recall enjoying a few mini-games you created and shared, one was a driving one and a Galaga clone.

    I plan on using those old demos in my current project but was wondering if you ever got around to adding anything more to them? AND if you had any more mini games you just so happened to have laying around? Hoping this message find you... RMXP forever... G@MeF@Ce

    snap_92.png

    1. Marked

      Marked

      It's been  8 years since he's been here and sadly he's not coming back 😞

    2. G@MeF@Ce

      G@MeF@Ce

      ah ok thanks Rubick!
      oh no hope nothing bad?

  2. You were my favourite Canadian :(

    1. Bob423

      Bob423

      How does direct a status at someone?

  3. What fZero said: WATER_TERRAIN_TAG = 1 WATER_BUSH_DEPTH = 24 class Game_Character alias :new_bush_depth :bush_depth def bush_depth depth = new_bush_depth if depth > 0 && self.terrain_tag == WATER_TERRAIN_TAG return WATER_BUSH_DEPTH else return depth end end end Try playing with this, set the "terrain tag" of the water tiles to 1 and set the bush flag. Then you can play the WATER_BUSH_DEPTH value. The larger the number, the more of the character will be "transparent." The standard bush depth is 12. I picked 24 arbitrarily, and it looks alright with the RTP characters. You can change which tag is used, by changing the WATER_TERRAIN_TAG value. Note: This is a very simple + naive approach and could easily be modified to give a whole range of custom bush depths for various terrain tags in probably a more efficient manner, but for what you want, this is the simplest approach I think.
  4. Hmmm laptops are tough to compare, a lot of components to picking the right laptop, IMO (especially for the not-so-nerdy/techy types) has to do with the look and feel of the physical laptop. Also, the specs say nothing of whether the laptop was well constructed. If you know anyone who has experience with these models/brands, you should ask for some personal experience perhaps (though this can be mixed too) Anyways, objectively from a specs/pricetag standpoint, it seems the VAIO comes with a little more bang for your buck. CPU: VAIO definitely has the better CPU; quad core vs. dual core--4 cores running at a 2.5 GHz clock cycle is probably going to outperform 2 cores running at 2.7 GHz in multi-tasking any day. Arguably, multi-tasking is more important in this day and age (although, the processor is never the be-all end-all source of an individual applications performance) Memory: Memory is pretty much equal. There's not much to go on other than the basic specs, VAIO is only upgrade-able to 8GB memory, whereas the Satellite gets you up to 16GB Harddisk: Satellite wins here, with an extra 110 GB, but I would be willing to argue 640GB is more than enough (especially in your friend's case). You can get cheap external hard drives nowadays any how. Video: This is hard to say, I'm not that savvy on Graphics Card specs, and tbh I'm not sure how the dual-graphics card compares to a single graphics card. If it's anything like CPUs, parallel is better, and thus the Satellite would win here. I'm assuming your friend doesn't really play Graphics-intensive games, so either way I'd say the graphics is good enough. Audio: I think the VAIO sounds better-the satellite doesn't give much info about the audio. The rest of the specs are mostly the same or comparable, but I will point out this: the vaio looks to be heavier than the satellite. But, the satellite page doesn't say if the weight includes the battery, where the Vaio's weight does include the battery. IMO, the weight of a laptop can be VERY important. Battery Life Satellite gives no information on the battery life, but I find battery life mostly meaningless. Unless you take extra care of the battery, the actual lifespan dwindles quite quickly. (Don't let it die completely, don't let it dip below 50%, don't overcharge, don't charge while using it...) However, under the assumption that your friend probably isn't going to be doing too much computer-intensive work, she would probably do fine with either model (and maybe should pick the prettier of the two?) Just based from the specs and my personal opinion, it looks like the VAIO is a better buy (better price as well). To throw some more fun into the mix, does the choice HAVE to be between these laptops? http://www.dell.com/...&p=1&sort=price Dell has some great options, you can mostly customize your parts/package and the pricing is fair. I have the Dell XPS15, and have had NO troubles with it. In fact, I've spilled juice in it, dropped it upside down (screen down) onto concrete and had a small table flip over on top of the laptop. Still purring like a kitten. Plus, the newer dell laptops are apple-pc look-alike wannabes, so if one is looking for pretty that might be a good place to start. Just a suggestion. EDIT: I'm going to add in a couple notes: 1. Try to get her to choose Windows 7 64bit. It probably won't make much of a difference for her, but I support 64bit computing, and she should be taking advantage of the fact that she will have a 64bit processor. Plus, if she wants to upgrade her RAM, 32bit Windows can't see more than 4GB i believe. 2. Unfortunately, Windows has this thing, where for "power saving" reasons it likes to park 2 of the 4 cpus in quad core processors, so some "hacking" is required to get all 4 cores running, and eats battery life faster. 3. Raw specs are deceiving, what works in theory doesn't always (in fact, rarely) works the same way in practice
  5. In this case, I'm not sure if the font in question is an issue (it could be, but let me explain) The first clue: After trying to add those characters to an rpg maker project, it was successful (character was displayed, no syntax errors). Now, as far as I know, the ruby interpreter (using C's standard I/O facilities) reads a script byte for byte, and really only understands ASCII character encoding (or, more accurately, any encoding that is a direct superset of ASCII; such as UTF-8). So, looking at what you have here: 0xC3.chr C3 or 195 does not exist in any ASCII character set (nor UTF-8). "è", in UTF-8 is C3 A8 or U+00E8 (2-byte char) (hence why the attempts to use exact hex values displayed blank characters) However, this (in my opinion) still doesn't really explain what's going on. I can't be certain (I don't really know HOW RPG Maker saves scripts/event data exactly), but I have a theory. I'm assuming scripts are encoded as UTF-8. I know you are from France, and I am going to assume your window's locale settings match this fact...correct? Windows likes to hijack certain aspects of applications sometimes or sometimes applications purposely give control to Windows, and potentially this is messing with the input character set in RPG Maker's script editor. If ruby tries to read a character it doesn't understand, it's going to cry (and throw a syntax error). I still find it strange that the "Show Text" event command has no issues with the character...my theory here - assuming my previous theory was correct - is that, since event data is directly written to a marshal format file (scripts are compressed then written to marshal format), I guess RPG Maker does some work for you, using a readable character instead... It still doesn't make much sense in my head, but I don't know, I don't have RPG Maker's source code. Here's what you can try: 1. Try copying+pasting this --> "è" into the script editor (rather than directly inputting said character) and see if it works. 2. Try changing your windows' localization settings to US, and input the character (and try copying+pasting if that doesn't work) If none of that works, my theories are probably incorrect and you might have to resort to storing the string data in an external file (encoded as "UTF-8") and read the text out of the file. Other than that, I'm as stumped as you are. Hope this helps;
  6. Actually, Lines 80-102 are close to what you are looking for, 73-117 would be everything. The code you have there will not work, because you are trying to get the "item" attribute from the class rather than the instance of the Window in question. The class doesn't know anything about the selected item of any instance of that class. As per RPG Maker engine architecture, generally a scene creates and manages all objects required for that scene, as well as the scene object facilitates any communications between required objects. And as good Object-Oriented design would dictate, each window should be completely ignorant of other windows. This removes any unnecessary dependencies between windows. In your example (with the equip scene), a systems sequence might be described as such: Assume the player is currently on some map. 1. Player presses the B key 2. A new Scene_Menu object is instantiated and set as the active scene ($scene) 3. The player selects equip in the command window and input control is transferred to the status window. note: the index of the status window has a 1-to-1 relationship with the index of the actors in the party. $game_party.actors[@status_window.index] would return the currently selected actor of the status window. 0 is the first actor, 1 is the second actor ... and so on. 4. The player selects an actor, and a new Scene_Equip is instantiated with the current index of the status window and set as the active scene. $scene = Scene_Equip.new(@status_window.index) 5. Scene_Equip uses this index number to get the Game_Actor object to create the necessary equip windows (Right, Left, Item). note: each window simply displays the basic details from the actor object (base stats, equipment stats and equip-able items) 6. Scene_Equip controls communications between windows: Lines 73 - 78: This sets the item window corresponding to the active equip slot to be visible, and the others invisible. Lines 79 - 93: 1 Item window exists for each possible weapon slot. The currently equipped item (of the selected slot) is stored (item1), and the corresponding item window for that slot is set to the active item window (@item_window) Lines 94 - 98: This ensures, that if the player is not selecting an item from the item menu, the "new parameters" values will be erased. Lines 99 - 117: This is the code responsible for displaying the new parameters. It works by temporarily equipping the item that is selected in the item window, recording the players new stats re-equipping the original item and passes that information to the left window. So you see, each window doesn't really care about any other window's existence. They simply work on a need-to-know basis and the scene is responsible for distributing external data. You could, however, have also achieved the same effect, except in a way where the windows DID know about each other. This would be exactly as Moonpearl was describing with the help window example. You could have a public attribute so you could link the active item window to the left window, rather than having an instance variable in the Scene: @left_window.item_window = @item_window1 # ... etc ... and rework the right window to get any extra information directly from the item window. Or, you could redesign the left/right window to manage ALL the item_windows and make the Scene simply manage the other windows, etc. But I feel those such designs would over complicate the system and create complex dependencies. Ultimately, make things more confusing.
  7. I think moonpearl is correct, it looks like you are drawing all the stats in the same location. Try changing this x = 4 y = @item_max / 2 * 64 to x = (i % @column_max) * (self.bitmap.width / @column_max) y = (i / self.row_max) * (self.bitmap.height / self.row_max) The positioning may be a *little* bit off, but you need to calculate the ( x, y ) values from the current actor index ( i ) rather than using static values (which will draw every actor info at the same ( x, y )) This calculations should evenly distribute the actor info across each row and column, like this: [ actor 1 ][ actor 2 ] [ actor 3 ][ actor 4 ] if you need to slightly shift the positioning, you can do something like this: x = (i % @column_max) * (self.bitmap.width / @column_max) + x_offset y = (i / self.row_max) * (self.bitmap.height / @column_max) + y_offset just substitute ( x_offset, y_offset ) for actual integers (or make sure you store them as integer variables first)
  8. RPG Maker's RGSS library doesn't have anything xml based, I'm sure you could find a free+open source ruby XML parsing library (make sure it's ruby based, native extensions don't work in RPG Maker) Or, if you want something more uniform, you can construct your own data classes in the same way RPG Maker does. It would be similar to defining a table and adding records to that table in MySQL. Let's say you want to record some client data (contrived example) in SQL you might do [please excuse my SQL syntax, it's been a while] CREATE TABLE client ( id numeric, name varchar, phone varchar ); INSERT INTO client ( id, name, phone ) VALUES ( 1, 'Person', '1234567890' ); In ruby you'd do something like this: class Client attr_accessor :id attr_accessor :name attr_accessor :phone def initialize id = 0 name = "" phone = "" end end # RPG Maker style data storage: $data_clients = [] # array c = Client.new c.id = 1 c.name = "person" c.phone = "1234567890" $data_clients[c.id] = c The good part about using Ruby classes/objects to store your data, is that Ruby has built-in facilities for reading/writing these objects to the disk: # write data file = File.new("clients.rxdata", "wb") Marshal.dump($data_clients, file) file.close # read data file = File.new("clients.rxdata", "rb") $data_clients = Marshal.load(file) file.close Then you could theoretically create your data outside (or inside) RPG Maker, and use it that way, no XML required.
  9. You're going to be hard pressed to get a precise answer and it highly depends on what you are doing with the objects in question. Generally speaking, Array will have better performance than Hash, while a single variable would probably have better performance than both arrays and hashes. An array covers a contiguous block of memory, so you get the advantage of uniform memory access (it is easier to retrieve/set elements) whereas a Hash will generally store it's elements in different memory locations. A Hash also has the overhead memory of it's keys [it needs to store those keys somewhere] -- however you can mitigate that overhead slightly by using symbols for keys, rather than strings (only one instance of any symbol will ever exist in memory, strings will be duplicated in memory) A variable, being a single memory location, is going to have better access performance, because you don't have the overhead of a container object--don't forget that an array/hash variable still requires a variable lookup (to access the hash/array) plus whatever logic is necessary for retrieving the element. However, generally speaking as well--the difference in performance is probably very minimal. I wouldn't worry about performance characteristics until it's necessary. Premature optimization might get you into trouble (and be more work than it's worth). What you SHOULD do, is simply choose the best model for your requirements then usually the performance will be optimal (assuming everything else is optimal) Another thing to note: I did say performance of the various objects depends on the scenario, to give an example: let's say you have a set of records that contain some data, and you want to find the object associated with a specific name: # Array record = nil for d in data if d.name == some_name record = d break end end # Hash record = data[some_name] As you can see, with the array, associating an object with another object forces you to do all the heavy-lifting of looking up that value. Using a hash on the other hand (assuming your keys are the objects that should associate with other objects), allows you to leverage the hash as a lookup-table--you let the hash do all the heavy-lifting. But of course, like I said, worry about picking the CORRECT model for your program FIRST, then worry about optimizing that model AFTER. Also, ONLY worry about optimizing that model IF you need to. If your program/game performs well (no large frame drops, etc.) then you shouldn't need to try to optimize your code. Indeed, you could make your code slower if you aren't careful. After the code is created, then check for slowdowns and try to understand the underlying cause of the slowdowns. You'll probably get better performance optimizing your algorithms, rather than trying to optimize your data structures.
  10. Hmmm, did any of the logs give you something meaningful to go on? In the "General" tab of the event viewer you should get an english description (although, soemtimes the english description is more cryptic than the log itself) (sometimes it might give you something to go on, like "Critical thermal error" or something) I'm not sure what the binary data refers to in the context of windows events, from this all I can really tell you is that Event ID 6008 is an unexpected shutdown (which, is probably already obvious that's what had happened). You might want to check for new drivers, windows updates, etc. (the usual checklist). Of course, it could be an isolated issue (I received a Blue Screen once, and then never got one again...with no indications as to what caused it) or in the worst case scenario, you could have some kind of hardware issue. Faulty/Failing hardware is a common cause for Unexpected Shutdown errors. On a side note: are you using Windows' network manager or third party software? EDIT: Or, maybe someone who's more experienced with Windows' events might be able to help more
  11. Actually, I couldn't agree more. I think that's something that a lot of us are too quick to forget--we're only hobbyists. And more importantly, we're generally "solo" hobbyists. To go down a more complex route (such as my suggestion) would require a proper team and a lot of time/devotion. I'm sure it would even be possible to utilize a class system in a way that is unique and works well, while still giving the convenience of being able to tweak the balance quite well. While ambition is nice, we can't be good at EVERYTHING (unless you are Pixel and you made cave story, but my theory is that he isn't human), and putting together a reliable team isn't easy. It doesn't help if there's no consistent paychecks either. It's tough choosing between being ambitious and being realistic. Plus, if we're talking MMORPGs, one needs (or should have) a proper server setup and one that can handle what the game is going to allow. I guess, I'm kind of a "hopeless romantic" (if you will) when it comes to the game industry. I'd love to see someone pull it off though and bring something new to the table.
  12. Hmmm, to be honest I hadn't tested the script. So I just tested it, and it *seems* to work for me. Did you replace your script with mine or just add mine in there (so you have both scripts)?
  13. Looks like the author didn't account for the fact that enemies can use skills on themselves (as you know) Tell me if this works for you: #_______________________________________________________________________________ # MOG_Blue Magic V1.3 #_______________________________________________________________________________ # By Moghunter # http://www.atelier-rgss.com #_______________________________________________________________________________ # Permite que os personagens aprendam as magias dos inimigos. # Para definir quais magias serão aprendidas devemos criar um # atributo com o nome de "Blue Skill" e atribuir à habilidade # desejada, e após isso criar uma classe com o nome de "Blue Mage" # e atribuí-lo aos personagens que poderão aprender as magias. #_______________________________________________________________________________ module MOG #Nome da classe que poderá aprender as magias. CLASS_LEARN = "Blue Mage" #Nome do atributo do banco do dados.(Skills que poderão ser #aprendidas) ELE_LEARN = "Blue Skill" #Texto apresentado quando se aprende a Magia. TEXT_LEARN = "Learned" #Definição do som quando se aprende a Magia. SE_LEARN = "056-Right02" end #=============================================================================== # Scene_Battle #=============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # Update Status #-------------------------------------------------------------------------- alias mog55_update_phase4_step6 update_phase4_step6 def update_phase4_step6 if @active_battler.is_a?(Game_Enemy) and @active_battler.current_action.kind == 1 for tr in @target_battlers next if tr.is_a?(Game_Enemy) if not tr.dead? learn_skill(tr,@active_battler.current_action.skill_id) end end end mog55_update_phase4_step6 end #-------------------------------------------------------------------------- # learn_skill #-------------------------------------------------------------------------- def learn_skill(tr, skill_id) unless tr.skill_learn?(skill_id) if @skill.element_set.include?($data_system.elements.index(MOG::ELE_LEARN)) and tr.class_name == MOG::CLASS_LEARN tr.learn_skill(skill_id) tr.damage = MOG::TEXT_LEARN tr.damage_pop = true Audio.se_play("Audio/SE/" + MOG::SE_LEARN, 100, 100) rescue nil end return true end return false end end $mog_rgss_Blue_Magic = true * Note: It probably looks nearly identical to the existing code, which is because all I added was one line, to skip attempts for allowing an enemy to learn a skill
  14. Fedora 17 + Gnome 3.4? Hurry up and reset, bandwidth :(

    1. Marked

      Marked

      Lmao. *stares at my unlimited bandwidth*

    2. kellessdee

      kellessdee

      Is that a specific plan? Or does New Zealand actually recognize the fact that bandwidth should be free? *moves to new zealand*

    3. Polraudio

      Polraudio

      i also get unlimited with mine.

  15. @fzer0: You have a good point, and I cannot disagree that balance is very difficult and very important (especially in Online/Multiplayer Games). However, there is more than one way to skin a cat. I feel that the class system is the "easy" way out. It lets developers/designers ignore the true underlying cause of inbalance in games and then force the player into balanced roles. Instead of focusing gameplay around your "levels," "gear" (by gear, I mean the stats side of gear) and other arbitrary numeric "stat" systems why not base it off of something that's more naturally balanced? Physics is a great inspiration for such naturally balanced physical systems. In a crude example--dagger vs. long sword. A dagger can easily be as sharp as a long sword, and thus (depending on how it hits the target) would easily draw the same amount of blood. However, someone with daggers will easily be quicker and more mobile than one with a long sword; but the long sword would have more force to "knock back" another person and have a longer reach (making the target more difficult to hit). Leather armor vs. steel plated armor. Leather armor again, would be less restricting in movement but easier to get past. Steel plated armor would be more restricting, but more difficult to penetrate. Etc. Next, in a class system, you need to work hard at ensuring EVERY class is balanced; so that Say a warrior vs mage isn't unfair, and thief vs. warrior isn't unfair, etc. But does one not also have to ensure that a warrior vs. warrior is also not unfair? With no classes, EVERY player is on the SAME level as every other player. Then, focus can be diverted to balancing the other aspects of the game and the players get a huge freedom. Also, then you allow players to change their mind later in the game without having to start over. But really, my argument is incomplete. I only touched on the things I dislike about class systems, but in reality for my solution to work properly, one probably should also drop the arbitrary-number-based-stat systems, and level systems. Make the balance around how GOOD the player is at the game, not how many hours they spent grinding away. God forbid that a player who has played for 20 hours could POSSIBLY be better at something than someone who has played for 60 hours. God forbid that a player who has played for 20 hours can access the same parts of the game as someone who has played for 60 hours. And god forbid that a player can change their mind on how they want to play (after 60 hours), but NOT be forced to start completely over and do the same old boring repetitive tasks to get back to where they were. [sorry for the overload on sarcasm, but this is basically why I rage quit 99.9% of MMOs. I don't have time to play countless hours on end, why can't I just drop into a game for a couple hours, enjoy the game and exit? Why must I be forced to endlessly grind just to do something trivially meaningful in the game? I go to work for money and I play games for fun. When I play MMOs, I almost would rather go to work. At least they pay me for the boring repetitive tasks I am forced to perform.] Of course, I will give class systems this: they add an interesting dynamic to teamwork. Having to assemble a team of various complementary abilities is a cool concept. Of course, this can translate into non-class based systems as well. Finally, I'd just like to point out, I probably actually wouldn't truly advise any developer to take this route. Just like I wouldn't actually advise a developer to make a shooter that is radically different than Call of Duty. If you want players and you want some kind of revenue, you better make something that follows these formulas. The games are successful for a reason--that's what the majority wants. I don't know many people who could ever imagine an RPG where they couldn't get to level 99 (or something arbitrary like that), find the "Sword of 1000 tears" and "pwn nubs" (or whatever they do in MMOs these days) because they had more free time than the "nubs" to acquire such things. And, a lot of people like the class system. Forcebreaker does, and I know many people who like that concept. And it makes sense--paradox of choice and all. Sometimes it can be easier just to be told what you have to do, than being told "well, do whatever you want!" My real point, is that class systems are not the only way to balance a game, but no way is necessarily "the best" way. That's too subjective, what I proposed is how I would like to play games; which doesn't mean everyone else wants to play games like me. This is why I need to be careful with my sarcasm, I don't mean to imply my opinion is superior. Maybe one day I'll get my drop in MMO that I don't need to devote my life to just to enjoy. I like what Guild Wars 2 proposed, in organized PvP situations, all players are given max level, top class equipment, etc. That might be an even "easier" way out of balancing, but I like the idea of PvP where everyone has equal opportunity and it's how good you are at the game that does the talking; not how you got lucky and discovered the rarest weapon drop in the game, that essentially beats out any other weapon. I think Moonpearl put it very well about how I feel about MMORPGs, it often ends up feeling like I'm just playing a single player game, where you can sh*t-talk the AI and they actually respond. As fun as that is, I don't think it makes up for the flaws.
×
×
  • Create New...