The still-unnamed RPG project (Update: Linux binary)

Started by
34 comments, last by tentoid 19 years, 4 months ago
Greetings everyone! I've been working on my RPG project for 3,5 months and I thought it would be time to publish a first public beta version. The game is a quite simple rpg with no fancy graphics. It's my first game project so, please be gentle ;) Here's a Win32 binary. I am actually making the game in GNU/Linux but I haven't yet released a GNU/Linux build (I might do that if anyone's interested). I haven't yet written a full story but currently there are two or three small quests to complete (and about 6 maps) and some weapons. The UI is not very good as I *hate* doing (G)UI stuff :) It's still got a lot of bugs and glitches but I've been trying to fix them. Oh, and remember to read the readme.txt so you know the keys! I am not yet quite sure yet if I will make the game open source. I'm not sure anyone would even want to read my code as it's quite awful and pretty much no documentation (~7000-10000 lines of code). Some (old) screenshots: Screenie 1 Screenie 2 Screenie 3 I am waiting for your comments! [smile] UPDATE: Linux binary. (slightly newer version than the win32 binary). I am not sure if the Linux binary works on all distros. Requires: SDL, SLD_image, SDL_ttf and lua50. [Edited by - tentoid on October 30, 2004 7:06:32 PM]
Ad: Ancamnia
Advertisement
Hasn't anyone tried this yet? I really can't get anyone to test this! Aren't people interested in retro RPGs? Or are there just too many similiar projects?
Ad: Ancamnia
Awesome!

I'm making a retro RPG myself with some friends, and this is one of those great projects that actually are racing towards a good finish. Nice to see! I like the line of sight that you have already implemented, works great. Also the fading text is nice.

One problem though, and that is that it runs at ~10 FPS, which seems quite a bit low. Are you sure that you are calling SDL_DisplayFormat() or SDL_DisplayFormatAlpha() on the images? Often it's a very important thing. If you have done that already, never mind.

Continue the great work!
It seems interesting, kind of like a modern Rogue-like.

I found the movement annoying, though. The keyboard seemed to respond sluggishly to individual taps but quickly if I held the key down, which meant basically that I'd either move annoyingly slow or annoyingly fast.

Also the character didn't remain centered on the screen and was almost always a few tiles away from the edge, which kind of annoys me, especially if I'm moving through an area I've already been before and so I can see the terrain (even though the fog of war effect prevents me from seeing what on the terrain).

Looks like it could be fun, with some more work, though. Good luck to you.
Quote:Original post by Sijmen
Awesome!

I'm making a retro RPG myself with some friends, and this is one of those great projects that actually are racing towards a good finish. Nice to see! I like the line of sight that you have already implemented, works great. Also the fading text is nice.

One problem though, and that is that it runs at ~10 FPS, which seems quite a bit low. Are you sure that you are calling SDL_DisplayFormat() or SDL_DisplayFormatAlpha() on the images? Often it's a very important thing. If you have done that already, never mind.

Continue the great work!


Actually the line of sigh code isn't mine. You can get it from here:
FOV using recursive shadowcasting
Making a working LOS seemed really hard to do so I skipped that part really. The readme should say that the LOS code/algorithm isn't mine.

I am using SDL_DisplayFormat() and SDL_DisplayFormatAlpha() and before I was suggested to use them, it ran twice slower! My graphics code really sucks for some reason so I guess I'll have to work on it. But there really isn't any animation in my game so I don't know if it really matters. I'll try to speed up the game!

Thanks for the comments! [smile]
Ad: Ancamnia
Quote:Original post by jpetrie
It seems interesting, kind of like a modern Rogue-like.

I found the movement annoying, though. The keyboard seemed to respond sluggishly to individual taps but quickly if I held the key down, which meant basically that I'd either move annoyingly slow or annoyingly fast.

You're right!I do not know how I could make the movement speed work better. I have a small delay after first press but that makes the movement too sluggish, like you said. Before you couldn't hold down the movement keys and move to a certain direction which also sucked. I'll try to fix that in the next version.

Quote:
Also the character didn't remain centered on the screen and was almost always a few tiles away from the edge, which kind of annoys me, especially if I'm moving through an area I've already been before and so I can see the terrain (even though the fog of war effect prevents me from seeing what on the terrain).

Looks like it could be fun, with some more work, though. Good luck to you.


So you think the screen should always be centered on the player? At the beginning it worked like that but the drawing seemed to flicker (see previous post). I'll try to test how the game works when centering the screen to the player.

I'll try to improve these things.
Ad: Ancamnia
hey tentoid,

