PDA

View Full Version : 2006 PGD Annual: PGD Question



jdarling
22-02-2006, 12:09 AM
I just realized that my current design idea may be in violation of or not completely fulfill the rules for the contest. I have a basic RPG setup where the player is dropped into a "World" that they can roam about. The different "Levels" are basically dungeions that the player reaches by exploring the map. Does this actually fit? Reading the rules state "Design a minimum of 2 levels to be played by optional selection or in sequence". I hadn't actually thought about if the player was able to move between the "Levels" via the main map if thats optional selection, to me it seems it would be, but I want to make sure before I go much further. It wouldn't take much to change the game play at this point to fit selection through a standard menu or sequential movement.

Thanks,

FNX
22-02-2006, 12:41 AM
Hello,
I think you can easily adapt your game for example by giving access to
the next dungeon only after you beated all enemies in the current
dungeon plus or not a mini boss. Done that you can have a full map but
the "levels" are accessible only after some goals just like properly
different levels.

Hope this helps :)

[EDIT: I think you should change the title in COMPO Question or something ;)]

Legolas
22-02-2006, 12:46 AM
IIUC you should have at least an end-level boss to defeat in order to go to new level. Maybe you could put a guardian to kill near the new level "door" :toothy:

AthenaOfDelphi
22-02-2006, 01:29 AM
Hi jdarling,

If you are in violation, then we are too as we're going down the same line.

Legolas's suggestion is the approach we're taking. Complete quests on the level and finally defeat a boss to progress to the next stage.

Like your project, its not too late in the day to change this, so if Savage or WILL could clarify before the next deadline, that would be grand.

jdarling
22-02-2006, 02:47 AM
For the most part I am using the big boss theme. In order to get to the final "Level" you have to first complete the other "Levels" (actually I call them missions or dungeons) to attain keys that let you into new parts of the final level. So on the Big Boss side I'm pretty sure I'm ok, its just the mini-levels that I'm afraid of :).

AOD too bad that before the compo started we didn't know we were headed down the same path, it might have been in both our benifits to team up! I'll have to admit that I'm not much on the actual graphics side (as my other posts have said) but I think I'm doing good in story line and game play. Hopefully I'll be able to get everything in before each deadline. I'm running quite tight on this next deadline :(.

- Jeremy

AthenaOfDelphi
22-02-2006, 08:27 AM
Hi Jeremy,

We didn't look for other team members because we're trying to expand our product line with new stuff and the competition provides an easy excuse to try and develop one or two. Our graphics aren't great at the mo, we're just using them to get a feel for the maps and stuff... nearer the final deadline I'll be hounding my brother to make them look sweet. I'm not worrying about story line thankfully, Spirit is working all that over.

This deadline is a struggle I have to admit. I only just managed to get proper sprite movement and animation in at the weekend... was hoping to have at least half of it on the object manager, but I spent a disproportionate amount of time making the tile sprite editor. Once that was done, took me less than half a day to get sprites into the engine and all the little bugs ironed out. Its like the first deadline, I spent 2 weeks writing tools and 1 day putting the actual play engine together.

Now I have my enemy path finding code worked out (today is going to be a long day in the office on only 3 hours sleep :-( ), I've got to make more changes to the tools to accomodate the data I now need for that. I don't know about anyone else, but I'm spending more time on them than I am on the engine itself, which is a bit annoying given the tiny proportion of the final score that they represent. Still... I've learned a hell of a lot already, including how to break my own rules about how to write nice code in order to squeeze out excess clock cycles.

Traveler
22-02-2006, 10:39 AM
Its like the first deadline, I spent 2 weeks writing tools and 1 day putting the actual play engine together.

LOL, I can so relate to this :)

cairnswm
22-02-2006, 11:19 AM
Thats why my Editor uses the VCL :)

Actually I rekon I'm using about 1:1 development time between Editor and Engine.

