Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
ColdPie
Jun 9, 2006

I'm also working on my own media player. I have all of my music organized by folder, and all of the other Linux media players I've tried emphasized tags too much, or just plain have lovely interfaces (XMMS). It's written in Python using PyGTK and PyGST. I originally wrote it in C++, but decided it'd be a fun project to re-write in Python.



It's functional, but not 100% done. Still need to add seeking with the progress bar and maybe a few other odds and ends.

Edit:
And now it's pretty much all done :toot:

ColdPie fucked around with this message at 22:02 on May 4, 2008

Adbot
ADBOT LOVES YOU

ColdPie
Jun 9, 2006

Sir Davey posted:

I think it's safe to say, from what's been posted so far, that CoCers are not good at design. (myself included)

Stock icons save the day :woop: Much better than the XPMs I barfed up for the C++ version.

ColdPie
Jun 9, 2006

I feel a little outclassed by most of the stuff in this thread, but I'll post this anyway. It's a new game project I've been working on when I've got spare time. A 2D platformer with 3D graphics. Right now it's basically a 3D clone of a certain old NES game, but I've got some plans to make it into something original once it starts coming together.

I've got the level editor "done enough" to be usable, and am starting to work on the gameplay side of things. Hit detection is totally broken right now, but I just made a new camera and it's pretty fun to play around with. It tilts slightly to follow the player horizontally and vertically, which kind of gives a cool effect.

The background is a level rip from the original NES game, the 3D stuff in front was made with the level editor for my game. That hideous prism in the middle is the player, I haven't bothered making a proper model yet. Also I need to fix lighting because it's way too dark.



It's written in Java using OpenGL. Was actually inspired by this very thread to use Java. I'm really liking how it's coming together.

ColdPie
Jun 9, 2006

almostkorean posted:

Wow, same here. I had no idea other people even knew about this game, it was so awesome.

keep us updated ColdPie

<-- It is my favorite video game.

Don't expect fast progress (in college, schoolwork & drinking get top priority), but I do hope to finish it. Also it's open source, so that's fun.

ColdPie
Jun 9, 2006

Vanadium posted:

Not for Firefox either. :colbert:

Nor Opera. What does this thing work in? I'm out of browsers that a web developer would actually use.

ColdPie
Jun 9, 2006


I'd like to file a bug: McCain has a hire percentage than Obama in that screenshot.

ColdPie
Jun 9, 2006

I didn't work on the game as much as I'd hoped over winter break, but made some progress anyway. What I worked on today was implementing different renderers and making them "hot swappable."

    

This will be especially convenient in the editor, where editing in 2D mode is much easier than editing in 3D mode. (In these screenshots I disabled the background, since it's hard to distinguish the tiles from the background when it's on the image ripped from MC Kids.)

    

I'll also be making a renderer to display what the physics type of the tiles are, since it's currently impossible to tell. Hopefully I designed it well enough to be nothing more than a subclass of the 2D renderer and 2 or 3 method overrides. We'll see :)

It's also easy to add several different renderers attached to the same game thread. This would come in handy to create an "overview" window, where each tile is rendered to 1 pixel or something similar, like the thing you see in Photoshop.

    

Now I need to make these renderers render something pretty!

ColdPie
Jun 9, 2006

biznatchio posted:

My latest project:



If you're just doing this for fun/education, consider creating a binary file format for your maps and a map editor. I had a really fun time creating the map file format for my game, and map editors designed for your game are generally easier to work with than text files. As your project gets more complex, you'll probably need to represent information in ways that text files can't provide anyway.

ColdPie
Jun 9, 2006

Avenging Dentist posted:

