Hard Boild : A Strategic RPG

An introduction…

My name is Jesse Whitworth, I’m a college student attending Southern Utah University in Cedar City, Utah. As a term project I’ve given myself the task of creating a 3d strategy game. I have a little over a month to finish a working prototype that I can present in class. The presentation will center on the use of a scenegraph data structure to logically and spatially store data. For that reason I have chosen the jMonkey Engine to build my prototype on.

More info and a screenshot at my development blog: Hard Boild Blog

Code and issue reporting at Google Code Hard Boild Code

Good luck with your project! Keep posting to this thread when you update your blog.

The menu system is in, though I only have the main menu functional right now. The world map is up and running, models are in and outlined and animating perfectly. My asset managing class is becoming a catchall for model, animation and texture handling, which I guess is what I built it for, but it's getting cluttered, I should organize and comment it. Next up, the game character class, which will handle class, skills, stats, etc. And also the battle map, which should be easy since map loading is already functioning under the asset manager. Screens!

Well, "screen" at least. That's the world map there, and inset is a fade between the main character model and it's wireframe. Only the hexes around your immediate position highlight, when they do the name of the area us displayed on the bottom left. Well, that's it for now, I'm at about the halfway mark, wish me luck!

Good Luck!

This project is very interesting, and really shows promise. Let me know if you wanna get together for some design tinkering :slight_smile:

Are you taking care of everything yourself, or are you getting some assistance when it comes to stuff like models and UI elements?

Well so far it's been all by myself, hence why I chose eggs for characters. But this week I'll be doing the final presentation and then over winter break I'm planning on setting up a google code page or something, and then I'll be welcoming whatever help anyone wants to offer. Right now it's just barely a game. I plan on adding much more.

The month is up, so I guess means the "final presentation" means the end of your obligation to this game, correct? But you intend to keep developing it on the premise of the simple desire of wanting to make a fun game? Well if you'd let me I'd be very happy to help with anything design/writing related, however I'll be doing some traveling come January to May, so I guess you can't really count of me after all…

Correct, I'm no longer developing the game for school, it has now become a personal project. The core is there, just needs tidying up, that's what I presented in class. Now I need to focus on gameplay elements and item models. Basically everything that will turn it from a tech demo into a game, classes skills, attacks, and party management all need implementing. Then I can move to the really fun stuff, like saving, networking, plot, etc.

Well, I've finally got around to setting up that GoogleCode repository. However, I'm currently reworking the GUI and the art pipeline, I've also decided to go with a 2D WorldMap, seemed more interesting than using the same hex tiles that make up the BattleMaps. My attempt at drawing the world map is available in the repository for review and ridicule, as is the untested and massively incomplete GUI code. After I have the little refactor up to roughly where I was before(though my improved GUI code and optimized art flow means it'll actually be far better) I'll be open to any volunteers that want to join the project, either modelers, texture artists, or coders(though I can be a little possessive about my code). I'll post some screens when I get the nested GUI containers/scroll boxes done.

Oh, link:


Alright, I have the GUI all functioning except for the scroll bar in the container class. Anyone interested in seeing a GUI/HUD implemented using the Quad and Text classes can go have a look see. I started coding the world map but decided to delay that to do the tutorial battle map, since I decided the game should skip the world map at the beginning and get the player right into some action, which also means I get to go right into the action of working on the map and game mechanics. And now I’d like to take suggestions from anyone who has experience implementing a game that uses a hextile based map. The way I had it working before was okay but it was bloated and ugly, I’m looking for a slightly more elegant solution. Here’s some screens of what I’ve been working on so far:

Larger images available on my blog.

Hm, why didn't you choose stock GUI library (FengGUI, BananaUI, or even JME's Swing support), instead you went writing your own? If the time is pressing you to deliver the project as you wrote in your blog, you should probably spare all the time you have on actual gameplay and reuse as much as you can.

If I understood you correctly, you said you have models and animations working perfectly, but I cannot find anything relating animation code on the SVN. Are you using any bone/skinning animation systems (like MD5) or you have your own solution? Since I'm gonna work with these in near future on my hobby project, and have developed only one complete system so far (using MD5), I am curious for other solutions.

Shaer teh tech :slight_smile:

As was stated a few posts ago, I'm no longer developing the game for a project, it has now become it's own beast. I looked at using GBUI or FengGUI but they seemed a little more complicated than I needed. Plus I just like having control over details, I'm weird like that. 8) As for the animation, I was using the previous version of md5importer, but since I overhauled the project last month I haven't decided if I want to continue doing it the old way, upgrade to the new md5importer, or find some other way that doesn't require me to rotate the animation in blender to work properly. I could upload the old code to the repository, but it's not really that interesting, and once I settle on a way to go the new approach will probably be better.