jdarling
22-02-2006, 01:17 PM
Now I have my enemy path finding code worked out (today is going to be a long day in the office on only 3 hours sleep :-( ), I've got to make more changes to the tools to accomodate the data I now need for that. I don't know about anyone else, but I'm spending more time on them than I am on the engine itself, which is a bit annoying given the tiny proportion of the final score that they represent. Still... I've learned a hell of a lot already, including how to break my own rules about how to write nice code in order to squeeze out excess clock cycles.

Well I have had all of my path-finding worked out for quite some time. I even have a sample on my website with source if you want something for reference (hey I don't mind helping anyone if I can). Sprites, Map and all of that wern't too bad either. Whats got me is the objects and paperdoll type stuff. I had planned on using my sprite class for objects, but in the end its just too much overhead for such a small thing, so I'm back to writing an extension for my level editor. The other thing is I forgot to allow for global sprites in my editor, so now I'll be spending quite a bit of time working out the details and the objects for global lists that don't get creamed every time a new level is loaded :).

AthenaOfDelphi
22-02-2006, 02:13 PM
This is my first forray into the world of 'real' games, so I don't have any library code or anything else useful like that, but I do have my trusty companion Google :-)

I'm actually enjoying putting this path finder together, even if its a nightmare to debug because of all the pointer crunching it uses. As for objects... don't swear at me ;-) I'm still trying to figure out how to manage them. We have an added hassle that at certain key stages of the game, you'll switch from being human to something else, so I have to worry about different inventory gumps, different weapon slot layouts and such like... life would be so simple if it wasn't for other people and their ideas :-D

jdarling
22-02-2006, 03:12 PM
LOL... I wouldn't swear at anyone about their coding standards. Honestly I'm not using anything from my library, I'm doing it all from scratch. I wanted to prove (to myself) that I could start from scratch and come up with something on a limited schedule. I must say that this has limited my engine greatly, but in some ways it has made it very simple to work with. I have taken ideas out of my previous experience though (don't know how I couldn't).

Pathfinding can be a VERY bit PITA! In fact it can cost so much time that it alone can cripple your game. So taking time to get it right is definately a necessity. I wouldn't actually use the same method I use in my maze stuff for a large game world (it would cripple the engine and the users PC would prolly puke), but the maze generation code works well for testing overhead and speed of pathfinding.

Have you put any thought into your AI yet? I've been boggleing mine, and still have yet to come up with a good solution that will fit the timeline :(.

tux
22-02-2006, 04:43 PM
This deadline is a struggle I have to admit.

Glad I'm not the only one thinking that

AthenaOfDelphi
22-02-2006, 10:23 PM
hehe..

I'm actually suprised how quickly our engine came together. I spent most of stage 1 messing around with code, sussing out the things I figured I'd need. I did plan on keeping my engine nicely oo, but time is against me, so its becoming one of those irritating projects where code is moving from one place to another to cater for feature requirements and such like. This pathfinding is a good example, I should have read about it before I got started... then I could have included costing data... as it is, I now have to modify my editor, shift onto version 5 of one part of my map data format and modify the engine to handle the new data (:? tool time).

That said, it will be worth it as the pathfinding is looking good considering. It didn't actually have that many bugs, they were mainly in one of the storage classes. I don't think its as fast as it could be, but I've not got the time at the moment to run it through the profiler and optimize it that will come later. That said, I've have no idea on the kind of performance I should expect. I'm running an Athlon 800, Win2K server. I have a testbed app (more tool time ;-) ). For benchmarking, it generates a random map 40 x 40 and trys to path from 0,0 to 19,19. Its taking about 18ms to calculate a path, regardless of whether it fails or not. Any comments on how that looks in terms of performance?

As for AI, I've got some ideas, nothing too fancy, just enough to make it nice :-)

tux... its bad. I swore I was going to go to bed early tonight to make up for only having 3 hours sleep last night and yet here I sit at nearly midnight, tinkering with my path finder :shock:

jdarling
22-02-2006, 10:40 PM
Well, here is my comment on pathfinding :). Its almost impossiable to benchmark using the standard methods. Sure you can do it, but then you run into the problem that on a slower system it runs like shit compared to your super box! Instead look at the number of instructions and stack depth required to perform a path calculation that is at least 1000 movements long. Now if you take that against your typical bsp search (0.25n if I remember properly) calculation of 250 and consider that you will still have to calculate a depth first search (500) and you come up with it taking 750 stages in an ideal search.

Now, to give you an idea, the path finding algo I pointed you at will perform as follows:
1st itteration it will take 1250 average steps to locate the path (not to ungodly bad, but not good)
2nd itteration (along all known and found on the inital) will result in 2 steps (ungodly in terms of speed).
2nd itteration with a new path that crosses an existing and known will result is average 250 (very good).

Reading over my own post it looks and sounds very confusing, but I hope you can gleam something out of it.

savage
23-02-2006, 01:46 PM
I have a basic RPG setup where the player is dropped into a "World" that they can roam about. The different "Levels" are basically dungeions that the player reaches by exploring the map. Does this actually fit? Reading the rules state "Design a minimum of 2 levels to be played by optional selection or in sequence".

I'm not a judge, but doesn't the fact that the different levels of your game are reached by exploring and I assume defeating a boss, mean that you comply with the "in sequence" part of the rule?

jdarling
23-02-2006, 02:49 PM
I'm not a judge, but doesn't the fact that the different levels of your game are reached by exploring and I assume defeating a boss, mean that you comply with the "in sequence" part of the rule?

Granted your not a judge, but your input is valued :). I'm hoping that the exploration and unlocking is considered "in sequence", but one could judge it either way.