Author Topic: [C#] Project GreGoR  (Read 4543 times)

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
[C#] Project GreGoR
« on: November 19, 2010, 09:39:05 PM »
GreGoR PG Engine
Version: N/A

Info
Alright, I promised King Munkey we would at least attempt to make an RPG from scratch using XNA. Well due to my well first losing my laptop and my main computer breaking down, I haven't done anything to contribute to this project. And now that I do have a computer at home, its just a lack of internet and now I'm relying on school computers to put out info.

Well I've been working on the engine now for about a week. I have accomplished some nice features and I would like to share them with you along with a demo. However I cannot get a demo out yet, until I put it on my flash drive and bring it to school. (Will do so tomorrow) Anyways below is some basic features and info about the engine.

Features
Alright so I've been working on some key main features we'd need for a basic engine like this. I basically setup the project to go off of what RMXP does. The main file that gets processed Game1.cs acts as the "Main" script in RMXP. I think I came up with a nice genius way to make this as easy as possible.

Heres what I have now.
  • Basic Scene and Main Structure
  • Basic Window Structure
  • Tilemap is Almost done (Working on autotiles)
  • Test scenes have been made

Basic Structure
Alright so my basic structure is quite simple actually. Maybe its not the "right" way to do it, but its making it a lot easier for me anyways. I've made it so easy to create windows and scenes it takes a matter of minutes just to recreate Scene_Title from RMXP.

So basically I have a class called "Scenes.Base"
This Base has every method any scene needs for updating, drawing, loading and unloading content.
Scenes.Base also has two important variables for scene changing.
Code: [Select]
Scenes.Base scene;
bool scene_change = false;
The main process checks to see if scene_change is true, if so, change the scene to the one thats defined within the scene itself. Basically Scenes.Base is structured like this.
(click to show/hide)

I created an item template, so when I add a New Item I can click Scene.cs and it'll add all methods and stuff I need. Now in my "Main" script you could call it, which is the actual Game class itself, it acts basically as Main does. Its basically like this.
(click to show/hide)

Now any class that inherits Scenes.Base will be labeled as a Scenes.Base class. It may be inefficent maybe but its making it a lot easier on my part. So recreating the Title scene is quite simple too. However can't create that unless I have a Window base. Which I also have.

Window Structure
This is setup practically like Scenes.Base. The only difference is its Windows.Base now. And it has methods in the Draw method that actually creates the window. Now it doesn't use RMXP's windowskins. For now it just uses a simple window graphic and stretches it to the windows size. Later, we'll have our own custom window skin template.

So now you can also create windows using Windows.Base. For example here could be a simple window displaying "Hello World". However when creating a window, you'll need a second argument when calling the base.Main method. Also note I cannot exactly recall how the method looks, I'm just using Main as a place holder.
The second argument is the location and size. Basically when creating a new window in RGSS
super(x, y, width, height) except we're using a Rectangle class as the argument.
(click to show/hide)

Now in an actual scene, we can call the window.

Scene Creation
Now we can actually create a test scene. Basically the scene will handle some input and draw the window.
(click to show/hide)
Now we run that and it'll draw the window that says "Hello World" and when we press Escape it'll close the game.

Whats in the Demo
So whats in the demo exactly? Well it consists of 3 different scenes.
Scene_Map
Scene_Test
Scene_Title
It contains 4 different windows
Window_Text
Window_MapControls
Window_Test
Window_Command[/li][/list]

The scene title is basically replicated as the one from RMXP. It displays a nice background image for the title screen and its got a command window with 3 different options.
“Tilemap”
“Test”
“Exit”

The scene detects input as the actual one from RMXP and detects actual command window’s index like in RMXP. It uses a case statement and under each index it’ll do a process.

The Tilemap option calls Scene_Map and Scene_Map calls the Tilemap class and draws out the map. Its also cool as well because I made a little program that converts RMXP maps into data for my engine. The Scene_Map containts Window_MapControls which basically all you can do in Scene_Map is scroll around the map. I finally got around to making my engine support maps larger than 20x15. And the fact that I have scrolling is a huge improvement compared to my last engine. You can press Escape to return to the Title.

The Test option which calls Scene_Test contains 4 windows. Window_Test, Window_Text, and 2 Window_Commands. The command windows have the options to be active or not. If a command window is not active, the cursor will not be displayed. Here you can choose 1 of 4 options from the first window. Each option will change the text displayed in Window_Text. The fourth option will disable command window 1 and activated command window 2. command 2 has 4 options as well. 4th one will return to the title screen, the 3rd one will reactivate the first window.

Thats whats basically in the demo. I think I’ve done a pretty good job at it, now all I have to do is get it to you guys.

Demo
Scenes Test - This is a demo that shows the changing of scenes.
Tilemap Demo - This displays 5 different maps you can scroll around.
Zombie Swarms Topic

Scenes Demo Video

You need the Microsoft XNA 3.1 Redistributable in order to run the demo. So please download and install wto play the demo.
XNA 3.1 Redist

Notes and Stuff

I’ll have the demo up soon. I’ll get some screenshots and try and upload a video from somewhere. I can’t go to youtube from my school so... and every proxy I found is blocked. Cya guys.
« Last Edit: November 29, 2010, 12:45:29 AM by game_guy »

Offline Magus

  • Astral Trancist
  • *****
  • Posts: 544
  • LV: -21
  • Gender: Male
  • Writer of Destiny
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #1 on: November 19, 2010, 09:56:01 PM »
I can't wait to try this. I'm really eager to compare it to rmxp. What battle system will you use as it's default? (hopefully its not like rmxp's) Maybe switch it up a little with sideview.  But it's the author's decision, not mine, so good luck with this. I'm pretty sure this thing will be epic :]
LEVEL ME DOWN. THE ANTI-BLIZZ GROUP IS AMONG YOU... Do it for the chick below...She watches..<br />

Offline winkio

  • Epiq
  • Administrator
  • Guardian of Chaos
  • *****
  • Posts: 4505
  • LV: 199
  • Gender: Male
  • I am lying.
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #2 on: November 20, 2010, 01:13:39 AM »
So this is all code right now, there's no GUI yet, right?

Offline Spaceman McConaughey

  • Legit Poo Poo Man
  • Lexima Warrior
  • *******
  • Posts: 2002
  • LV: 46
  • Gender: Male
  • muh murph
    • View Profile
    • Titties, titties, and more titties!
Re: [C#] GGP RPG Engine
« Reply #3 on: November 22, 2010, 02:15:52 AM »
Quote from: game_guy over the phone
It is not a game maker, it is an engine I plan on using for a game.

@winkio: game_guy wants to know what you mean.

Offline winkio

  • Epiq
  • Administrator
  • Guardian of Chaos
  • *****
  • Posts: 4505
  • LV: 199
  • Gender: Male
  • I am lying.
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #4 on: November 22, 2010, 02:30:53 AM »
I'm asking (well, assuming actually) if the engine is just a code library (a DLL), or if there is also a visual editor for things such as maps, windows, etc.

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #5 on: November 23, 2010, 06:50:15 PM »
its all code right now, not sure if I mentioned but its coded in xna anyways I have 3 demos up =D its not really a library its a full project, i plan on making a visual editor because I dont want to code the entire game data.

Alright so 3 demos. Read about them in the first post.

Offline winkio

  • Epiq
  • Administrator
  • Guardian of Chaos
  • *****
  • Posts: 4505
  • LV: 199
  • Gender: Male
  • I am lying.
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #6 on: November 23, 2010, 10:34:33 PM »
The scenes demo looks good, but the zombie demo thing didn't work.  I pressed enter to start a wave, but nothing happened.

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #7 on: November 25, 2010, 11:46:02 PM »
Yea I know about that. I thought I said I didn't finish that part quite yet. I've actually got a working demo of it. However its still glitchy as hell.

Though I'm working on a nice collision system. See the zombies can go right through each other, I think I wanna make a nice bumping system. And plus once they go through each other you can't tell how many zombies are in one group or not. Plus once they collide with the player your health drains instantly in like 2-4 seconds.

If you guys want to check out the wave system I'll put up an updated demo. I honestly thought that the wave generation was gonna be tricky. Not hard actually. Quite genius the way I pulled it off.

Plus the game doesn't allow more then 15 zombies on screen at one time. So its kind of a nice feature once you get to higher waves that once you kill a zombie, another appears right away. I thought it was pretty cool anyways.

Btw, I'm at my grandmas house for a few days so I'll be updating quite a bit up until sunday or monday.

Offline winkio

  • Epiq
  • Administrator
  • Guardian of Chaos
  • *****
  • Posts: 4505
  • LV: 199
  • Gender: Male
  • I am lying.
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #8 on: November 25, 2010, 11:54:27 PM »
Oh, my bad, you did say it wasn't finished yet.  Well, keep us posted, I want to see how this turns out.

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] GGP RPG Engine
« Reply #9 on: November 26, 2010, 01:27:35 AM »
Well I'm glad you're liking it, I actually have some I guess methods maybe or structures to show you to see if its structured well I guess. I dunno how to word it. But its just a couple of ideas about tile grabbing from tilesets, collision and any other structures I add.

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] Project GreGoR
« Reply #10 on: November 28, 2010, 10:43:40 PM »
Legal double post.

