kellessdee 48 Report post Posted March 25, 2011 (edited) DRIVING MINI-GAME I finally got around to finishing this! Updated with more descriptive instructions. Instructions First and foremost, You need to copy and paste the script above main. To use this script, you must actually create a map, used for where the driving game will take place. To do this, simply create a map with the default width(there is no handling for scrolling wider maps) and whatever height you wish (the longer the map, the longer the mini-game will last) Once you create this map, you will need to add %d to the map name, so that the script will know the player has been transferred to a driving map. To better portray this here is a screenshot: Once you have created this map, simply use any tileset to create what the course will look like. However, once that is finished you will need to manually place obstacles and health boosts on this map. To do so, I have set it up so you simply need to create an event, and use either &o or &h as its name. &o is for obstacles, and &h is for health boosts: Obstacle event Health boost event And blam0, your driving map is set up. Now, to use this map correctly, you will need to create an event to send the player to this driving map, however there are a few things you need to do. 1) Store the map ID you wish to return to, the x co-ordinate, and the y co-ordinate all into separate variables (which variables to use, will depend on what you set them in the script, which I explain further down) (You can store the current Map ID, player x and y coordinates into separate variables, however if you wish for the player to move to a new map when the game is over, you will have to manually set the values.) If you open up map properties, this is the ID (so if 001, set the variable to 1, etc) This is where you find the x and y coordinates of the current map, just select a tile (in event mode) and it will tell you x, y. Set x to the first value, y to the second value. 2) You will probably want to change the player to invisible so when they go to the driving map, the player is not seen there. I have added an opacity method to the player, so before transferring to the driving map call a script and write in $game_player.set_opacity(0) this will make the player invisible. Then when you transfer the player, make sure you place them at the very bottom of the driving map. This is the event I set up for the demo. And there you have it! All done. Configuration At the beginning of the script there is a module called "Driving" this is all the configuration settings for the mini-game. I will explain each setting here better. SPEED - This determines how fast the vehicle moves, to be more specific it is the number of pixels per frame when a directional key is being pressed. If you find the vehicle moving too slow, increase this value. SCROLL_SPEED - This determines how fast the screen will scroll. Just like the vehicle, it is the number of pixels scrolled per frame. GRAPHIC_NAME - This is the name of the file that holds the "vehicles" graphic...It actually uses character sets, so place the graphic in that folder, and put its filename (without the extension) here. Also, in case you we wondering it DOES handle character animation. Try putting this as an actual player sprite, and you will see the run the whole way! GRAPHIC_HUE - This is the hue adjustment value for the graphic used. You probably won't need to change this at all, but if you'd like you can alter the colours in the graphic. 0 = original colour. OBSTACLE_DAMAGE - This is how much damage is received when the player runs into an obstacle. The "max" hp for the vehicle is 100, so try not to set this too high (unless you wish to make it hard :D) HEALTH_BOOST - This is how much health is recovered when the player picks up a health boost. MAP_VAR_ID - This is the ID number of the variable that will be used to store the Map ID of the map the player will transfer to once the game is over. You will reuse the variables each time you have an instance of this game, but do not worry, you can set this value in the event editor each time if you want the player to return to a different map (Variable id is the number of the variable in the event editor, Variable 0001:'s ID is 1.) X_VAR_ID - The ID number of the variable that will store the x-coordinate of the map you wish the player to be transferred to. Y_VAR_ID - The ID number of the variable that will store the y-coordinate of the map you wish the player to be transferred to. VICTORY_SWITCH_ID - The ID number of the switch that will hold whether the player won or lost the race. when ON, it means they won, when OFF they lost. You can use this to handle winning and losing events COUNTDOWN_SE - Path/Name of sound effect each time the start timer counts down. If set to nil, no sound will play (as with any SE/ME, the sound will not play if set to nil) START_SE - Path/Name of sound effect played the when GO is displayed VICTORY_ME - Path/Name of music effect (ME) played when the player wins LOSE_ME - Path/Name of music effect (ME) played when the player loses OBSTACLE_SE - Path/Name of sound effect played the when player runs into an obstacle HEALTH_SE - Path/Name of sound effect played the when player picks up a health boost *NOTE: Whatever the map has as its BGM will be played during the race. Script =begin * DRIVING MINI-GAME * by kellessdee ------------------------------------------------------------------------------ * This is a simple driving mini-game, you create a "Driving" map in the map * editor, and when the player is teleported to said map, the game begins. ------------------------------------------------------------------------------ * To signify a driving mini-game, just change the name of the map * to include %d at the beginning. ------------------------------------------------------------------------------ * There are 2 kinds of events that are used at this time in the game, * Obstacles and Health recovery. To create these in the game, just add events * to the map and include &o (for obstacle) or &h (for health) in the event * name. ------------------------------------------------------------------------------ * If you have any questions or need clarification on this script you can * contact me: * @ http://www.rmxpunlimited.net/forums/ * or by e-mail: kellessdee@gmail.com * You will probably have better luck getting in contact with me @rmxpunlimited, * plus they are a very friendly and helpful rmxp community, so if you want * join up! ------------------------------------------------------------------------------ * You are free to do whatever you wish with this script as long as you give * credit where due! * Thanks to LNER_fan for the car image! ------------------------------------------------------------------------------ * The following module are the configuration settings for the mini-game, * each one is explained within the module. ------------------------------------------------------------------------------ =end module Driving # Speed of the vehicle, how many pixels are travelled when moving SPEED = 5 # How fast the screen scrolls per frame SCROLL_SPEED = 32 # Name of the file in character sets for vehicle GRAPHIC_NAME = 'shmuptestchar' # Color adjustment of aformentioned file GRAPHIC_HUE = 0 # How much damage is inflicted by the obstacles OBSTACLE_DAMAGE = 10 # How much health is recovered by health items HEALTH_BOOST = 25 # The ID of the variable that contains the map ID to go to after game is # finished MAP_VAR_ID = 1 # ID of the variable for X coordinate to transfer player to on said map ID X_VAR_ID = 2 # ID of the variable for X coordinate to transfer player to on said map ID Y_VAR_ID = 3 # ID of the switch that holds whether the player won or lost the match VICTORY_SWITCH_ID = 1 # File name of sound during countdown. If set to nil, there will be no sound COUNTDOWN_SE = 'Audio/SE/002-System02' # File name of sound played when GO! is displayed START_SE = 'Audio/SE/014-Move02' # File name of ME when you win game VICTORY_ME = 'Audio/ME/004-Victory04' # File name of ME when you lose game LOSE_ME = 'Audio/ME/005-Defeat01' # File name of sound when you collide with obstacle OBSTACLE_SE = 'Audio/SE/104-Attack16' # File name of sound when you pick up health boost HEALTH_SE = 'Audio/SE/146-Support04' end #============================================================================ # ** Game_Vehicle #---------------------------------------------------------------------------- # Handles the vehicle in driving mini-game #============================================================================ class Game_Vehicle < RPG::Sprite #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :damage # Remaining damage left on vehicle #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(viewport) super(viewport) self.bitmap = RPG::Cache.character(Driving::GRAPHIC_NAME, Driving::GRAPHIC_HUE) @h = self.bitmap.height / 4 @w = self.bitmap.width / 4 # Initialize graphic to facing UP self.src_rect = Rect.new(0, @h * 3, @w, @h) # Set up hit box self.ox = @w / 2 self.oy = @h / 2 # Set up Screen location self.x = 320 self.y = 480 - @h # Initialize Animation frames @anim = 0 @crashing = false @damage = 100 @timer = 0 end #-------------------------------------------------------------------------- # * Update Frame #-------------------------------------------------------------------------- def update super if @timer > 0 @timer -= 1 self.whiten end if @timer == 0 && @crashing @crashing = false end # Increase animation frame @anim += 1 if @anim == 16 @anim = 0 end # if # Check if user is moving vehicle case Input.dir8 when 1 # Down Left move_left move_down when 2 # Down move_down when 3 # Down Right move_right move_down when 4 # Left move_left when 6 # Right move_right when 7 # Up Left move_left move_up when 8 # Up move_up when 9 # Up Right move_right move_up end # case # Update Animation frame update_animation # Check for obstacles/pick-ups check_location end # update #-------------------------------------------------------------------------- # * Update Animation Frame Graphic #-------------------------------------------------------------------------- def update_animation # Check which Animation frame self.src_rect = Rect.new((@anim / 4) * @w, @h * 3, @w, @h) end #-------------------------------------------------------------------------- # * Check Vehicle Location #-------------------------------------------------------------------------- def check_location # Check driving map's event at vehicle location x, y = get_map_x, get_map_y event = $game_map.get_event_name(x, y - 1) # if Obstacle if event.include?('&o') && !@crashing Audio.se_play(Driving::OBSTACLE_SE) unless Driving::OBSTACLE_SE == nil # damage vehicle @damage -= Driving::OBSTACLE_DAMAGE @crashing = true @timer = 10 return # if Health Boost elsif event.include?('&h') Audio.se_play(Driving::HEALTH_SE) unless Driving::HEALTH_SE == nil # heal vehicle @damage += Driving::HEALTH_BOOST if @damage > 100 @damage = 100 end # if $game_map.erase_event(x, y - 1) return end # if event = $game_map.get_event_name(x, y + 1) # if Obstacle if event.include?('&o') && !@crashing Audio.se_play(Driving::OBSTACLE_SE) unless Driving::OBSTACLE_SE == nil # damage vehicle @damage -= Driving::OBSTACLE_DAMAGE @crashing = true @timer = 10 return # if Health Boost elsif event.include?('&h') Audio.se_play(Driving::HEALTH_SE) unless Driving::HEALTH_SE == nil # heal vehicle @damage += Driving::HEALTH_BOOST if @damage > 100 @damage = 100 end # if $game_map.erase_event(x, y + 1) return end # if event = $game_map.get_event_name(x - 1, y) # if Obstacle if event.include?('&o') && !@crashing Audio.se_play(Driving::OBSTACLE_SE) unless Driving::OBSTACLE_SE == nil # damage vehicle @damage -= Driving::OBSTACLE_DAMAGE @crashing = true @timer = 10 return # if Health Boost elsif event.include?('&h') Audio.se_play(Driving::HEALTH_SE) unless Driving::HEALTH_SE == nil # heal vehicle @damage += Driving::HEALTH_BOOST if @damage > 100 @damage = 100 end # if $game_map.erase_event(x - 1, y) return end # if event = $game_map.get_event_name(x + 1, y) # if Obstacle if event.include?('&o') && !@crashing Audio.se_play(Driving::OBSTACLE_SE) unless Driving::OBSTACLE_SE == nil # damage vehicle @damage -= Driving::OBSTACLE_DAMAGE @crashing = true @timer = 10 return # if Health Boost elsif event.include?('&h') Audio.se_play(Driving::HEALTH_SE) unless Driving::HEALTH_SE == nil # heal vehicle @damage += Driving::HEALTH_BOOST if @damage > 100 @damage = 100 end # if $game_map.erase_event(x + 1, y) return end # if end # check_location #-------------------------------------------------------------------------- # * Move Vehicle Up #-------------------------------------------------------------------------- def move_up # If graphic is below very top of the screen if self.y - Driving::SPEED >= 0 self.y -= Driving::SPEED end end #-------------------------------------------------------------------------- # * Move Vehicle Down #-------------------------------------------------------------------------- def move_down # If graphic is above bottom of the screen if self.y + Driving::SPEED <= 480 self.y += Driving::SPEED end end # move_down #-------------------------------------------------------------------------- # * Move Vehicle Left #-------------------------------------------------------------------------- def move_left # If graphic is right of left of the screen if self.x - Driving::SPEED >= 0 self.x -= Driving::SPEED end end # move_left #-------------------------------------------------------------------------- # * Move Vehicle Right #-------------------------------------------------------------------------- def move_right # If graphic is left of right of screen if self.x + Driving::SPEED <= 640 self.x += Driving::SPEED end end # move_right #-------------------------------------------------------------------------- # * Get Map X #-------------------------------------------------------------------------- def get_map_x # Convert Screen X into Map X return (self.x + ($game_map.display_x / 4)) / 32 end # get_map_x #-------------------------------------------------------------------------- # * Get Map Y #-------------------------------------------------------------------------- def get_map_y # Convert Screen Y into Map Y return (self.y + ($game_map.display_y / 4)) / 32 end # get_map_y end # Game_Vehicle #============================================================================= # ** Scene_Driving #----------------------------------------------------------------------------- # This scene handles the driving mini-game #============================================================================= class Scene_Driving #--------------------------------------------------------------------------- # * Object Initialization #--------------------------------------------------------------------------- def initialize @victory = false @gameover = false @PREV_MAP_ID = $game_variables[Driving::MAP_VAR_ID] @PREV_MAP_X = $game_variables[Driving::X_VAR_ID] @PREV_MAP_Y = $game_variables[Driving::Y_VAR_ID] end # initialize #--------------------------------------------------------------------------- # * Main Processsing #--------------------------------------------------------------------------- def main # Draw Driving Course @course = Spriteset_Map.new # Create vehicle @vehicle = Game_Vehicle.new(@course.viewport1) # Create Screen display @fg = Sprite.new @fg.bitmap = Bitmap.new(640, 480) @fg.bitmap.font.size = 72 @fg.bitmap.font.bold = true @fg.bitmap.font.italic = true # Create Driving Timer @timer = 160 # Execute Transition Graphics.transition # Starting loop loop do # Update Graphics Graphics.update # Update frame update_start # if timer is finished, start Driving if @timer == 0 break end # if end # loop @fg.bitmap.font.size = 18 @fg.bitmap.font.color = Color.new(255, 255, 255, 255) # Setup Health Bar / Progress Bar update_health_display(100) # Main loop loop do # Update Graphics Graphics.update # Update Input Input.update # Update frame update_drive # If game is over, finish drive if @gameover break end # if end # loop @fg.bitmap.font.size = 72 # Set timer @timer = 160 # Finishing loop loop do # Update Graphics Graphics.update # Update finish if @victory update_finish else update_lose end # timer is finished leave scene if @timer == 0 break end end # Adjust WIN/LOSE switches $game_switches[Driving::VICTORY_SWITCH_ID] = @victory # Prepare transition Graphics.freeze # Change Map $game_map.setup(@PREV_MAP_ID) $game_player.moveto(@PREV_MAP_X, @PREV_MAP_Y) $scene = Scene_Map.new $game_player.set_opacity(255) # Dispose graphics @course.dispose @fg.dispose @vehicle.dispose end # main #--------------------------------------------------------------------------- # * Update drive #--------------------------------------------------------------------------- def update_drive # Temporarily store vehicle hp hp = @vehicle.damage # Scroll Screen $game_map.scroll_up(Driving::SCROLL_SPEED) # Update Map $game_map.update @course.update # Update Vehicle @vehicle.update # Check if hp has changed if hp != @vehicle.damage update_health_display(@vehicle.damage) end if $game_map.display_y == 0 @gameover = true @victory = true end # if end # update_drive #--------------------------------------------------------------------------- # * Update Start #--------------------------------------------------------------------------- def update_start # Update Timer @timer -= 1 case @timer when 159 draw_info('3') when 120..158 @fg.opacity += 20 unless Driving::COUNTDOWN_SE == nil Audio.se_play(Driving::COUNTDOWN_SE) if @timer == 155 end when 119 draw_info('2') when 80..118 @fg.opacity += 20 unless Driving::COUNTDOWN_SE == nil Audio.se_play(Driving::COUNTDOWN_SE) if @timer == 115 end when 79 draw_info('1') when 40..78 @fg.opacity += 20 unless Driving::COUNTDOWN_SE == nil Audio.se_play(Driving::COUNTDOWN_SE) if @timer == 75 end when 39 draw_info('GO!') when 0..38 @fg.opacity += 20 unless Driving::START_SE == nil Audio.se_play(Driving::START_SE) if @timer == 5 end end # case end # update_start #--------------------------------------------------------------------------- # * Update Finish #--------------------------------------------------------------------------- def update_finish # Update Timer @timer -= 1 case @timer when 158..159 Audio.me_play(Driving::VICTORY_ME) unless Driving::VICTORY_ME == nil draw_info('WIN!') when 0..157 @fg.opacity += 10 end # case end # update_finish #--------------------------------------------------------------------------- # * Update Lose #--------------------------------------------------------------------------- def update_lose # Update Timer @timer -= 1 case @timer when 158..159 Audio.me_play(Driving::LOSE_ME) unless Driving::LOSE_ME == nil draw_info('LOSE...') when 0..157 @fg.opacity += 5 end # case end #--------------------------------------------------------------------------- # * Draw Info #--------------------------------------------------------------------------- def draw_info(text) # Clear Bitmap @fg.bitmap.clear # Make transparent @fg.opacity = 0 # Get Center Screen location w = @fg.bitmap.text_size(text).width h = @fg.bitmap.text_size(text).height x = 320 - w / 2 y = 240 - h / 2 # Draw Black Outline @fg.bitmap.font.color = Color.new(0, 0, 0, 255) @fg.bitmap.draw_text(x - 3, y - 3, w, h, text, 1) @fg.bitmap.draw_text(x + 3, y - 3, w, h, text, 1) @fg.bitmap.draw_text(x - 3, y + 3, w, h, text, 1) @fg.bitmap.draw_text(x + 3, y + 3, w, h, text, 1) # Draw White inner Outline @fg.bitmap.font.color = Color.new(255, 255, 255, 255) @fg.bitmap.draw_text(x - 2, y - 2, w, h, text, 1) @fg.bitmap.draw_text(x + 2, y - 2, w, h, text, 1) @fg.bitmap.draw_text(x - 2, y + 2, w, h, text, 1) @fg.bitmap.draw_text(x + 2, y + 2, w, h, text, 1) # Draw Orange Center @fg.bitmap.font.color = Color.new(255, 100, 0, 255) @fg.bitmap.draw_text(x, y, w, h, text, 1) end # draw_info #--------------------------------------------------------------------------- # * Update Health Display #--------------------------------------------------------------------------- def update_health_display(health) @fg.bitmap.clear # Draw bar @fg.bitmap.draw_gradient_bar(16, 16, 304, 12, health, 100, Color.new(255, 0, 0, 255), Color.new(255, 75, 75, 255)) # Draw Label @fg.bitmap.font.color = Color.new(0, 0, 0, 255) @fg.bitmap.draw_text(19, 1, 300, 16, 'Health') @fg.bitmap.draw_text(21, 1, 300, 16, 'Health') @fg.bitmap.draw_text(19, -1, 300, 16, 'Health') @fg.bitmap.draw_text(21, -1, 300, 16, 'Health') @fg.bitmap.font.color = Color.new(255, 255, 255, 255) @fg.bitmap.draw_text(20, 0, 300, 16, 'Health') # Check if health is 0 if health <= 0 @gameover = true end end # update_health_display end # Scene_Driving #============================================================================= #============================================================================= #============================================================================= # ** MODIFIED CLASSES ******************************************************** #============================================================================= #============================================================================= #============================================================================= #============================================================================ # ** Spriteset_Map #============================================================================ class Spriteset_Map #-------------------------------------------------------------------------- # * Public Instance Variable #-------------------------------------------------------------------------- attr_reader :viewport1 end # Spriteset_Map #============================================================================ # ** Game_Event #============================================================================ class Game_Event < Game_Character #-------------------------------------------------------------------------- # * New Public Instance Variable #-------------------------------------------------------------------------- attr_reader :event attr_reader :erased end # Game_Event #============================================================================# # ** Scene_Map aliased to check if player is in driving mini-game map # #============================================================================# class Scene_Map #-------------------------------------------------------------------------- # * Alias Update #-------------------------------------------------------------------------- alias driving_update update def update driving_update # If player is in a driving map, start driving if $game_map.is_driving? $scene = Scene_Driving.new end # if end # update end # Scene_Map #============================================================================# # ** Game_Map additional methods # #============================================================================# class Game_Map @@map_info = load_data('Data/MapInfos.rxdata') #--------------------------------------------------------------------------- # * Check if current map has '%d' characters in name, which notates a # * driving map. #--------------------------------------------------------------------------- def is_driving?(id=@map_id) name = @@map_info[id].name return name.include?('%d') end # is_driving? #-------------------------------------------------------------------------- # * Get Event Name #-------------------------------------------------------------------------- def get_event_name(x, y) for event in $game_map.events.values if event.x == x and event.y == y unless event.erased return event.event.name end end end end # get_event_name #-------------------------------------------------------------------------- # * Erase Event #-------------------------------------------------------------------------- def erase_event(x, y) for event in $game_map.events.values if event.x == x and event.y == y event.erase end end end end # Game_Map #============================================================================# # ** Game_Player additional method # #============================================================================# class Game_Player #--------------------------------------------------------------------------- # * Set Opacity #--------------------------------------------------------------------------- def set_opacity(opacity) @opacity = opacity end end # Game_Player #============================================================================ # * Bitmap class, added gradient bars #============================================================================ class Bitmap #-------------------------------------------------------------------------- # * Draw Gradient Bar #-------------------------------------------------------------------------- def draw_gradient_bar(x, y, width, height, min, max, start_color, end_color) # Colors black = Color.new(0, 0, 0, 255) # Draw Bar back self.fill_rect(x, y, width, height, black) self.fill_rect(x - 1, y + 1, 1, height - 2, black) self.fill_rect(x + width, y + 1, 1, height - 2, black) # Get fill amount x += 3 y += 3 height -= 6 width -= 6 fill = (min.to_f / max) * width width = (width.to_f / fill) * 100 dr = (end_color.red - start_color.red) / width.to_f dg = (end_color.green - start_color.green) / width.to_f db = (end_color.blue - start_color.blue) / width.to_f da = (end_color.alpha - start_color.alpha) / width.to_f (0...fill).each {|i| start_color.red += dr unless start_color.red + dr < 0 start_color.green += dg unless start_color.green + dg < 0 start_color.blue += db unless start_color.blue + db < 0 start_color.alpha += da unless start_color.alpha + da < 0 self.fill_rect(x + i, y, 1, height, start_color) } end end As usual, if you have any issues or questions or whatever, let me know :) DEMO: http://www.mediafire.com/?srrx21rxbw0bc8n VIDEO: http://www.youtube.com/watch?v=91Pk0Ya4t9M DISCLAIMER: Use however you wish! Use it in your game, learn from it, modify it, make it better, post it elsewhere! I don't really care what you do with it, as long as you give credit where necessary :) Also, if you do improve the script at all, if you don't mind sending me what you did or letting me check it out I would be very interested to see what someone may have done with it; or if you wish post your improved version in this topic! Most importantly, have fun with the script! Edited April 15, 2011 by kellessdee Share this post Link to post Share on other sites
LNER fan 1 Report post Posted March 26, 2011 I'd find it useful. Maybe a script for one of those old driving arcade games? Details: The player character is continuously moving forward, but can still maneuver (Like in Touhou and other shoot-em'-ups) The player must dodge other objects on the road (other vehicles, pot-holes, etc.) Thanks in advance! Share this post Link to post Share on other sites
FranklinX 37 Report post Posted March 27, 2011 I believe there is a Mario Party game for the RPG Maker. I remember seeing videos of it on youtube. I think it is very possible. You may be able to do it without scripts, and use a lot of events. Share this post Link to post Share on other sites
gRaViJa 4 Report post Posted March 28, 2011 LNER fan's idea soudns really good. It can be used in different situations. I'm only not sure if this would be better if evented instead of scripted. Share this post Link to post Share on other sites
LNER fan 1 Report post Posted March 28, 2011 LNER fan's idea soudns really good. It can be used in different situations. I'm only not sure if this would be better if evented instead of scripted. Thanks! I mentioned it because I need it for my project. It's going to be a major part of the game. Share this post Link to post Share on other sites
kellessdee 48 Report post Posted March 28, 2011 (edited) @LNER fan: That sounds like a good challenge! but I think it can be done, do you think it would be nicer with a mode 7 style view or a top-down style? @RATED-RKOFRANKLIN: Mario party rmxp? That sounds really cool, I wonder if it's still kicking around somewhere. And about eventing vs. scripting although eventing these mini-games would probably hella easier and could do just as nice of a job, in my opinion scripts can be more efficient as well as it would be MUCH easier for others to plug and play into their games; it would be a matter of copying + pasting the scripts, then use an event to call the script. But since this will be found useful I will start working on this, I was going to start with black jack or something, but since LNER fan wants the driving game specifically I will work on that first Another question for anyone: would you guys rather I release each mini-game as I finish it, then compile them into a pack once they are finished? or should I just get them all finished then post the final pack? EDIT: I have updated my original post to make a list of mini-games to be included, and will update if people post ideas, which I hope to get a lot (enough to release a nice-sized package...lol sounds dirty) Edited March 28, 2011 by kellessdee Share this post Link to post Share on other sites
gRaViJa 4 Report post Posted March 30, 2011 There already is a blackjack script, just letting you know ;) Good luck! Share this post Link to post Share on other sites
kellessdee 48 Report post Posted March 30, 2011 Oh cool, for some reason I am not surprised. I will have to check it out (If i can at least make a more improved version; it will still be worth doing) But thanks man :) Share this post Link to post Share on other sites
joman195 9 Report post Posted March 30, 2011 How about a racing minigame if it's possible. Share this post Link to post Share on other sites
kellessdee 48 Report post Posted March 30, 2011 A racing game would be possible, albeit a little bit tougher, I will see what I can do. Share this post Link to post Share on other sites
Leetfaction 0 Report post Posted March 31, 2011 Something like Galaga would be awesome. You fly a space ship and fire your laser at enemy space ships. :D Share this post Link to post Share on other sites
kellessdee 48 Report post Posted March 31, 2011 Galaga actually sounds like a good idea :P @joman I thought about the racing game, and decided that it would probably a lot easier and a lot more efficient (well for me anyways, I dunno if I am fluent enough with ruby to get an actual racing game moving smoothly...unless it was like a straight away/drag race, that would be easy enough. if you want me to put together an event based one though let me know!) Share this post Link to post Share on other sites
LNER fan 1 Report post Posted March 31, 2011 Now that I think of it, the script you wrote for me could make a nice base for those two suggestions. Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 1, 2011 It could work as a base, but the main issue with the racing game itself is that it depends on how in-depth the racing game is, with racing, you need to take in account acceleration, different terrain affecting speed, AI for other racers, turning corners, etc... I don't mean to say it couldn't be done; however a racing game that is actually worth making would be involving coding that is a little advanced for me and could get very resource heavy...A drag racing game may be more plausible; then one simply needs to worry about acceleration and a simple AI--but then the question is, how fast would one get bored of playing a simple drag race? Although, perhaps a chrono trigger style race would make more sense (but even then, how fun was the racing game in chrono trigger?) Share this post Link to post Share on other sites
gRaViJa 4 Report post Posted April 2, 2011 i still think it could be great, for example a medieval horse race with obstacles and competetors etc. would be great to see in action. If you want to take up this challenge, i'll cheer for you :alright: Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 4, 2011 So I started to get working on the Galaga mini-game and I must say it has been fun to make so far! I have gotten movement, shooting, etc. done. I just need to code the enemies and their patterns and then that will be done :) And I have decided on trying to put together a more simple racing game, Similar to the driving game except instead of being damaged you get stopped, and there are opponents to race, and screen is not constantly moving. GALAGA Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 4, 2011 So I started to get working on the Galaga mini-game and I must say it has been fun to make so far! I have gotten movement, shooting, etc. done. I just need to code the enemies and their patterns and then that will be done :) And I have decided on trying to put together a more simple racing game, Similar to the driving game except instead of being damaged you get stopped, and there are opponents to race, and screen is not constantly moving. GALAGA Share this post Link to post Share on other sites
gRaViJa 4 Report post Posted April 9, 2011 Your work looks great, man! Too bad i don't see many people posting in this thread at the moment, but I for sure am following your work and i'll be more than happy when these get released :) Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 9, 2011 You definitely rekindled my interest, I will put my current menu script project aside for at least long enough to finish galaga! I am sorry if anyone else was looking forward to these, but shame on you for not pestering me to finish them! (seriously, guys, bug me, I know i make it sound like it annoys me, but seriously it helps me stick to my projects!) Share this post Link to post Share on other sites
gRaViJa 4 Report post Posted April 10, 2011 I wont bug you, i'll stalk ya :lol: Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 10, 2011 (edited) Excellent do what ever you can! Well, if my buddy doesn't get a hold of me soon, I will be assuming I am staying in for the night. And Despite having no sleep the bit of wine i had seemed to rejuvenate me so if nothing pans out i will be working on galaga EDIT: I think I have decided that once I complete and release galaga, I am gonna stop this project. I sincerely apologize if anyone was looking forward to the full project release. LNERFan, of course if you still need any help or support with the driving script I will help ya out (and I do plan on finishing that up and releasing it at some point) but I just realized that I am too much of an RPG whore to to this mini-game stuff (although galaga is gonna be pretty fun) I just have so many project ideas I want to move onto and I hate to break this, but I just can't find the motivation. Edited April 10, 2011 by kellessdee Share this post Link to post Share on other sites
joman195 9 Report post Posted April 10, 2011 No worries. We've all been there. At least the Galaga will get finished :D Share this post Link to post Share on other sites
someoneyouknow 0 Report post Posted April 10, 2011 (edited) I think these script will be really useful for me and the others. I really want the Driving Mini Game and Galaga one, but if you don't mind may I give an idea? I really want a guitar hero or stepmania minigame script. EDIT : Eh, what? Are you going to stop the project? *sob* Oh okay, guess I'll cancel my request above Edited April 10, 2011 by someoneyouknow Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 10, 2011 Thanks joman, I had a feeling it was gonna happen I was starting to get bored with it, and it just didn't seem as helpful as I originally thought. @someoneyouknow: The driving mini-game and galaga will be released. I am not going to be finishing this pack, well not at this point maybe i will continue it in the future. However you can request a script if you want, but I can't make any promises on when it will get done. But you can still suggest one if you'd like Share this post Link to post Share on other sites
LNER fan 1 Report post Posted April 11, 2011 I really want the Driving Mini Game I have it. If he's okay with it I could send it to you. I really want a guitar hero or stepmania minigame script. YESSSSSS to the guitar hero one, but what buttons would you use? How would you make charts? Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 11, 2011 (edited) @LNER fan yeah man of course you can send it off :) and oh yeah do you still need it set up to read the switch to see if you get game over or not? That kind of game would actually be relatively easy to make, but like you said LNER fan the difficulty would lay in setting up the charts. It would probably be best to set it up with the arrow-keys and make it like DDR. But the charts would either have to be compiled in image files that just scroll - but then the timing would probably be off. The best way would be to generate an arrow at a time and pre-program the charts. Which would be difficult unless you were good at making those kind of charts AND was able to script (I would be no good at making charts that fit the song) HOWEVER, once upon a time I played an RPG maker 2000/3 game that was basically dance dance revolution, and worked pretty good. So, eventing may actually be easier for this. Edited April 12, 2011 by kellessdee Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 12, 2011 (edited) I hate to double post, but I'd like to show you guys my current progress http://www.youtube.com/watch?v=3DK6J3IiFmc I need to fix the points (it seems like you get points if you shoot a dead enemy fast enough, i will fix this) and I realize now, the invincibility time for the player is too long Also, there is sound + music, but it never got picked up :( I guess now camstudio is acting up for me too lol But i have decided to make the game like this: each "round" there is a set of enemies of 1 type. The next round it's a new type and the enemies are stronger, once you beat 10 rounds it resets and enemies get faster. So it will be purely arcade! Is everyone cool with that? EDIT: http://www.mediafire.com/?07hkgej2a1m33e8 here's a little demo. I went and made the mistake of scripting when I should be sleeping...but I am beginning to worry that this mini-game is gonna lag like hell. I have a decent cpu and ram..so if you guys don't mind trying this out and letting me know what the lag levels are like. NOTE: you cannot "die" yet...you will run out of lives but thats it, you still get to play Just if you guys could let me know if you experience any lag, and if you don't mind letting me know what your current specs are...also of course if you find any bugs let me know as well Edited April 12, 2011 by kellessdee Share this post Link to post Share on other sites
gRaViJa 4 Report post Posted April 12, 2011 The video looks great. I'll download and try to see if it lags. Share this post Link to post Share on other sites
kellessdee 48 Report post Posted April 12, 2011 thanks man! I am hoping it doesn't lag...however I may be able to reduce lag by reducing either the amount of on screen enemies and on screen lasers..and I could theoretically make the background not scroll to reduce lag as well Share this post Link to post Share on other sites
gRaViJa 4 Report post Posted April 12, 2011 It was great! No lag here and i loved the it works. The font wasn't showing though because you didn't add the custom font :P Share this post Link to post Share on other sites