Yet Another TileMap Script

November 9, 2008

Tilemap Script

version 1.0 /w autotiles

What’s this?

This is another recreation of the hidden tilemap script. Different is maybe that this script runs as fast on a 500×500 map as on a 50×50 map. I took a new way into producing the graphics and threw in some time consuming functions to save cpu for bigger maps. So, what does that mean?

– Works with other Resolutions

– Works with animated autotiles

– Works with priorities

– Completely Commented  :bunny:

What’s next?

What am I doing now? I am updating this script at the moment to:

– Incorporate Flash Data (and flashing as one or many sprites)

– Enable the use of the Three SingleXXX constants. Meaning less sprites thus more fps.

You can do it yourself, if you want, but let me release it – it feels like a milestone to get.

What’s new?

Ok, this script differs from others by creating a bitmap of the size BitmapRect which is in the script. By default this will be the WindowRect (viewport) size plus a buffer size, where 1 tile each way is recommended (Set by BitmapWindowOffset).

Why all this shit you might ask – well I can tell you: What I did was only drawing those tiles visible and redrawing it every step. Whoaha, but that is time consuming? Yes, therefor I only draw the NEW tiles! It saves a LOT of FPS.

Only the priority tiles and autotiles are drawn separately.

– AutotileLength determines the number of frames before an autotile get updated.

– KillOutScreenSprite kills any tile sprite outside the bitmap rect is set to true.

– EnableFlashingData enables updating the flashing data, but the methods are missing in this script

And I am working on SingleFlashingSprite, SinglePrioritySprite and SingleAutotileSprite which create one single sprite layer rather then many different. This will save CPU if you have alot of autotiles on screen or lot of priority tiles on screen. But if you don’t use a lot of [i]Animated[/i] autotiles you are better of setting this to false in the next version.

What can I do?

You can test the script, throw in the other tilemap scripts and evaluate the results. I would like to know when one is faster then the other.

Script

http://www.rmxp.org/forums/index.php?topic=58168.0

Credits

Me™ obviously and I used the autotile index array from poccil’s script – not sure who it was that created it in the first place…

Advertisements

#2 Simply Connecting

October 23, 2008

Hey there folks,

Previous Tutorial: #1 Understanding the System

Today it’s is time to take your understanding just a little bit further. Sure, normally why would you care about something stupid like this – well – just because it always feels better to understand what is happening, other then simply assuming things and the way they work.

We chose our Server Structure (from now on: client-server), which was the Server as Intermediary and we are now going to try to make a simple connection. Please understand that all the code used here, returns in later paragraphs and tutorials. So first, what are we going to connect? It might be a simple question – but what is the exact answer? Well, to be honest: I’m not completely sure either. I am therefore just going to tell you what I know – nothing more.

For the sake of this tutorial, I chose to use Ruby Socket classes, but please understand that the way things work are the same in most common Object Oriented Programming Languages (OOPL’s).

Read the rest of this entry »

#1 Understanding the System

October 17, 2008

Hello everyone,

This is the first part of the many tutorials I am going to write on the online networking in an RGSS based system. The first and probably most important part is the one where you determine the structure of your online system. I will do so now. Read the rest of this entry »

Tutorial Category

October 17, 2008

The last introduction page for a while will be this one. Apart from the Arcade project and the full Netplay Three project I will be working on a set of tutorials to introduce the Online Functions to more and more scripters. I will be writing about the data flows, server structure and everything that is important to know when you are designing an online system.

I hope I can describe everything from connecting to global events – but it will take me some time.

Stay tuned,

Me™, Dark-Yen.

Arcade Project

October 16, 2008

Hello everyone,

Today I started on a quick side project, Epómenos Arcade – netplay for arcade games. This very basic set can be used to create online arcade games. There is off course some scripting to do for each game, but it is well and completely documented when finished. The first build will both eleborate on turn based arcade games and simultanious ones, which are harder to manage.

By default the following functions are availeble – some from epómenos and some others:

  • Complete documentation
  • Rewritten Ruby Server /w MySQL
  • New Network protocol (somewhat)
  • Admin kick, warn and ban function
  • IP banning, user name banning, e-mail banning
  • Multiple Chat channels
  • Multiple Game Rooms
  • Extensive logging system
  • Turn based OR Asynchronous based arcade games
  • Multiple types of High Score Lists
  • Editable ranking system
  • User stats (e.g. wins, lost, games, time)
  • User can evolve (e.g. badges, unlock items)
  • Room requirements (e.g. games played > 10)

Stats are saved into a MySQL database, so it can be called by an PHP page and be displayed on websites. You could even implement a shop system with which the user can buy specail items or unlock features for your game. You can also set room requirements by wins, losts, points, games played and more.

Keep track of your players by pulling some pre-made PHP pages which shows you their stats, their unlocks and currently online users; highscore lists and direct way to send a private message to the user or email the user about whatever you like.

Your imagination is the limit.

Cheers,

Me™, Dark-Yen

Features

October 15, 2008

People always seem to want a list of features. Well here are the things I want to put in, but not limited to:

  • Complete documentation
  • Rewritten Ruby Server /w MySQL
  • New Network protocol (somewhat)
  • Multiple characters
  • Global animations
  • Global switches and variables
  • No refresh failures (error in NPP+2)
  • Admin functions /l kick, teleport, warn
  • IP banning, username banning, e-mail banning
  • MySQL based save system or RXDATA save system
  • Multiple Chat channels
  • Extensive logging system

The following functions are also included, but might not be what you want – their 100% optional

  • Encryption support
  • Activation by E-mail support
  • Buying Licenses to play support
  • E-mail sending from server support
  • Visual equipment support
  • Website registration, payment and Gameshop support
  • Player Versus Player battle support
  • Trading support
  • Banking support
  • Skill shop support
  • Dungeon support
  • Teaming support
  • Player houses support

And more…

The start of something new

October 15, 2008

Hello everyone,

Reading this, you are most likely to come from one of the RMXP Forum Boards out there. I am Me™, also known under my real name as Derk-Jan Karrenbeld, or like on my Game Design blog by the name of Dark-Yen. I am a scripter, mainly, and script best in Ruby – the language behind the scripting in any RpgMaker XP game.

A while ago me and two friends, Muhammet (Mr. Mo / Shark Tooth) and Trebor (Trebor777) started on a module called Netplay Plus that allowed gamemaker to put their game in the next stage. The limitations are as high as our fantasy reached, RMXP games could now go Online. Now it’s already been a while since we dropped the project just before releasing the final version of Netplay Plus 2 due to the amount of stress the community was giving us, demanding from us.

Since then, not much has happened. Yes, there is Net RMXP 2, which basicy is NPP+2 with a lot of Italian Gibberish and some other not yet flourishing projects. Working on an online game the past few weeks as a job motivated me to completely rewrite netplay or well, say most functions. To keep track of this new netplay, or rather the next netplay, I put on this blog so I can easily work on this shit and you can read the progress.

The main changes that I want to make are the following two:

– The Project is completely documented, setting it up is easier then ever.
– The Project can be extended more easily and later other components can easily be installed.

The documentation will consist of a complete instruction how to set up Netplay Plus 3 and also on every functions and the way the Network Protocol works, so scriptwriters can learn and elaborate on it. If you have any questions, feel free to E-Mail me or to leave a comment.

Epomenos is Greek for Next. To summarize that it is coming after the previous netplay’s (including multi-, multi-extended and the orginal netplay) but also to make a contradiction on the fact that it is not near the previous netplay’s but totally different.

Cheers,

Me™, Dark-Yen