Alright so I've changed the name. I'm going to call it Project GreGoR or GreGoR or whatever. But its full name is GreGoR PG Engine which only the caps stand for something.
Game re Guys o Role Playing Game Engine

I'm also working on putting some videos up and hopefully some screenshots too. Another thing I'm also using my engine as a base to make a simple maze game which you navigate through. Find keys and get to the end basically. I'm planning the maze game to have only about 5 levels and again its just for showing off some of the engine.

EDIT: Heres a video http://www.youtube.com/watch?v=hO-_2WVHc8M
« Last Edit: November 28, 2010, 11:18:19 PM by game_guy »

Offline ForeverZer0

  • CP's Pedophile
  • Global Moderator
  • Guardian of Chaos
  • ****
  • Posts: 3248
  • LV: 294
  • Gender: Male
  • Remember you are unique, just like everyone else.
    • View Profile
Re: [C#] Project GreGoR
« Reply #11 on: November 28, 2010, 11:21:43 PM »
Looking good.
I see you implemented your sprite animator into it. That's a nice touch.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Offline Blizzard

  • This sexy
  • Administrator
  • has over 9000 posts
  • *****
  • Posts: 19898
  • LV: 642
  • Gender: Male
  • Magic midgets.
    • View Profile
    • You're already on it. (-_-')