This is a really stupid thing to say (unless you're talking about image data or something). There are some advantages to using binary formats (e.g. it becomes much easier to use byte-offsets to point to data in the file), but in general the only thing you lose is performance, and if you're loading the entire contents of the file into data structures in memory, most of that is moot anyway.

Real men generate an EBNF grammar for their datafiles anyway. :c00lbert:

I... can't tell if you're joking or not. Are you implying that doing atoi conversions is faster than just reading file contents straight into memory? And that binary file formats have no benefits over plaintext? How do you represent two things at the same spot (an enemy spawn and a tile, for example)?

Edit: Oh wait, I think I read your performance statement backwards. Non-performance related questions still stand.

ColdPie
Jun 9, 2006

Avenging Dentist posted:

code:
### my big gay tile data, however it's written ###

spawn: { (10,12), "giant_spider" }
Enemy spawn regions are separate from level geometry anyway, and I'm not sure why you'd try to cram them into geometry data in the first place. Note that I'm not saying that biznatchio's file format is good, but rather that it's straightforward to create a textual format with all the same features of a binary format. There are even advantages to binary formats (like the ability to cook in geometry optimizations - but this is rarely an issue in tile-based 2d games), but saying that a binary format can represent data that a textual format can't is just plain stupid.

For biznatchio's particular case, I'd probably just use a paletted image format for the tile information and a separate file with coordinates and handlers for event regions (spawners, doors, buttons, etc).

I see your points, but that just seems like more work to me than binary file formats would be. I guess parsing through all of that text just seems like a bitch versus just reading regions of data straight into data structures. I don't disagree with you, I just think that reading a binary file is easier than reading a text file. It's not like binary file formats have any downsides, so why not go with what's easier?

In any case, I think you can agree calling a suggestion to use binary file formats in a learning project "stupid" is not really called for.

ColdPie
Jun 9, 2006

Avenging Dentist posted:

Writing an EBNF grammar is simple and fault-safety falls out of the parser automatically. Portability issues (e.g. endianness) vanish. Parsing languages is a well-known problem and many tools exist to simplify it (e.g. Flex/Bison).
Fair enough. I know very little about grammars and parsers (just did the LSystems thing and that's it), so I'll concede the argument.

Avenging Dentist posted:

This is wrong and represents a grave misunderstanding of the technicalities of data storage. "Stupid", or perhaps "ignorant" is the only word for it.
Christ, tear my head off for making a friendly suggestion and poorly wording my defense. Obviously you can stick a bunch of crap at the end of your text file or make other files and tar them up or whatever, it just seems simpler to me to just write your own binary format and load it straight into memory instead of embedding a full-fledged grammar parser into your executable.

As I said earlier, I don't know much about parsers, so it might be dead simple. I don't know.

Avenging Dentist posted:

Further, recommending that someone design their own binary file format for a two-dimensional grid of data with discrete values (let's call them "pixels") instead of using one of many available formats that already do the same thing (lossless images) is misguided at best.
Er, I was talking about for the map data, not the texture information.
Edit: Wait you're actually talking about using a gif for the map grid? That is definitely more complicated than just writing your own format.

ColdPie
Jun 9, 2006

Avenging Dentist posted:

Aww, is a real programming language too hard for you? *gives babby back his rattle*

You know, I used to kind of respect you as a good programmer, but you're just a loving douchebag. Go back to YOSPOS and stay there.

ColdPie
Jun 9, 2006

ATLbeer posted:

Thanks... It's in a soft launch stage right now but, I consider it in "production" and I'm taking bug requests and feature requests via twitter (http://twitter.com/plainvid) or just PM me if your not into the whole Twitter thing.

I don't mean to be a dick or anything, but since it sounds like you're trying to be professional about this website, I'm just going to politely suggest that you learn the difference between "your vs you're" and "they're vs their vs there". It looks very unprofessional when you gently caress those up and I'd hate to see it happen in some promotional material for your website or in contact with your users.

ColdPie
Jun 9, 2006

Dijkstracula posted:

I'm currently working on how I want the event handling and timing routines to work, since that's a huge part of the game and I don't want to start implementing anything without myself being convinced that the way I've chosen to do it makes the most sense.

I remember reading a paragraph or two by one of the Nethack developers about why most roguelikes have no multiplayer version. The main reason being roguelikes are generally "stop and think" games, not with rapid gameplay. One option to preserve the turn-based strategy would be to have all players input their move, and once all players are input, the turn actually occurs. But that's awfully slow and prone to abuse.

It'll be interesting to see what solution you come up with. I think it'll be a challenge to make it right and still feel like a roguelike.

ColdPie
Jun 9, 2006

OneEightHundred posted:

- The Bungie version is apparently flipped on the Z axis for some reason.

Direct3D has a backwards Z-axis, and Bungie does all of their work on MS systems, so they probably do all of their work with a backwards Z-axis.

ColdPie
Jun 9, 2006

heeen posted:

Playing around with Qt+OpenGL loading images in a second thread:
http://heeen.de/proj/qt-loading.avi
Three 4096² png textures loaded in a thread with lowest priority.

Are you using C++? Is it pretty easy to integrate OpenGL with Qt's object system? I enjoy doing piddly graphical applications in OpenGL and love working with Qt; it'd be nice to combine them instead of writing my own crappy input and menuing systems with OpenGL.

ColdPie
Jun 9, 2006

N.Z.'s Champion posted:

I wasn't sure whether to post this here or in coding horrors.

You picked the wrong thread.

ColdPie
Jun 9, 2006

That Turkey Story posted:

Okay, only a screenshot of code but it's cool if you're into generic programming. Over the past month or so I've been working on a couple of crazy preprocessor and template metaprogrammed libraries for generic programming and for automatically deducing function return types in C++. With them you can write concepts and concept maps, including auto concept maps, perform concept checking similar to BCCL, and even do concept-based overloading of function templates -- no more having to explicitly do tag-dispatching to simulate it in C++! You have to use very magical-looking macros but the end result is more concise code with less boiler-plate when, for instance, dispatching to different overloads based on which concept refinements certain arguments model. The example shows something akin to std::advance.

You used a bunch of big words, but to summarize, is this at all similar to the Concepts feature that didn't make it into C++0x? If so, awesome. If not, can you give an example of where your library would come in useful?

ColdPie
Jun 9, 2006

Ugg boots posted:

First off, that looks awesome. Second, if you target .NET 4.0 then you get access to their ConcurrentDictionary which is a lockless dictionary. Just an FYI.

.NET? :ughh: so much for portability

ColdPie
Jun 9, 2006

Blue Footed Booby posted:

I love when peole jump on a chance to bash Microsoft products without actually reading the thread.

Ugg boots posted:

You do realize he's already using .NET, right? Dumbass.

Fake Edit: Yeah yeah, I realize it's just ColdPie.

In my defense, I was responding to using .NET in general, not specifically to your suggestion to target .NET4. So I did read the thread, and then jumped in to (rightfully) bash MS products.

ColdPie
Jun 9, 2006

tef posted:

i cloned a game: http://secretvolcanobase.org/~tef/cave.html imgur is down and it's hard to get a shot of it in action

One thing that's always confused me about browser games such as this is that they take up 100% CPU. Obviously that game should be taking a fraction of a percent on any hardware in the past two decades. Is there a way to limit the framerate to something reasonable so that doesn't happen? If so, why does no one do it? If not, why not?

Adbot
ADBOT LOVES YOU

ColdPie
Jun 9, 2006

UraniumAnchor posted:

I can't get it to run on this netbook at any kind of playable framerate even in chrome so I'll have to try it again when I get home.

My point is, your netbook can play this game. It's the overhead of the technology that's too huge to be playable. Why is that? Why hasn't that been fixed yet?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply