Randomland - The Forum

Technology => Programming => Topic started by: Brad on Dec 18, 2009, 04:22 PM

Title: Flash/C++ Game Project
Post by: Brad on Dec 18, 2009, 04:22 PM
I've decided that I need to work on something fun again, so I'm going to make a game. I really want to use C++, but I really like the ease of using Actionscript for graphics. So I'm going to use both!

How you ask? (You didn't ask? Nobody is reading this?  :'( )

Well, it's going to be a network/online game. The graphics layer and control layer will all be handled entirely in Actionscript while all of the actual game code will be handled by the C++ server.

To make things simple-ish for me, I've decided it's going to be a walk-around RPG game with turn-based combat (think Final Fantasy). This basically means you (and 2-3 friends) can wander around in the game world each of you with different characters all controlled separately. You can chat back and forth with each other as well as meet and talk to NPCs. When combat happens it switches to a different "combat" view (again, think Final Fantasy style).  I'm thinking that if one player is attacked it alerts the other players (probably via a red text message in the chat window). Other players can then walk to that characters position (I'd probably display some sort of indication that they were being attacked) when they approach they are given the option to join in the fight.

I plan to design the C++ part so that you can play through battles in text-mode without Flash at all. The C++ server will be able to run and have all of it's functions tested completely alone. This will be for debugging purposes only of course. I really wanted to make a real-time game but the complexities it causes me for network code is too much to deal with. The turn-based battles will save me a ton of graphics drawing too. I'll only need one sprite per enemy instead of around 20 each. I'll still need about 16 sprites per playable character though.

I've don't have a story or any other details like that figured out yet. I've got a few ideas bouncing around in my head but nothing definite.

This will be entirely open source. I don't expect anybody to help me but you are free to jump in wherever If you'd like.
Title: Re: Flash/C++ Game Project
Post by: Nick on Dec 19, 2009, 10:40 AM
Cool. Are the players going to be limited in how far they can get from each other on the map? Then it would be a party of people exploring the world. And battles would be with groups instead of an isolated individual. Or just make it unsurvivable alone if there are more then one person playing. I don't know. But I like the idea of multilayer FF.
Title: Re: Flash/C++ Game Project
Post by: Brad on Dec 19, 2009, 11:01 AM
I wasn't planning on restricting distance from each other. If players want to work together, they can. Why force them to? If they are close enough together they all get in the same battles. If they are far enough away they can run to go join their commrade in battle if they get there before the battle is over.

I'd like it if the game was possible to play by yourself, but also not be really easy with multiple people. I'm not sure how I'm going to work that.
Title: Re: Flash/C++ Game Project
Post by: Nick on Dec 19, 2009, 12:13 PM
Increase the difficulty/number of the monsters that you face in battle when there are more people playing.
Title: Re: Flash/C++ Game Project
Post by: Brad on Dec 19, 2009, 12:59 PM
That would force them to work together to survive. You'd also have to give more reward too, so people have a reason to play together (other than the fact that it is fun).
Title: Re: Flash/C++ Game Project
Post by: Nick on Dec 19, 2009, 05:14 PM
You could do it the rpg way and have characters with the ability to add protection to other players or have a "field" around that that will give everyone +10 strength or -10% damage when in effect.  Also, better things could "drop" (if you are going to have it work that way) or enemies would be worth more points (because they are harder to kill) so you get a point bonus by working together because you kill bigger critters.
Title: Re: Flash/C++ Game Project
Post by: Brad on Dec 28, 2009, 10:10 PM
So I've got the UML class diagram for the game engine mostly finished. I think I've got all the properties figured out, but I'm missing a lot of the class member functions.

Most of the game engine decisions have been figured out. Here is a brief of list of various stuff.

There are a ton more things I've got planned out but I got tired of writing this list. So you'll have to look at the UML diagram if you want to know more.

Any help, feedback, criticism or suggestions would be greatly appreciated.
Title: Re: Flash/C++ Game Project
Post by: Brad on Dec 30, 2009, 01:30 PM
I've updated my class diagram to reflect some changes that I've made.

Maps, which are made up of cells (basically 1 viewable screen) now organize their cells using a 4-way linked list. Each cell has a pointer to it's North, South, East and West adjacent neighbor. The map only needs to keep a pointer to the starting cell. If I decide to to do multiple entrances then a map would need an array of possible starting cells.

I've also added character classes to go along with races, so now you can be a Druish Fishmonger or whatever.

Also the inventory system is similar to the oblivion/morrowind system. Defeating enemies only gives you whatever the enemy had in his inventory. So no getting "Giant Impaling Trident of Ultimate Doom" off of a lowly rodent or crab or whatever. To get a good weapon off an enemy you may have it used against you by that enemy first.

You will get rewards for completing quests though, and you'll be able to buy/sell items at shops.

I'm not expecting anybody to actual look at this, let alone thoroughly enough to actual critique it for me. But if anything I've said doesn't make sense, or if there is anything else you think I might not have thought of or planned out let me know. Thanks!
Title: Re: Flash/C++ Game Project
Post by: zourtney on Dec 30, 2009, 04:13 PM
Woah!! Typed arrays! I almost forgot those existed!

...Gosh, I need to get back into some C++...
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jan 06, 2010, 04:42 PM
Where's our webbernet updates on your project?

Hello? [echo echo echo echo...]
Title: Re: Flash/C++ Game Project
Post by: Brad on Jan 07, 2010, 06:42 PM
The game is coming along well. I just finished getting XML loading for races and classes working. Next step is to make it so you can actually create a character. I should finish that tonight or tomorrow.

I'm uploading my UML diagram file as the gif files are getting too big to upload to the forum. The file can be opened or edited using UMLet (http://www.umlet.com/).

As soon as I get an SVN server, you'll be able to download the game and try it out. I'll include project files for Visual C++ 2008 so anybody can build it.

EDIT: Forgot to attach UML diagram file.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jan 08, 2010, 10:14 AM
Oh yeah! I was going to set one of those up for you! Sorry. And do we need to up the upload limit on the forums?
Title: Re: Flash/C++ Game Project
Post by: Brad on Jan 08, 2010, 11:38 PM
Created a repository for the game at http://www.randomland.net/repos/rpggame/ (http://www.randomland.net/repos/rpggame/).

I haven't enabled anonymous read-only access yet so nobody can actually downloaded it besides me and Nick. I'll try to get that working this weekend.
Title: Re: Flash/C++ Game Project
Post by: Brad on Jan 21, 2010, 11:48 AM
Anonymous read access has been enabled.

You can download the latest source code from: http://www.randomland.net/repos/rpggame/ (http://www.randomland.net/repos/rpggame/)