Alright, so I have the new art pipeline in (I decided to go with ogreloader), save for animations. I have the GUI nearly complete, except for some tweaking I recently realized I’m going to have to do on the Container class. I have character selection and placement working beautifully, and I have the GameMap class functioning. The selectable tiles and the world geometry are both contained in GameMap but are separate, so I can have any type of terrain I might later want to use. Screenshots!

As always larger images available on my dev blog here.

And code available on googlecode here

I've got the camera control complete, using spherical coordinates. The control scheme is similar to many MMOs. Right click to rotate camera, arrow keys shift focus point, mouse wheel zooms in and out. Character placement has also been completed. Clicking a tile places the currently selected character at that location. Moves them from previous location if already on board. Clicking the tile a character is located on while that character is selected will remove them from the board. Clicking an occupied tile with another character selected will swap those characters, either between tiles or remove the occupying character from the board if the currently selected character hasn't been placed yet. Also started integrating items, still haven't tested animations yet, should be interesting when I get there. There's a couple more screenshots on my blog, currently too tired to copy and paste the urls. Also, for those who haven't seen the project thread over in the other forum, I'm recruiting 2D and 3D artists. Mostly for GUI design and item modeling. Also recruiting musicians, looking for classical / folk influenced music for the game. Game will eventually include credits, etc. And, as you may have guessed, this is a volunteer effort, so no money yet, though if the game ever makes money from donations or advertising on the blog or any website I may create for it later, that would be shared among any contributors based on amount of material contributed. If interested you can email me at jessewhitworth (at) gmail.com

Hope I don't seem like I'm spamming, just want to keep those interested up to date. I've began coming up with a design for level editing. No code yet. The plan is to be able to load in a dotScene(that's what the ogre scenes are called right?) and then have an edit game state that allows you to mark where the game tiles should be placed. So I know in the screenshots it has just been looking like a bunch of hexes, but the actual levels will be anything I or any volunteers would be able to dream up. Hexes will only appear when placing, moving, using skills, etc. Now, for the combat system I'm going to have a classless skill system, this is what I'm working on right now, will probably be checking in the rudimentary code later tonight. Skills will be grouped into skillsets, you're proficiency will not only be based on skillpoints in the particular skill, but also you're overall proficiency in the skillset. So if you are highly skilled in swords and daggers but not in axes, you're melee skillset ranking will still allow you to weild an axe better than, say, a wizard or ranged fighter. Equipment wise there are going to be four basic types of equipment, hats & helmets, which will either give bonuses to magic skills/skillsets or defense skills/skillsets. Boots, which will mostly give bonuses to the Move skillset(which includes standard move, as well as jump, movement through tricky terrain, etc.) Gloves, which will give bonuses mostly to attack skills, either physical or magical. And weapons, which will mostly be used to determine damage but may also give bonuses to other skillsets(like a mage's staff giving bonuses to the magic skillset). Like I said, it's classless, so you can create your characters in anyway you want, have a magic weilding archer or a mage/healer proficient with crossbows, etc. Any questions/comments are greatly appreciated! As is any volunteers for level/item modeling. (I am so not an artist.)

I’ve completed the backbone of the skills system, both passive and active skills are working, as shown in the two skills I’ve implemented so far, Initiative(passive) and Basic Move(active), both of which are part of the Move skillset. I’ve fixed up the Container class like I thought I was going to have to, and I perfected the imposter class so that it adjusts to the spatial it’s rendering. Skill use is willpower based, all active skills have a cost which is subtracted from the willpower you get each turn. You can also save up willpower for more powerful skills / spells. Basic Move, for instance, costs 5, currently I have it set to give you 10 willpower each turn, so you could move twice in one turn if that’s all you wanted to do. Let’s see, I think that’s about it. Now I just need to start implementing the equipment and a bunch of skills and I’ll have a playable demo.

I have a secret… taps fingers together and grins devilishly. I should be revealing it in a couple of days. In other news, I've crafted the walk controller, so the character no longer just teleports from place to place when moving. He even changes elevations as he moves! Sometimes the simple things can be so rewarding. Which reminds me, I need to find a way to suppress the GUI while the character is in action, a simple if statement around the render call you say? Hmmm…

I have a question. Do you reconsider changing the simple but classical egg character into a humanoid character?  :smiley:

You wanna see your model in use in this game? :wink: Unfortunately there's been no sign of life from ravenhearte in several months, so there's no telling if this project is still up and going or not. Shortly after the jME3 alpha-2 release though (it's right around the corner) there's a good chance the jME3 demo game will get more attention again.