Jump to content

  • Log In with Google      Sign In   
  • Create Account


4X development and holding on Archetype

Posted by , in Archetype Engine, Linux, Personal Side, Python 20 March 2011 - - - - - - · 545 views
4x, python, Archetype, galaxy and 5 more...
[BLURB:] Working on a 4X game, and the Archetype Engine is on hold thanks to the flipping camera! Also, my job goes from part time to full time and I've been exhausted!

[DEVELOPMENT: Galaxy vs Archetype]
It's a bit of a bad habit of mine. I'll work on a project for about a month or two, then I want to try something else. Actually, this only happens with my own personal projects, thankfully, and not those I do for work, but still, it's annoying.

In terms of the Archetype engine, my VBOs have kicked my butt and now my camera... which I had thought was rather stable... turns out to be far from. Having spent a solid week trying to get it to work right, I'd decided to put Archetype on hold for a little while and switch over to a new project that, in time, should easily be mergible with the Archetype project. Ok, so I'm legitimizing the switch by thinking to myself that I'm just working on another aspect, but whatever...

To anyone that reads this journal, you may have remembered one of my last posts saying how I was looking at playing some 4X games, but couldn't find one to satisfy me. To that end, I have started working on a project called "Ships"... weak title, I know... which will serve as part one of my 4X development. What Ships will be, is the "ship designer" portion of the 4X game. When the game starts, players will be presented with a ship designer and a starting sum of Production Points in which to assemble a fleet. The player will be allowed to design as many ships as they want, but their fleet would be limited to the number of production points available. Once the player as designed their ships and/or assembled their fleet, they then choose another player's fleet to compete against. At this point, the game will switch to the tactical portion of the 4X game, in which the two fleets do battle.

At the moment, I've been poking at the game for about a week. I have written a custom config loader and a language string loader (for internationalization of the application). I'm currently working out in my head how I want to handle error handling and logging. I'm pretty sure I'm going to use Python's logging module, just not sure exactly how I want to integrate it.

Oh... silly me... Ships is the name of the demo/game that is the first part of my 4X project... Galaxy is the name of the library I'm writing for the 4X game(s). Galaxy contains the currently developed config loader, language loader, and component manager currently developed. I'll be uploading the git repo of the game(s) to gitorious soon.

[BUT WHY?!:]

Like I said, I had a powerful hankering to play a 4X game, and there's so few for linux. Ok, to be fair, I wanted to play a 4X SPACE game, and there are so few of those. I looked into FreeOrion, but, sadly, the forums almost seem dead. The game runs fine, but seems empty of any actual life. More like a tech demo at the moment. Again, to be fair, this tends to be the case for a lot of unfunded open source games... and mine may even end up that way itself... but still. I tried playing some 4X games from Windows through wine, but, between incompatibilities with wine and a current dislike of microsoft at the moment, I couldn't play any of those.

And so... I try to write my own. Still hard because I really want to PLAY the game. Eventually, I hope that'll be the case.

[Personal Side:]
Development on any of my projects has also taken a bit of a hit recently because as of mid February my part time job as database developer turned into a full time job as a database developer. I'm very happy about that, but the new hours are tiring me out by the end of the day. Once I'm home I usually just want to veg on the couch and watch TV or play XBox (yes, I know that's a little hypocritical after my previous statement about not liking Microsoft, but sue me, I'm human). Even on the weekends, once I've finished the errands I need to do, I'm ready to just relax and let my mind drift.

I'm sure I'll adjust to the new schedule eventually and be able to get a little more personal project development in as time goes by, but still... things are a little slow at the moment.

Holy moley! You're still reading this? Ha! Thank you.
I hope to have more interesting news as time goes by. Catch everyone next time!

Gah! Almost two weeks!

Posted by , in Archetype Engine, Personal Side, Python 09 February 2011 - - - - - - · 387 views
4X, Python, Archetype, RPG, VTT
[BLURB:] Not dead yet!


Ok, I haven't worked on Archetype for almost a week because my favorite RPG table top group suddenly finds itself GMless and I decided to try giving the job a go. Not that I've actually started GMing. It's an online group that used a virtual table top (VTT) and I've been spending a week organizing, to the best of my abilities, stuff for my campaign. With any luck, it'll be worth the time put in.

On top of that, I've suddenly developed a hankering for Space Opera 4X gaming again and, while MOO2 has been helping, I've really developed an urge to try my hand at writing a 4X game. Gah! I hate when my brain does this. But, if I don't sidetrack a little, I'll loose all concentration for any project (the "run and hide" way of dealing with things), so, I figure working on 2 code projects is worth trying. Besides, the code from the Archetype engine could be used for the 4X I'm thinking of... if not in whole, then in part.


Which leads to a question I've been pondering. Thus far I've been working on Archetype's graphic system. Currently, there's nothing about the graphics system that makes it unusable by any style of game. As such, I've been wondering if I should split out my graphics from Archetype into another library, or just copy the graphic code from Archetype and past it into whatever 4X engine I decide to write. Of course, this question may mean that I have a flimsy idea, over all, on what exactly an "engine" is and what makes it different than a "library" or (in Python terms) a "module".

In any case, I'm still hacking away at my code.

ATI hate me, I think.