Re: [C#] Project GreGoR
« Reply #12 on: November 28, 2010, 11:28:00 PM »
Tilemap doesn't work for me and I can't start the Zombie Game because when I press ENTER like told, nothing happens. ._.
Check out Daygames and our games:

King of Booze      King of Booze: Never Ever      Pet Bots
Drinking Game for Android      Never have I ever for Android      Pet Bots for Android
Drinking Game for iOS      Never have I ever for iOS      Pet Bots for iOS
Drinking Game on Steam


Quote from: winkio
I do not speak to bricks, either as individuals or in wall form.

Quote from: Barney Stinson
When I get sad, I stop being sad and be awesome instead. True story.

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] Project GreGoR
« Reply #13 on: November 28, 2010, 11:39:58 PM »
I dont have that part released yet. Sorry it'll be up soon with its own project topic. If tilemap isn't working try the Scenes Test unless thats what you were referring to.

Thanks F0 and sorry Blizz :3

Offline Blizzard

  • This sexy
  • Administrator
  • has over 9000 posts
  • *****
  • Posts: 19898
  • LV: 642
  • Gender: Male
  • Magic midgets.
    • View Profile
    • You're already on it. (-_-')
Re: [C#] Project GreGoR
« Reply #14 on: November 29, 2010, 12:00:07 AM »
Don't sweat it. I just had some time to kill so I figured I could try it out. xD
Check out Daygames and our games:

King of Booze      King of Booze: Never Ever      Pet Bots
Drinking Game for Android      Never have I ever for Android      Pet Bots for Android
Drinking Game for iOS      Never have I ever for iOS      Pet Bots for iOS
Drinking Game on Steam


Quote from: winkio
I do not speak to bricks, either as individuals or in wall form.

Quote from: Barney Stinson
When I get sad, I stop being sad and be awesome instead. True story.

Offline Kett Shee

  • Badass
  • Astral Trancist
  • *****
  • Posts: 579
  • LV: 23
  • Gender: Male
  • Stay Zen.
    • View Profile
Re: [C#] Project GreGoR
« Reply #15 on: November 29, 2010, 12:21:44 AM »
I watched the video, looks like you're making good progress.

As you know I can't play the demos, fucking outdated graphics cards.....
You're all daft cunts. I love you. <3

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] Project GreGoR
« Reply #16 on: November 29, 2010, 12:46:19 AM »
I posted the topic for zombie swarms. Check it out guys.
http://forum.chaos-project.com/index.php/topic,7842.msg126628.html#new

Thanks for the support everyone :3 It really does help me. It makes me keep going. This is one project I don't want to abandon. So thanks guys. It means a lot.

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] Project GreGoR
« Reply #17 on: December 08, 2010, 07:05:24 PM »
I dont have time to update the main post as of right now but I have a nice demo of my new tilemap engine. I merged mine and winkios methods together. Virtually I have setup my map structure to have any amount of layers and any width or height. But its not recommended to have these properties large.