It can be compiled using Visual C++ 2008 Express, available for free from here (http://www.microsoft.com/express/Windows/).
Title: Re: Flash/C++ Game Project
Post by: Brad on Jan 22, 2010, 09:27 PM
Here's a screenshot so you can all bask in the glorious graphics!

In this screenshot a lone hero name "Alfred" makes his way through an cavernous dungeon. A huge doorway leading into blackness looms up ahead of him. He can see a small pond on his right, near the west side of the dungeon. He cautiously heads for the doorway, knowing that he could be attacked at any time.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jan 26, 2010, 08:34 AM
Alfred is pretty sweet. I saw him in action yesterday. He totally didn't walk through a pond and he talked to that ? guy. It was cool.

Brad and I were batting around ideas for client implementations. I think I might try to make a web-based (non-flash) client at some point, just for the heck of it. Just don't let this project fizzle; it's so the shizzle...my brizzle.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jan 26, 2010, 10:08 AM
That would be cool. Ajax/Javascript client? Thats a good idea (though less pretty then with flash) but almost any modern browser could play using that. Even on an iphone!  I could totally do some work on that with you, if you wanted help.
Title: Re: Flash/C++ Game Project
Post by: Brad on Jan 26, 2010, 10:28 AM
The more ports the better I say. I'll be making a fairly simple network interface for communicating with the game server so the client software isn't going to be very complicated. You'll also have my C++ one to go off of if you want to create a port.

It'd be awesome to have one that can be played from any cell phone (even if it is text-based). Of course, using PHP, Javascript and Ajax it's possible to draw a slightly better non-text based map. All the input would still have to be text based, but the map could be drawn using actual lines and whatnot.

I'm currently working on the inventory system and after that buying, selling, using and equipping items. When that is done, I'll need to work on enemies, the battle system and the quest system. When all of those are finished the game engine will basically be complete. I'll still have all of the network functionality to do of course.

I'm thinking I may need to start working on some of the network stuff, just so I don't accidentally program anything which will make it hard to network.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jan 26, 2010, 10:31 AM
I want to learn some network stuff. I might just have a look "over your shoulder" while you are doing that and perhaps bother you with a few questions about how things work.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jan 26, 2010, 11:41 AM
Sounds good to me. What are you going to use for the socket programming? Because winsock is obviously a Windows-based library...and I'm assuming the target server is Nick's Bedroom Linux, no?

And yep, I was thinking a JavaScript, Ajax, PHP mash for a web client. It sounds like a good little project. And Alfred, his gang, and a few UI controls would probably fit nicely on the iPhone in landscape mode.

@nick, you still have your phone running Windows Mobile, right? We could test on that too.
Title: Re: Flash/C++ Game Project
Post by: Brad on Jan 26, 2010, 12:16 PM
I'm developing for Windows because I don't have any easy way to develop for Linux. I don't have any extra computer to turn into a Linux box, Cygwin is no good for developing on and I like using Visual C++ Express. If could overcome all of these I'd switch to developing the server for Linux.

I do however plan to create a Socket class to hide all of the socket programming functionality. Using some compiler directives it is possible to check which operating system you are compiling on. Then you could compile the same source code an have it work on both operating systems.

I'm sure I can rig up a Windows server somewhere until I can get it ported to Linux.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jan 26, 2010, 10:35 PM
Linux development is just a duel boot away. Or VNC into by little box-o-nix's. Its fun! I think gparted will even resize ntfs partitions now. Or put fedora/ubuntu on a flash drive and enjoy!

I do still have the phonny time windows mobile (V6 yo!) Its even gots its GPS ears on now! Plus there is a burning fox lurking inside... with an opera and an interwebs exploder too!. .. .
Title: Re: Flash/C++ Game Project
Post by: Brad on Jan 27, 2010, 03:59 PM
Are there any decent development environments for Linux? No, Eclipse does not count.

It needs to be at least as good with C++ as FlashDevelop is for Actionscript.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jan 27, 2010, 04:10 PM
Quote from: Brad on Jan 26, 2010, 12:16 PM
I'm developing for Windows because I don't have any easy way to develop for Linux...

I haven't tried it with C++, but I have done a little web dev with Apache running on a VirtualBox (http://www.virtualbox.org/) installation. You can [fairly] easily mount a host filesystem on the virtual machine, thus being editable in your nice Windows-based GUI (Visual Studio or whatever).

Case in point: I have my www directory physically stored on my host computer's NTFS filesystem but mounted on the client machine (Ubuntu under VirtualBox). I can edit the PHP, HTML, and JavaScript in Windows. I can view the page in my favorite browser in Windows. I leave the virtual machine minimized. It works pretty well1.

You could do something similar, though obviously you'd have to employ the virtual machine to do the compiling for you. Still, you could have the niceties of Visual Studio's polished GUI.

1 Recently, I ran in to so many CSS caching issues while developing a WordPress theme that I finally told WordPress the site URL was localhost, embedded the CSS in the index.php template file, and viewed the webpage on the client machine (Apache server). Just an aside.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jan 27, 2010, 09:28 PM
What are you making word press themes for? Just out of curiosity.

But thats cool. I never knew you could do that with VMs.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jan 28, 2010, 10:09 AM
To keep the thread hi-jacking to a minimum, I responded here (http://randomland.net/forums/index.php/topic,145.msg1860.html#msg1860) -- a place to talk about possible client ports for this project. Or any other vaguely related ramblings, such as how to set up VirtualBox.
Title: Re: Flash/C++ Game Project
Post by: Brad on Feb 01, 2010, 10:27 PM
I've completed work on the inventory system and added in merchant NPCs from whom you can purchase things. Still haven't finished selling though, that'll be done tommorow. The item systems is now pretty much done, minus the "effects" on things (such as +10 fire damage on your weapon). Once I finish up with the merchants I'm going to switch gears and start figuring out network stuff.

I want to have the basics of the network stuff figured out before I start writing the battle code. I don't want to write the battle code in such a way as it makes networking difficult.

The game currently has no name, and while I do have a setting and storyline mostly figured out, I don't want to talk too much about it until I work out more of the plot and some of the characters.

Of course, the game is setup so that you can easily change the setting, plot and everything just by changing the XML files. So you could go from a traditional fantasy setting to a science fiction one without changing one line of code, or recompiling the server. You'll have to change the client of course as all graphics will be wrong. Unless you want elves in space or something?
Title: Re: Flash/C++ Game Project
Post by: Nick on Feb 02, 2010, 08:46 AM
The new adventures of Elves IN SPACE! That's what you should call your game :)
Title: Re: Flash/C++ Game Project
Post by: zourtney on Feb 02, 2010, 11:31 AM
Elvis in Space?
Title: Re: Flash/C++ Game Project
Post by: Brad on Feb 02, 2010, 03:14 PM
So Zourtney convinced me to install virtual box and Fedora on my laptop. Once I get that setup I'll start developing the server for Linux as well. Preferably I'll develop for both windows and linux but I'm gonna have to write my own socket code.

There are several open-source socket libraries but they are all GPL. Since I don't want my entire project to have to be GPL (even though it will be open-source) I can't use them.
Title: Re: Flash/C++ Game Project
Post by: Nick on Feb 02, 2010, 06:27 PM
Using a library does not make you project GPL I don't think unless you modify the library.... I could be wrong though. That might only be the lgpl.
Title: Re: Flash/C++ Game Project
Post by: Brad on Feb 02, 2010, 08:19 PM
That's the LGPL. If you use ANY code including just as "black box" library then your whole project has to be GPL.

LGPL is the sane version where you can use LGPL libraries without having to put the entire project under the GPL. There are much better open-source software licenses than the GPL and I'll probably be releasing this code using one of those.

Anyway, I'm having some major problems getting Fedora to work right and the install image is 3GB! So I installed Ubuntu instead. The install image for that was only 600MB.
Title: Re: Flash/C++ Game Project
Post by: Nick on Feb 02, 2010, 10:58 PM
Fedora can be kinda a beast I guess. The install off the live CD is much smaller, kinda like ubuntu. But the full fedora install has many more tools and packages preinstalled and setup. With ubuntu you will have to add them as you need them. Buts that's probably better for you as your just using it for development and not expecting eclips, open office and gimp all there and ready to go (thats about a gig and a half there. I could be wrong about them being default in fedora. OO is, but I might just get eclipse because I always select all the dev packages.) And ubuntu has a better setup for VNC in my opinion. You can easily get a graphical system login screen through VNC that supports logging off and serving a fresh login to any new connections to the server. I rather like that.   

But anyways, cool. Linux is good. You should duel boot something around there. Seems almost everything I have has at least a little linux in it (even our router and soon perhaps my RC car.) And a linux server for your game means that there can be a server up all the time on randomland. I don't plan on killing my bedroom server anytime soon.
Title: Re: Flash/C++ Game Project
Post by: Brad on Feb 04, 2010, 10:44 AM
Got Linux working and finished porting that socket class over. I'm going to have to rewrite part of it though as it was written kinda of stupidly (In my opinion anyway).

The server will basically have on thread which listens for new connections. When it finds one it will create a new Client class (which holds the socket connecting to that client as well as a pointer to the Player class) and add it to the list of clients. It then goes back to listening for more connections.

The main program runs in a loop and every time through loop it receives all the messages from clients, processes them and sends back any responses.

Still working on the protocol for communication between client and server. I'm thinking it's going to be basically a command  followed by a delimited list of data and ended with a null. For example "Move;1;n\0" would be a command to move player 1's character north. Or something like that anyway.
Title: Re: Flash/C++ Game Project
Post by: Brad on Feb 04, 2010, 10:22 PM
Got my little test server working in both Linux and Windows now (including the threading!)

I'm working on incorporating it into my game code which shouldn't take long. Then I'll start writing the network API.
Title: Re: Flash/C++ Game Project
Post by: Nick on Feb 04, 2010, 10:33 PM
Dang, you move fast. And "Cool."
Title: Re: Flash/C++ Game Project
Post by: Brad on Feb 13, 2010, 11:56 AM
Basic network communication completed. I've started working on my text-based client too.

So far I have the client connecting to the server and sending a HELLO packet identifying itself with a user agent string. The server then sends it's own HELLO packet back identifying itself with a user agent string as well.

Now I'm working on getting the threading going for the text client so that it can listen for incoming server packets while waiting for user input. I've started writing up the documentation for the network communication and will post it to randomland or something when I'm through with the basic parts.
Title: Re: Flash/C++ Game Project
Post by: Brad on Feb 23, 2010, 09:48 PM
It's been a while so I though I'd post an update on my progress for the zero people who care.

Player and character data is now saved in an SQLite database on the server rather than flat XML files. This has the benefit of being able to easily check for naming collisions between characters as well as allow quicker updates while the game is actually running. All the settings files and map, enemy and item data are still stored in XML files though. I plan to keep it that way.

I've gotten the network communication for the player part completed. You can now login, or create a new player from the text-client. I'm currently working on the character part. This will be my first test of sending "large" amounts of data with my packet and socket classes.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Feb 25, 2010, 06:25 PM
Hey, at least zero-point-one people care, because I care. And it's kind of sad not having the random "Brad's game design interlude" in the middle of my day. But that's not your problem.

The goings sound good. Keep up the coolness and let me know if I can do anything. You could post screen-shots of stuff, too. Are you going to make a Randomlandy page?
Title: Re: Flash/C++ Game Project
Post by: Nick on Feb 25, 2010, 10:04 PM
Sorry, I have been distracting him from game design during lunch with cooperative half life 2. :) Perhaps we can do a conference call. Or you could join us and just turn voice chat on. But not likely.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Feb 26, 2010, 01:55 PM
That could be cool, but porbabaly shouldn't happen. Apparently we have really low bandwidth. The word in the hall is that we are running off of a 1 megabit (down) satellite line. Ick. Plus, I don't quite have the same type of position where I get to control the firewall and everything. Bummer.
Title: Re: Flash/C++ Game Project
Post by: Nick on Feb 26, 2010, 01:59 PM
No need to unless you are running the game server. But satellite sucks for up speeds. So you might not enjoy it due to slowness. 
Title: Re: Flash/C++ Game Project
Post by: zourtney on Mar 01, 2010, 08:08 AM
Oh noes! We might be off topic!
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 01, 2010, 02:19 PM
Sorry. It happens.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Mar 01, 2010, 07:10 PM
Swamp dive! Swamp dive!
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 01, 2010, 07:59 PM
DOWN PERISCOPE! Dive! Dive! Dive, you fools, DIVE!!!

I need a submarine. :)

And brads game needs giant carnivorous ants. And velociraptors. And perhaps even some velocipedes. (http://en.wikipedia.org/wiki/Velocipede)
Title: Re: Flash/C++ Game Project
Post by: zourtney on Mar 19, 2010, 09:52 PM
So...what's the status of this project? You didn't lose all of your motivation, did you?
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 20, 2010, 03:06 PM
No, motivation has not yet been lost. I'm currently working on the character (not player) creation/selection menu and communication. You can now create a new character in the client, transfer it over to the server and have it saved in the database. I just need to finish the part where the server sends back the newly created character's database ID to the client. That'll probably be completed this weekend.

Once that's completed I'll be working on getting the actual game components working (walking around, talking to npcs, etc...).

Then finally when that is done I'll start working on the battle system. That's the part that still has the most work left to be done on it.

Speaking of which... the biggest gameplay questions I still need to answer is... What do I do when a character dies? The answer to this can range from permanent death (you lose your character forever) to just respawning back in the nearest town or anywhere in between. I think there should be some kind of penalty to death... but how much of a penalty?
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 20, 2010, 04:02 PM
Perhaps starting with reduced stats for a short time, or less then full health as a punishment for death.  It all depends on what dynamics are in the game. Do weapons wear out? Does health just regenerate over time? Perhaps some items in your inventory wont persist past death (food or other perishables maybe.)
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 20, 2010, 04:27 PM
You could temporarily lower stats or reduce the character maximum health for a certain amount of time. That would work...

As for your other questions: Weapons do not wear out. Health does not regenerate over time. You do not need to eat food to survive.
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 22, 2010, 12:45 PM
How will health be restored? Potions? First aid? Healing spells? Vampirism :) ?
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 22, 2010, 01:25 PM
Yes. No. Yes. Yes.
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 22, 2010, 03:02 PM
Wow. I was mostly joking about vampires but cool.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Mar 22, 2010, 08:22 PM
Wait...don't you have to be a vampire to actually benefit from vampirism? Otherwise, it's kind of like,
"AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHH! My jugular vein!!!!!!!!"