Posted by , in Linux, Archetype Engine, Personal Side, Python 27 January 2011 - - - - - - · 696 views
ATI, NVidia, OpenGL, pyopengl and 6 more...
[BLURB:] A choice made 5 years ago is not effecting my 3D ENGINE!!! Grrrrr.... Have to put VBO development on hold! Grrrrr.... Vertex Array Object works like a charm... YAY!

[DEVELOPMENT: Archetype Engine]

Ok, I busted my mental hump trying to figure out VBOs. For PyOpenGL, most documentation on the subject is almost three years old and given as a code snippet at this website. The problem is, when I tried using that code, glGenBuffers would fail. It's either claim I was passing 2 arguments when it only wanted 1, or that the function didn't exist at all! Grrrrrr!!!!! After well over five hours of painful googling (all hail the Google) AND upgrading my copy of pyopengl from 3.0.0 to 3.0.1 I have generally narrowed the issue down to my ATI drivers... or, at least I believe that to be the case.

See... I'm running on Linux; Ubuntu 10.04 to be exact, and, in general, ATI doesn't think very much about us Linux people. Arguments for the ATI mentality aside, the result is, the ATI drivers for Linux are not as good or as up to date as those on Windows. As such, I wouldn't be surprised if the implementation for VBOs wasn't completed in the Linux ATI driver and that is what's giving me my issue. I could be wrong, but I can't think of an alternate reason at the moment.

So what does that mean over all? Does that mean I cannot code VBOs into my engine? HELL NO it doesn't mean that! It just means I have more research to do. I'll have to look into the extensions method for vertex buffer objects and do something like:

if not bool(glGenBuffers):
	glGenBuffersARB(1, buff)

Not to mention having to deal with the case of whether or not the extension exists or not. There's ways around it, I suspect, but to get VBOs up and running, I have a lot more reading to do.


Open Hardware! We have open source software and open hardware exists to a degree (gumstixfor instance). I would LOVE to see an open hardware graphics card! I know, I know... that's a hugely tall order, but think of the total win factor such a device (and the company that produces it) would have if it were done! A hardware device that could be plugged into any computer (mac/windows/linux/other) and have drivers available. If drivers aren't immediately available, the specs are open for driver developers to plunge right in and code some up! No more half-assed features from one OS to another.

Yes... before anyone decides to flame me for what I'm saying, I'm well aware that this is more a dream than anything that could be set into motion. I'd love to take a crack at it, but I am so completely not a hardware guy. Not even to mention ATI and NVidia are so far ahead of the game in terms of graphic processing hardware that any small time company looking to start would be entering with hardware, more than likely, a couple generations behind (or more) and would more than likely collapse due to the imbalance of those who would buy the hardware to support it and the ideals, and those that wouldn't because it wouldn't be able to run the top tier games.



Thank you for playing, please come again :D

Cameras... soon to be action!

Posted by , in Personal Side, Archetype Engine 16 January 2011 - - - - - - · 399 views
pyopengl, Archetype engine and 6 more...
[BLURB]: Archetype engine has cameras! Hope to catch up with the Game Programming Gem series of books!!

[DEVELOPMENT: Archetype Engine]

Did quite a bit of work to give Archetype some camera action. It's a relatively simple camera, using an eye/center scheme ( thank you gluLookAt ). This allows me to move my eye (the camera itself) and it's point of focus (center) independently. There are also a couple of nice methods. One called "pan" which rotates the center coordinates around the eye, and the other is called "orbit" which rotates the eye around the center. Rotations are all handled by quaternion calculations, so there shouldn't be any abnormal rotation artifacts occurring.

Of course, the camera's all well and good, but without anything to see, there's no point to it. I'm close to solving that issue. Firstly, I created a class called iRenderable which, serves as an interface class for all world objects. All it does is store children (for complex constructs... like models), return bounding boxes, and has a couple of empty methods called render and postRender, which are intended to be overridden. There is also a method called renderChildren which calls the render->renderChildren->postRender pipe on all children within an iRenderable object. I dear suggest that, in effect, I've created a scenegraph node structure... and that's where I plan on continuing next... building a scenegraph-esk structure. Ok, maybe not "esk"; maybe an actual scenegraph structure. Once complete, I should be able to write the first demo for the "engine"... exciting!

Of course, if anyone is at all interested in taking a look at the progress, feel free to grab a copy of the repository here at gitorious! NOTE: All the latest updates are in the development branch.


I just got my hands on Game Programming Gems 3 the other day!!! Up until about a year ago, I hadn't even realized they continued the series past the second book, let alone expanded into other gem series, such as GPU Programming and AI Programming. I felt like such a dumb-ass when I learned I fell behind with the series by SIX books! I had a little extra cash the other week (and, technically, that's not true, I just couldn't help myself), so I bought GPG3. I suppose the smart thing would have been to purchase GPG8, but I have a thing about purchasing sequential items in order. I know it's probably silly, but still, I have trouble bringing myself to buy things out of order.

That said, however, I should, hopefully, be starting a new full-time job soon! With the money I'm making there, after I get some personal things settled (broken washer/dryer, fix up car, buy a Droid ... mmmmm... drooooiid... *cough*, and so on) I will be able to continue collecting the gem books and hopefully gain some wisdom that will help me take my engine and games just that once step further :)

October 2016 »

23 242526272829

Recent Comments