i was VERY impressed by your demo! wow, really good work man. and you say you worked on this for only 3.5 months? i was really impressed on how you seemed to script everything. im going to have to do that soon in my RPG, and i feel its going to be the hardest thing to do, but you seemed to have done a really good job with it. id really be interested in how you did it all, if you feel like blabbing about it a little bit.

about movement, this is easy to fix. simply use a timer to only allow movement every x millseconds. for example, you probably have something like this:

if(keys[SDLK_left])
{
MOVE GUY LEFT!
}

instead, make it this:

static Uint32 timer = 0;

if(SDL_GetTicks() - timer > 50 && keys[SDLK_left])
{
MOVE GUY LEFT HERE
timer = SDL_GetTicks();
}

see what i mean? you only allow the player to move left every 50 millseconds. you could play around with that number untill you find what works good. you might also want to have different timer variables for each movement direction.

keep up the good work!!!
FTA, my 2D futuristic action MMORPG
Quote:Original post by graveyard filla
hey tentoid,

i was VERY impressed by your demo! wow, really good work man. and you say you worked on this for only 3.5 months? i was really impressed on how you seemed to script everything. im going to have to do that soon in my RPG, and i feel its going to be the hardest thing to do, but you seemed to have done a really good job with it. id really be interested in how you did it all, if you feel like blabbing about it a little bit.


I'll try to babble a bit about the scripting system. I'll do a very general overview. If you want to know something specific, just ask :)

I'm using Lua as my scripting language as you probably noticed. ;) It seemed to be quite commonly used and everyone had said good things about it so I decided to use it even though I hadn't ever used the language. After working on my project, I've learnt a lot about lua and, well, I could have imho implemented some parts of the scripting a lot better. Eg. for trigger's I do not pass the functions themselves but rather the names of the functions as strings (I learnt later that in lua functions are objects like everything else..)

Every tile may have a tile trigger object which is created, along with the monsters and items on the map, in the InitializeMap() function (called when the map is loaded for the first time). The tile trigger object just holds the name of the function to be executed when a being moves on to the map.

I used library called luabind (http://luabind.sf.net to bind my C++ classes with Lua. I don't mind with the overhead that comes with luabind (some people recommend to write your own wrappers) as I'm doing a turnbased game. Basically I've binded almost all of my C++ classes to use with Lua.

Ok, I do not really know what to tell about the scripting system. Hmm, seems like I'm just talking about the pretty obvious stuff here.. Well, anyway, there's some babbling for you! :)

Now, about the movement, I think I tried the method you described but for some reason I didn't stick to it.. Hmm. I guess I'll have to try that again! And thanks for your comments :)
Ad: Ancamnia
This game looks like its going to be good.

1) Allow the use of the number pad when answering NPC's
2) (as previously suggested) Fix the arrow keys with a timer

Also something is definitely up with the fps, my computer got around 30 fps, and my computer can play lots of complex 3 dimensional games at much higher framerates.

If I was making the game, I'd be tempted to use directx and just billboard all the graphics. But since you are planning for GNU/Linux I'd definitely think about using Allegro (google for it), since its cross platform and generally does very good at 2d graphics and text.

Your game reminds me a lot of the Exile series(http://www.spiderwebsoftware.com/); its an RPG with graphics and game play that is very similar to yours.

And remember to post back when you finish the game so I, and others, can play it.
Quote:Original post by Fergus the Urge
This game looks like its going to be good.

1) Allow the use of the number pad when answering NPC's
2) (as previously suggested) Fix the arrow keys with a timer


I'll fix those!

Quote:
Also something is definitely up with the fps, my computer got around 30 fps, and my computer can play lots of complex 3 dimensional games at much higher framerates.

If I was making the game, I'd be tempted to use directx and just billboard all the graphics. But since you are planning for GNU/Linux I'd definitely think about using Allegro (google for it), since its cross platform and generally does very good at 2d graphics and text.


SDL > Allegro. ;) I've heard that Allegro is more like a game development library and as this is my first game project I want to do most of the stuff myself. SDL is more like a wrapper and, for example, on Windows it uses DirectX for 2D (so there should be hardware acceleration on windows). The low FPS is my bad code's fault and I'll try to fix that.

By the way, maybe the game runs faster when full screen? If anyone wants to test it you can edit Config.lua in the root dir and change the fullscreen flag to true.

Quote:
Your game reminds me a lot of the Exile series(http://www.spiderwebsoftware.com/); its an RPG with graphics and game play that is very similar to yours.

And remember to post back when you finish the game so I, and others, can play it.


You're not the first one to say that it resembles Exile! :) And I will post back when/if I finish the game or get an updated version done. I think the biggest thing is to add content and balance the game.
Ad: Ancamnia

This topic is closed to new replies.

Advertisement