But, I'll admit it -- I'm not well learned in all things vampire.
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 25, 2010, 04:24 PM
Gahhh! Finally completed all the character creation/deletion/saving stuff today during my lunch break! Yay!

Now I'm FINALLY to the point where I can make the game actually start doing stuff. Up first is getting the map to transfer from the server to the client. Followed closely by movement commands being transferred from the client to the server.

I've also created some of actual game content. I've decided on 6 playable races and 5 classes to start with. I really think it ought to be 6 races and 6 classes but I haven't been able to come up with another good class that fits in with the rest of them yet.
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 25, 2010, 05:17 PM
Are any of the classes restricted to only a few races? Or can anyone take on any profession they like?

And I think someone would have to be a vampire to benefit from sucking blood like that.... Otherwise, yeah it would just be biting someone. And probably ineffective. 
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 25, 2010, 07:26 PM
Any race can be any class. Vampire is not one of the races (it's more of an affliction or disease) so biting people to restore health is not going to be an option for the majority of players.
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 30, 2010, 08:23 PM
I've decided I'm going to be writing a Windows console version of the game client. The server will still be portable to both Windows and Linux. This is mainly due to the incredible frustrations of trying to create a usable interface in the console while remaining portable. I'll try to design with a future Linux port in mind, but at this point I'd rather work on more important things.

Developing only for windows will allow me to do better things like an improved input (no having to hit enter every time you want to move) as well as colored text.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Mar 30, 2010, 08:32 PM
That makes sense. As long as the API is solid...and I'm sure it will be. The ultimate goal is still a Flash-based client though, right?
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 30, 2010, 09:50 PM
Flash is so unportable when it comes to mobile devices. It would be easier by far to do it in flash, but it would be a desktop only app. Doing it in html and javascript would make it compatible with all sorts of things. We should shoot for mobile opera, safari and chrome support I guess. Who cares about IE, no one uses it in the mobile world.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Mar 31, 2010, 05:50 PM
It'll be interesting to see if Microsoft "pulls an Apple" in regards to what web browser(s) will be available on the Window 7 Phone OS. It sounds like they're really clamping down on what "apps" can be written for it.

Sigh...and thus, Google takes the helm of the developer-friendly mobile OS. :-\
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 31, 2010, 09:53 PM
Sad really. All these people need to realize is that a decent interface is all they need for a strong hand in the mobile area. All this talk of disabling multitasking and locking down apps is silly. I like having a central place for people to make applications available, but any of the big three can co that easily. Making it so people want to write applications for your platform is the key. Either though matket share (like apple) or by a good API and letting the use install anything they like. Go ahead and lock down parts of the OS for security. But please keep it usable. 
Title: Re: Flash/C++ Game Project
Post by: Cody on Apr 01, 2010, 05:08 PM
So looking through all these posts and reading stuff I must say that it sounds pretty cool. I, of course, can be of no benefit to the project other than to say 'yes! it's awesome! don't give up!' or something like that. So now you know.
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 01, 2010, 05:14 PM
^ Thanks! Hopefully I'll have more to show you guys soon.


I've started writing up the documentation for the network interface. What I've got so far can be found here: http://randomland.net/repos/rpggame/docs/%28Unamed%20RPG%20Game%29%20Network%20Communication.html (http://randomland.net/repos/rpggame/docs/%28Unamed%20RPG%20Game%29%20Network%20Communication.html) unfortunately due to the way subversion works you'll need to download that file to get it to display correctly. Or you could just use checkout the whole repository and get all the source code too!

For you guys who were talking about making an HTML5/Javascript/PHP port, please take a look at that and see if you can understand it and also let me know what other information you think would be good to have on there. I don't think I'll be able to document enough that you could create a port without even looking at the source code for my c++ client, but it should be pretty close-ish.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Apr 02, 2010, 07:33 AM
Cool. I started looking at it but got tired of reading html. Maybe we should add a docs folder to the randomland server. I probably want to make some simple docs for my Drupal module, too (which is also under SVN). I'm definitely interested in seeing the progress. I'll check out the latest code some time today or tomorrow. And try to comment on your docs. I suppose we could set up a Wiki, now that I think of it. It's not my favorite system, but it'd allow for easy publishing of changes.
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 02, 2010, 09:40 AM
A wiki is not a terrible idea actually. That'd allow for easy technical and gameplay documentation. And if there are any individuals without coding experience that want to contribute to the game design or something (cody?) they can read/edit the wiki?

If we don't do that then we at least need a documentation directory because svn is really not the all the convient for serving docs.
Title: Re: Flash/C++ Game Project
Post by: Nick on Apr 02, 2010, 09:55 AM
I like the idea of a wiki, or some other dedication documentation manager.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Apr 02, 2010, 05:52 PM
I remember looking around (http://drupal.org/node/356583) for Wiki-type Drupal modules (http://groups.drupal.org/node/12357) once upon a time. I think the consensus is "don't" because "wiki is just behavior (http://drupal.org/node/356583#comment-1191883)". I'd prefer it to fit in with the themeable Randomland, if possible. Plus, with Drupal you already have an enterprise content management system chugging away, so why not use it?

It seems there are dozens of modules out there to help implement this. But, of course nothing complete and self-contained (sigh)...Who's up for another round of Drupal's version of D-L-L-h-e-double-hockey-sticks?

("lol" (http://build2be.com/content/dll-hell))
Title: Re: Flash/C++ Game Project
Post by: Nick on Apr 02, 2010, 07:40 PM
Crazy.
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 06, 2010, 07:39 PM
So are you guys gonna implement some sort of wiki system or make a documents directory?

I've progressed pretty far with the multiplayer walking around portion of the game. Multiple clients can join the server and walk around them map. Clients all can see each other and keep up-to-date on the positions of other characters.

I still have some bugs to work out when a character leaves the game however. I also still need to write the portion for transitioning from one map to another. This should take too long though. Once that's done I'll write a simple chat system (I'll make it more complex later). Then when that's finished I'll do the dialogs with NPCs and the shopkeeper stuff. That'll put me up to do with all the server functionality.

I've been practicing my drawing skills so that I can start drawing stuff for the non-text based version of the game too. I'm not that great of an artist but the drawing is fun.
Title: Re: Flash/C++ Game Project
Post by: Nick on Apr 06, 2010, 08:08 PM
Lets see some drawing!

Anyone have a suggestion for the wiki?

I will look at some drupalized solutions.

update:
Media wiki looks ok. There is a bridge that will connect it to the drupal logins. We can then theme it to look like randomland. Even add some randomland type into to it along with the game documentation.
http://www.mediawiki.org/wiki/MediaWiki
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 08, 2010, 05:43 PM
 ;D ;D ;D  I've completed the walking around network code!  ;D ;D ;D

You can now:


I'd upload the server to Randomland, but I'm still having some problems getting sqlite to work on linux. I think there is something wrong with my makefile.

Next up: chatting between characters. Followed By: FIGHTING!
Title: Re: Flash/C++ Game Project
Post by: zourtney on Apr 08, 2010, 06:57 PM
Awesome, dude! Sounds like good progress. Need help with anything?
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 09, 2010, 05:28 PM
Ok, here is something I need help with and it'll require very little work from anybody.

As you may or may not know, RPG games are heavily stat driven. Characters, monsters both have stats. Weapons, armor and items effect character and monster stats. The stats (and virtual dice rolls) determine the outcomes of character's actions in battle. So it's very important that I figure out exactly what stat variables I need to make the game work. I've already had to modify the database and all of the network, database and XML functions dealing with character stats and I don't want to do it again.

So, what I need you to is look at all of the stats I've listed (along with their explanantions) and using both your extensive programming and video game player knowledge and see if everything makes sense and if I'm missing anything.

These stats (unless otherwise stated) apply to both monsters and player characters. Thank you for your help.
Character Only Stats







NameThe name of the character
SexMale or Female?
LevelA number used to compare relative strengths between characters. Goes up every 15 skill increases.
Map IDID of the map this character is on.
XX position on map
YY position on map

*The following stats apply to both characters and monsters*
Base Attributes






StrengthAffects melee damage and the total weight which can be equipped at once.
AgilityAffects ranged damage and dodge chance.
ConstitutionGrants certain unalienable rights. Actually no, it determines your maximum health.
IntelligenceDetermines maximum MP (magic points, mana points, magicka, who cares?).
WillpowerAffects resistance to magical damage.

Other Attributes






IDUnique identifier for the character or unit.
Max HPMaximum health points.
Max MPMaximum magic points.
HPCurrent health points.
MPCurrent magic points.

Resistances





Fire ResistanceYour % resistance to fire based damage.
Shock ResistanceYour % resistance to shock based damage.
Frost ResistanceYour % resistance to frost based damage.
Physical ResistanceYour % resistance to physical (stabbing, crushing, slashing, etc...) based damage.

*Each of these skills is tied to one of the base attributes. After improving in a skill for a specific stat 3 times that stat goes up. For example if you gain 3 levels of melee skill your strength will go up by one.
Skills









MeleeHow skilled you are at melee attacks. Affects damage with melee weapons. Improves strength.
RangedHow skilled you are at ranged attacks. Improves Agility.
Light ArmorHow skilled you are at using light armor (apparently armor takes skill). Improves Agility.
Heavy ArmorHow skilled you are at using heavy armor. Improves Constitution.
DestructionYour skill with destructive magics. Improves Willpower.
RestorationYour skill with restorative magics. Improves Willpower.
AlterationYour skill with magic that alters the state of something. Improves Intelligence.
ConjurationYour skill with magic that summons things. Improves Intelligence.

EDIT: Finishing now

*Some races are incapable of equipping certain classes of items. A race with giant horns sprouting out of its head is unable to wear helmets for example.
Equippables









WeaponsIs this unit capable of wielding a weapon? Most animals can't wield weapons (monkeys can!)
HelmetIs this unit capable of wearing a helmet?
CuirassIs this unit capable of wearing a cuirass (chest armor)?
GlovesIs this unit capable of wearing gloves?
BootsIs this unit capable of wearing boots?
GreavesIs this unit capable of wearing greaves (leg armor)?
RingsIs this unit capable of wearing rings?
ShieldIs this unit capable of wielding a shield?

*There are a ton of variables I need to keep track of the in-between status of the various skills and stats.
Counters








Level ProgressKeep track of the number of skills increased this level. Once you reach 15 you gain a level and set the counter back to 0.
Melee ProgressKeep track of the progress towards earning the next skill level in melee.
Ranged ProgressKeep track of the progress towards earning the next skill level in ranged.
Destruction ProgressKeep track of the progress towards earning the next skill level in destruction.
Restoration ProgressKeep track of the progress towards earning the next skill level in restoration.
Alteration ProgressKeep track of the progress towards earning the next skill level in alteration.
Conjuration ProgressKeep track of the progress towards earning the next skill level in conjuration.

That's all folks. Now what do you guys think?
Title: Re: Flash/C++ Game Project
Post by: zourtney on Apr 09, 2010, 08:12 PM
Yes, that's wiki material. Can you have comment threads with that wiki site?
Title: Re: Flash/C++ Game Project
Post by: Cody on Apr 09, 2010, 09:13 PM
Wow all I can think to say is this is sounding more and more awesomer and I kind of feel bad I'm not more knowledgeable in areas that would be helpful. But yes! Cool.
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 09, 2010, 09:21 PM
Quote from: zourtney on Apr 09, 2010, 08:12 PM
Yes, that's wiki material. Can you have comment threads with that wiki site?

Wikis have discussion pages which have comment threads and are tied to individual pages. So yeah it'd be a lot easier to discuss this kind of stuff.
Title: Re: Flash/C++ Game Project
Post by: Nick on Apr 09, 2010, 10:08 PM
Yes?
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 09, 2010, 10:14 PM
So I've finished the attributes post. After doing it I've realized I have the following problem:

Both strength and constitution only have one skill each which can raise them. Strength isn't as big a deal, but having constitution only tied to heavy armor makes it really difficult for light armor wearing characters to actually gain a higher max health points.

So... I need another skill which is tied to constitution (also known as endurance).
Title: Re: Flash/C++ Game Project
Post by: Nick on Apr 11, 2010, 10:54 PM
You could remove the distinction between strength and constitution and just merge them. You get more hit points then by being stronger.
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 11, 2010, 11:04 PM
I've come to what I think is a decent set of skills and attributes. I've posted them to the wiki pages. We can move discussion of individual aspects like that to the wiki talk pages. It's easier to follow then a thread with hundreds of replies probably.

http://wiki.randomland.net/index.php/Unnamed_RPG_Game (http://wiki.randomland.net/index.php/Unnamed_RPG_Game)
Title: Re: Flash/C++ Game Project
Post by: Nick on Apr 12, 2010, 11:03 AM
What! Organized, threaded discussion! I will have none of that! I demand a massive flat thread containing three concurrent conversations!
Title: Re: Flash/C++ Game Project
Post by: Cody on Apr 12, 2010, 11:47 AM
Being that I really don't know how to use the wiki talk thingy I'll just say here that I looked at the skills and stuff and it looks pretty good to me. There is of course the matter that using heavy armor in no logical way affects how much health you have... but then again for the sake of balancing it out to two for every attribute I say it's fine. Such is the way of video games.
Title: Re: Flash/C++ Game Project
Post by: Cody on Apr 12, 2010, 09:15 PM
In my boredom I happened to make another skill/attribute list for thinking about. Maybe it sucks, and maybe it doesn't. It's late and my brain isn't working all that great but here it is...

Strength â€" Affects melee damage and carry weight
     Blade â€" Affects damage of bladed melee weapons
     Blunt â€" Affects damage of blunt melee weapons

Dexterity â€" Affects Ranged weapons
     Marksman â€" Affects your skill in using ranged weapons
     Throw â€" Affects your skill at damaging enemies by throwing items?
            (We sort of talked about it right? Allows you to damage from a
            distance without having a ranged weapon?)

Agility â€" Affects armor and dodge chance
     Light Armor â€" Affects skill in using light armor
     Counter â€" Determines chance of successfully executing a counter attack?
            (Trying to be creative here…it could work)

Constitution â€" Determines your maximum health
     Guard â€" Your skill in protecting yourself and your allies
     Heavy Armor â€" Affects skill in using heavy armor

Intelligence â€" Determines maximum MP
     Destruction â€" Your skill with destructive magic
     Restoration â€" Your skill with restorative magic

Willpower â€" Affects resistance to magical damage
     Alteration â€" Your skill with magic that alters the state of things
     Conjuration â€" Your skill with magic that summons things
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 15, 2010, 08:07 PM
Thanks everybody for all the suggestions. I've decided to go with the attribute list currently on the wiki. I may change it in the future, but I've already gone through and updated the server and the text-client to use the new attributes.

So, up next is my battle system. First thing up is actually figuring out my stat system. Then I'll need to create a few weapons and armors as well as a couple of enemies to battle.

I've put both the list of classes and the list of races on the wiki, so feel free to offer any comments, questions or suggestions there.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Apr 15, 2010, 09:41 PM
So, is there any concept of intellect / persuasive influence as it relates to dialog(ue?) with other characters? Or is there not going to be much of that?
Title: Re: Flash/C++ Game Project
Post by: Brad on Apr 15, 2010, 10:00 PM
The dialogue with NPCs is a fairly simple system. It's not really even a "dialogue" system, more "monologue". Basically each NPC has a set of things they will says each tied to set of requirements. When you talk to an NPC the game simply goes through the list of responses and finds the first one which has all the requirements met. So the responses with the most stringent requirements come first in the list, followed by the more general responses.

The requirements can be anything. They could be a check to see if the character is intelligent enough, of if he/she is the correct class/race. It could be check to see if you've killed 50 giant rattlegators. It could also be check for your current completion state of a quest.

The purpose of speaking to NPCs is to gather information, attain quests and to complete quests goals. It is also possible that talking to an NPC could lead to a "boss" battle.

I'm still writing the scripting engine for handling dialogue response requirements. It won't be complete until quests are also.
Title: Re: Flash/C++ Game Project
Post by: zourtney on May 11, 2010, 09:11 PM
So...how's the game coming along? I'm mulling over web-UIs, if we ever get that far. Let me know...
Title: Re: Flash/C++ Game Project
Post by: Brad on May 12, 2010, 08:46 AM
It's a coming. I'm working on all the server-side code for battles. Pretty much making up all the damage and hit % formulas off the top of my head. I'll have to refine them later by play-testing. Still got a ton of work to do on that then I'll move onto "effects". Oh yeah and the AI. Currently the AI is "attack the first enemy in the list". Not exactly world-class there.


If you ever get a hankering to write some code though, you should try and see if you can write some code to read/write the game packets. The packet format is set in stone at this point, and will not ever be changed (the data which is sent on the other hand....) Detailed information on how the packets work is on the Wiki (or it will be soon, as in today). You'll need to be able to convert integers into network-byte-order (big endian). So you'll have to figure out how to do that in PHP, Python, or any other P-language you are thinking about writing this in.
Title: Re: Flash/C++ Game Project
Post by: zourtney on May 12, 2010, 11:06 AM
PavaScript?
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 11, 2010, 02:17 PM
So I've started on the Actionscript 3 based graphical client. Its nowhere near playable yet, but progressing fairly speedily.

Because it's graphical I actually need some graphics to make it work. Actually I need a LOT of graphics. Due to the large number of graphics to draw, I decided to create some place-holders until I get around to actually drawing "good" graphics. These are basically just glorified stick-figures. I've done about 20 of them so far and have gotten the player character graphics done for two of the classes.

The two classes are the Weaponmaster class and the Shinobi class. I actually kinda like how these turned out, so they may stick around for a little while. Still got 3 more classes to draw and around 1 bazillion enemies. I probably won't draw as cool of temp drawings for all the enemies though. Probably just a few generic ones, and then start with the real ones.

Let me know what you think.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jun 11, 2010, 04:07 PM
Hahaha! I like them. Especially the lizard ninjas :) I like that they have masks covering their mouths yet still have teeth showing! It makes me laugh.

Impressive for one evenings work.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jun 11, 2010, 08:30 PM
Well, having a mask that covered your teeth would be silly! And yes, nice temp drawings. It'll be cool to see it in action!
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 14, 2010, 07:45 PM
Decided to do another set of temporary* drawings for another one of the 5 classes.

This time it was the Dragoon. The dragoon is warrior who models their fighting style after that of the dragons. They battle with both lance and magic. They are a hybrid physical/magic type which makes a more well-rounded character.

They wear a helmet shaped like a dragon. I think they came out pretty ok. Let me know what you think.

3 out of 5 classes completed.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jun 14, 2010, 11:37 PM
Go go power-rangers! Hehe.

I like them. Even if they kinda remind me of pink rangers :)
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 15, 2010, 07:08 AM
Hmmm... I kinda noticed the connection myself. Perhaps I shouldn't use so many bright colors like that when drawing armor w/ helmets....
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 15, 2010, 07:48 PM
So I went back and modified the Dragoons to be a little less bright and also changed the middle piece on the bottom of their helmets because I like it better that way.

Also, I went ahead and drew 10 more pictures for another class. This time it was the Sage.

Let me know what you think.

EDIT: Minor changes to the sage drawings.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jun 15, 2010, 08:27 PM
Nice. Much less "power rangers."

Is a sage like a monk?
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 15, 2010, 08:40 PM
The sage is basically the "mostly-magic" character class. The've got good bonuses to most of the magic types like destruction, alteration and conjuration. They aren't as useless with a weapon as wizard or sorceress though, but their skill sets lean in the magic direction more than any other character class.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jun 15, 2010, 10:54 PM
I like the Lamia guy. He's sportin' the goat. And yeah, good job!
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 16, 2010, 11:17 PM
Ah the final class is completed. The Battlehealer. This class focuses on healing and restorative arts along with bashing their enemies with blunt weapons or firing at them with longbows.

Now that this is complete I can turn my drawing attentions toward enemies now. They'll still be in the same stick-figure-ish cartoonish style. Probably with a little more detail as their is only on picture per monster, rather than 10 different variations per class.

Let me know what you think.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jun 19, 2010, 09:47 AM
I think "cool." When do you think you'll have a playable demo? I'd start writing a PHP back end, but my "free" time project is still Drupaly...until I get sick of it.
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 19, 2010, 09:27 PM
Playable demo is gonna take a little while. I'm currently bogged down re-inventing the wheel by creating a bunch of basic UI components. I need to make a list component and radio-button style toggle button group components. Super boring stuff.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jun 20, 2010, 10:51 AM
Understandable. And no, recreating all that basic UI junk doesn't sound like much fun. But perhaps you could host it on randomland or sourceforge or something as a separate project for people in the same boat...if you wanted, that is.

Also, Eve offered to play anything you make. She probably doesn't know what all that would entail, but she likes games and therefore would be a better gameplay-tester than I could ever be. But I could be the annoying guy, watching over her shoulder recognizing some obscure 6-step process which produces a bug...because that's what I do. And yeah.
Title: Re: Flash/C++ Game Project
Post by: Brad on Jul 02, 2010, 10:42 AM
The server is now up and running on Randomland. Port 3142. You can try and connect to it if you'd like. Try out these HTML5 javascript sockets eh? I'd upload the Flash client, but I'm not sure where/how to put that on drupal as it will be continually updated and having like 50,000 nodes of old versions sounds lame.

Also, I've completed all the basic UI stuff and now I'm on the non-basic UI stuff. Like creating the map! Soon, a barely playable demo should be available.
Title: Re: Flash/C++ Game Project
Post by: Nick on Jul 02, 2010, 10:51 AM
Cool. And if you want it on the site just make it its own page and keep updating (editing) that page.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Jul 02, 2010, 12:12 PM
Cool. I look forward to seeing it.

And you can just drop the file under /sites/default/files/ and statically link to it. You don't have to make a Drupal node for every file.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Sep 08, 2010, 08:05 AM
Hey, what ever happened to this project? Don't let it die!
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 11, 2010, 08:41 AM
It isn't dead, I just got to a spot which was boring and procrastinated about it. I need to rewrite the way the tile graphics are loaded in the Flash client. Then I have to get the player graphics loaded and displayed on top of the map. Then write the input event handlers.

At that point I'll basically have a you can walk around and look at things on the map sorta game. Sorta like that ancient pascal game I made with a river and a guy who liked cheese (except this time other people could also come and walk around in the same area).

I'm also looking into what it will take to write an android client for this game, as I'll be getting a google phone sometime next week probably and that would be really cool.
Title: Re: Flash/C++ Game Project
Post by: zourtney on Sep 12, 2010, 11:33 AM
That would be cool. Why the new phone? I suspect my next phone will be running some flavor or Android. I'd be interested in learning how to program for it. But I am interested in many things, and good at none.

And how is the new job going?
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 16, 2010, 10:49 PM
As I haven't been actively coding at my job yet and most likely will not be for the near future I seem to have regained some of my personal coding project motivation.

I fixed the tiles to load dynamically now, and also finished getting the small versions of the character images to load dynamically. I haven't actually created small versions of the character images, but the placeholders load fine.

Still need to redo the large character images to be dynamic. After that, it'll be actually working on the game interaction mostly in event handlers and packet communication. Pretty soon the flash client should catch up to where I left off with the server and text-based client.
Title: Re: Flash/C++ Game Project
Post by: Nick on Sep 17, 2010, 10:47 AM
Do you still need some map tiles drawn? Trees, water, transitions and all that?

I forgot most of what we talked about during our map talks. But I might have a picture of that sample water/grass/bridge things we drew on the white board someplace.
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 17, 2010, 02:46 PM
If you want help with tiles I can use any help you can give. I will post the required sizes and whatnot when I get home.
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 17, 2010, 07:34 PM
Tile size is 40x40, GIF file type. No transparency or anything of the sort needed. Super basic.
Title: Re: Flash/C++ Game Project
Post by: Nick on Sep 17, 2010, 09:55 PM
Cool. Now its here for all the world to see. And me to stop forgetting :)
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 18, 2010, 08:02 PM
Bam! Dynamically loading graphics are finished!

On to a little bit of UI, a little bit of event handling and an actual working demo!
Title: Re: Flash/C++ Game Project
Post by: Nick on Sep 18, 2010, 08:57 PM
I feel so underproductive now.  :)
Title: Re: Flash/C++ Game Project
Post by: Brad on May 10, 2011, 09:07 PM
Completed all the basic movement, map changes, NPC loading.

Currently working in the game:

Creating a new account
Logging in
Creating a character
Joining a game
Loading maps, NPCs and other characters
Walking around
Changing maps
Using exits


So basically you can join a game and wander around a mostly empty world with other players. I'll be working on communication between player characters next.

If anybody wants to try it out, let me know and I'll set up a server somewhere.
Title: Re: Flash/C++ Game Project
Post by: zourtney on May 13, 2011, 07:19 AM
Cool dude. Let's try it out! The front end is still Flash-based, right?
Title: Re: Flash/C++ Game Project
Post by: Brad on May 13, 2011, 07:49 PM
Yep, front end is flash based. Server can run on either windows or linux.

I am currently in the middle of getting the messaging to work, but I'll try and set up a server this weekend sometime.
Title: H
Post by: Brad on May 22, 2011, 09:11 PM
Finished the basic chat system. Set up for everything besides person to person "whisper" chatting. Global messages, system messages, party chat all that stuff will work. Except that I don't happen to have any method of sending out system messages, nor any sort of party system that you can join...

So what should I work on next? Basic movement and player communication is complete. There are lots of things I can do at this juncture...

Some possibilities:

GIVE ME YOUR INPUT!
Title: Re: Flash/C++ Game Project
Post by: Nick on May 22, 2011, 09:20 PM
The battle system sounds the most fun. But the map editor sounds thr most useful. If I wasn't tring to make a drupal module I would offer to do some map maker work. I stil am offering to daw any map tiles you need though.
Title: Re: Flash/C++ Game Project
Post by: Brad on May 23, 2011, 04:59 PM
I was thinking today that I may need to change my maps, npcs, quests and dialogue to be stored in the database rather than in XML files. Then I can just load the maps when players are currently on. This would allow for a much much larger world, without running out of memory. I could also increase the allowed amount of players as well, not that I think too many players will ever be a problem.

Then I will work on the map editor. It'll be a C# windows app. You'll just point it to the location of the database and it'll give you a list of existing maps or let you create a new one. Basically you'd choose a tile from a scrollable tile list, click on the map and set that tile's type.

In the future it can be expanded to do NPCs, dialogue and quests as well.
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 07, 2011, 11:07 PM
Finished switching the maps over to using the SQL database. Still need to write a "garbage collection" thing which removes unused maps after they have been loaded, but otherwise my "load upon request" map system is up and running.

This allows me to now start to create my map editing program.
Title: Flash/C++ Game Project
Post by: zourtney on Jun 08, 2011, 08:32 AM
C# FTW (as they say). Learn some XAML, Linq, and general .NET 4.x stuff for me. I have too many other APIs to learn at the moment.

Do you need help with anything? I probably have about six other things to work on instead, but I can always offer.
Title: Re: Flash/C++ Game Project
Post by: Brad on Jun 08, 2011, 10:53 AM
Yeah, I guess if I am going to learn C# I may as well use Net 4.0 while I'm at it.
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 17, 2011, 12:02 PM
So I wrote a map editor for my game. C# .NET 4.0 and SQLite. It works too, only thing it can't do is delete maps (not sure why I didn't add that...)

Here is a screenshot. Source code is in the SVN. To use it you'll need to set the paths to the database and images files yourself (download the flash client and server source to get these files). They are still hard coded, haven't gotten around to making them be stored in a settings file yet.
Title: Flash/C++ Game Project
Post by: zourtney on Sep 17, 2011, 10:09 PM
Cool. I'll have to look at it when I get back in town. I haven't done any .NET 4.x stuff yet. Did you use the XAML stuff for UI? Did you use the Linq(?) features for data access?

Oh, and the screenshot doesn't seem to be working for me...
Title: Re: Flash/C++ Game Project
Post by: Nick on Sep 17, 2011, 10:40 PM
I can see it. Hmmm.
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 17, 2011, 11:43 PM
Nope and nope. The UI is already so simple and so is the querying that I didn't really need to delve into those. I'll get around to it eventually as I work more in C#. I think my next learning goal is going to be XNA though.
Title: Flash/C++ Game Project
Post by: zourtney on Sep 22, 2011, 08:48 AM
Yeah, XNA is probably pretty cool. I want to learn that...and those other things...and maybe some Windows 8 stuff. All I know about them is their names.

Title: Re: Flash/C++ Game Project
Post by: Nick on Sep 22, 2011, 10:59 AM
I didn't even know their names. I had to look them up.

"...and XNA came to stand for "XNA is Not an Acronym"." (http://en.wikipedia.org/wiki/Microsoft_XNA) Really? Another self referential acronym.

Title: Flash/C++ Game Project
Post by: zourtney on Sep 22, 2011, 11:18 AM
Wow. Ok. I like how that has no citation, either. I just knew it was an Xbox SDK, which is presumably PC compatible by now (Wikipedia says "any .NET platform"). Like a DirectX++.

Too many things to learn. Not enough time.
Title: Re: Flash/C++ Game Project
Post by: Brad on Sep 22, 2011, 11:49 AM
It is for Windows, Xbox and Windows 7 phones. With mono I think it could work with other OS. It uses Direct X but makes it quite a bit easier to use. It is actually pretty cool to use.
Title: Re: Flash/C++ Game Project
Post by: Nick on Sep 22, 2011, 11:57 AM
Wikipedia made it sound like a nice way to easily develop simple games. I think it would be worth playing with for that reason alone. Especially if one could adapt it to other platform without too much more work (http://rockethub.com/projects/752-exen-xna-for-iphone-android-and-silverlight).

I have thinking that (along with all my other projects) learning some mobile programming would be a rather good idea. And fun. 
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 28, 2012, 03:22 PM
So I think the Flash client portion of this project is be dead. With my limited time to work on stuff I like to learn things which will be useful in the future or to use technologies which seem to be going somewhere. I don't think Flash meets this anymore. With Flash player being discontinued on mobile devices, the increasing usefulness of HTML 5, and Adobe now charging developers who make over $50,000 on their projects to use the advanced Flash Player features I think it is time to switch to new things. Like maybe Android development.

This does not mean the whole project is dead. The c++ windows and linux servers still work great so I won't be dumping those. Just the flash client itself is going away. If anybody wants to partner up for some android or HTML 5 development just let me know.
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 28, 2012, 03:46 PM
I would love to do something HTML 5/ Android (why cant it be both at the same time?) I have played around a little with HTML 5 and compatible socket servers.
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 28, 2012, 04:01 PM
I don't think the default android browser has full HTML5 support. It can't play browserquest for example. I don't know the specifics of what is/is not supported though.
Title: Re: Flash/C++ Game Project
Post by: Nick on Mar 28, 2012, 04:16 PM
That will change in the future. But for now playing with the android SDK would be fun.

What needs to be done (everything?) What are you planning on making?
Title: Re: Flash/C++ Game Project
Post by: Brad on Mar 28, 2012, 07:17 PM
I need to make some progress on my XNA project before I jump ship and start on Android or HTML5.

But basically a graphical client which communicates with the game server is needed. All the game logic is done server side but all the graphics, UI, network communication, etc needs to be done by the client. That means lots of sprite assets and tile maps and other user interface goodness.

If I was going to make one for Android though id make it a full touchscreen ui and have two sets of assets, one for phones and another for the larger tablet screens.

The client isn't hugely complicated... I wrote a text based on after all... the hardest part is getting it to talk to the server correctly.