My tilemap engine also allows any size tileset with any tile width or height. This allows for nice pixel movement and check for collision. I'll have a demo up as soon as I can. I almost have player movement done completely where the screen follows the player.

Thanks guys!

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] Project GreGoR
« Reply #18 on: March 10, 2011, 05:31:35 AM »
Wooow! Major bumperino. I've altered my tilemap to be as simple as possible and as fast as possible. It now only draws 22x17 tiles. This allows 1 tile to border around the actual visual area which makes sure you can't see any blank spots. This also ensures speed!

Offline Blizzard

  • This sexy
  • Administrator
  • has over 9000 posts
  • *****
  • Posts: 19898
  • LV: 642
  • Gender: Male
  • Magic midgets.
    • View Profile
    • You're already on it. (-_-')
Re: [C#] Project GreGoR
« Reply #19 on: March 10, 2011, 09:12:04 AM »
Are you going to continue working on this actually? I mean, we have ARC now, for all our RPG Maker making needs. ._.
Check out Daygames and our games:

King of Booze      King of Booze: Never Ever      Pet Bots
Drinking Game for Android      Never have I ever for Android      Pet Bots for Android
Drinking Game for iOS      Never have I ever for iOS      Pet Bots for iOS
Drinking Game on Steam


Quote from: winkio
I do not speak to bricks, either as individuals or in wall form.

Quote from: Barney Stinson
When I get sad, I stop being sad and be awesome instead. True story.

Offline G_G

  • Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
  • Global Moderator
  • Chaos Ultimate
  • ****
  • Posts: 6585
  • LV: 407
  • Gender: Male
    • View Profile
Re: [C#] Project GreGoR
« Reply #20 on: March 10, 2011, 03:30:07 PM »
Of course I am. ARC is a creator and an RPG engine. This may just be an engine but I promised myself I'd finish it. I know its pointless (lol I said point?) but I feel compelled to work on it still. Don't worry though I won't let it get in the way of ARC. I promise, in fact I'll even sign a contract saying so.