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
big beefy chedder
Jul 16, 2004
I'm interested in creating a simple online multiplayer game with very simple 2d graphics—a game along the lines of Connect 4. I want a lobby where you can create or join a game (the game's options can vary, too). I want the user to create an account which stores your wins and losses, etc.

Would Flash be the best way to go about doing this?

I want to have things like simple sfx, also like a table below the main game where you can check the people with the highest wins, etc.

I notice that TripleJack Poker (http://www.triplejack.com/) accomplishes everything I want, and they seem to be using flash.

I don't know much about HTML5 or any other web based method of accomplishing this, but if something else might work better I am all ears.

Adbot
ADBOT LOVES YOU

Acer Pilot
Feb 17, 2007
put the 'the' in therapist

:dukedog:

It looks more like Flash is just a frontend for that game. Flash alone usually can't accomplish multiplayer games like that.

They're probably piping data back and forth to a database and displaying the results through the flash video.

Optimus Prime Ribs
Jul 25, 2007

To elaborate on what drcru said: in order to make an online multiplayer game in Flash you need to use sockets.

I've used the free version of this before: http://www.smartfoxserver.com/
Or you could follow this tutorial and make your own in PHP: http://www.kirupa.com/developer/flash8/php5sockets_flash8.htm

Sockets are pretty easy once you get the hang of them. I managed to make a full-fledged chatroom using the Kirupa tutorial like 3-4 years ago.

BizarroAzrael
Apr 6, 2006

"That must weigh heavily on your soul. Let me purge it for you."
I'm using Flash for the game dev challenge, and I'm making characters by creating a movieclip and putting other movieclips for the head, body, arms etc. into it, to make it easier to do basic animation and switch parts around. My question; does this technique have a name? I imagine it does since it's existed in some form since at least the 16-bit days (not in flash, obviously)

MasterSlowPoke
Oct 9, 2005

Our courage will pull us through
I'd say it's a form of spriting, which has existed far longer than 16 bit graphics.

Hubis
May 18, 2003

Boy, I wish we had one of those doomsday machines...

MasterSlowPoke posted:

I'd say it's a form of spriting, which has existed far longer than 16 bit graphics.

Sprite compositing, basically. It was pretty popular because it reduced the number of combinations of different animation states needed in the character pages

PnP Bios
Oct 24, 2005
optional; no images are allowed, only text

Gyshall posted:

I'm interested in making my own side scroller game just as a hobby. I don't know any programming languages, but I have dabbled in Python before and I can do web design/CSS, if that helps. I used to mess around with RPG Maker and could get around that fairly easily, so I'm wondering if there is a free or sub $150 game engine designed around making side scrolling beat em' ups like Comix Zone or Streets of Rage et al. Any suggestions on where to start?

http://en.wikipedia.org/wiki/M.U.G.E.N - mugen may be worth taking a look at.

or

http://www.senileteam.com/beatsofrage.html - beats of rage

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Hubis posted:

Of course then again, being able to wield a banana in your mainhand and attacking with it is very Nethack-ish, so...
This is where dynamically typed languages like Lua really shine, in that the complete lack of type rigidity lets you get away with checking for functionality support on anything.

i.e. does the equipped item have an "attack" method? If so, I guess you can attack with it! If not... well, guess you can't attack with it!

... but you can assign "attack" to anything under that mentality. Is a loaf of bread also a weapon? Perhaps, but try doing that in C++ and you wind up in multiple inheritance or type conversion hell.


What I'm saying is that if you're doing something that demands this much flexibility then you should really implement a scripting language. Incidentally, supporting one is basically required for developing anything like an RPG without losing your mind.

OneEightHundred fucked around with this message at 18:01 on Jul 13, 2010

Vietnom nom nom
Oct 24, 2000
Forum Veteran

OneEightHundred posted:

This is where dynamically typed languages like Lua really shine, in that the complete lack of type rigidity lets you get away with checking for functionality support on anything.

i.e. does the equipped item have an "attack" method? If so, I guess you can attack with it! If not... well, guess you can't attack with it!

... but you can assign "attack" to anything under that mentality. Is a loaf of bread also a weapon? Perhaps, but try doing that in C++ and you wind up in multiple inheritance or type conversion hell.

What I'm saying is that if you're doing something that demands this much flexibility then you should really implement a scripting language. Incidentally, supporting one is basically required for developing anything like an RPG without losing your mind.

I believe this is my cue to throw out a plug for Love at https://www.love2d.org. It's a Lua based 2D framework for making games. Been really enjoying it lately. It hasn't matured fully yet, but there is active development going on, and all of the major requirements for game making are in there. It also tries to let you write once, run on Windows/Mac/Linux. Anyone evaluating 2D frameworks for making a game who also have a passing interest in Lua should check it out.

BizarroAzrael
Apr 6, 2006

"That must weigh heavily on your soul. Let me purge it for you."
Has anyone read any of the Mastering Unreal Technology series? I took a look at the two that are out at Develop but decided against buying (since I didn't want to carry either of them around, and Amazon turned out to be cheaper anyway) I was thinking of getting the third one on UnrealScript when it's out at the end of next month, but I wanted to know if anyone had anything to say on the first two and if I need the complete set or if I can jump past the level design ones to scripting?

onecircles
May 6, 2009
So I recently have become interested in learning to program, and I'm trying to decide which language would give me the best bang for my buck. I mainly want to make games, but I do want to learn a language that is at least somewhat useful outside game development, so GML is out.

I had decided upon python with pygame, but I talked to a software engineer friend of mine today and he strongly suggested I go with java instead. His rationale seemed mainly to be that the java community is much larger, and more developed, and that python wasn't actually as useful as I thought it was.

So what do you guys think? Is python with pygame a good choice for game development?

I am mainly interested in making more complex and full featured versions of older genres like side scrolling platformers and strategy rpg's and such. Not too interested in sophisticated 3d graphics.

Oh, also, I would rather learn a high-level language than a low-level language.

much thanks.

Star Warrior X
Jul 14, 2004

onecircles posted:

So I recently have become interested in learning to program, and I'm trying to decide which language would give me the best bang for my buck. I mainly want to make games, but I do want to learn a language that is at least somewhat useful outside game development, so GML is out.

I'll recommend C#. It's a very flexible language, with many modern business applications, and a number of good game libraries/engines, depending on how much work you want to do. On one end of the spectrum is Unity3D, where you drag and drop scripts on to items in a 3D level editor. In the middle is XNA, which provides you with a game loop and a very useful library of helper functions for drawing things, but is more customizable in terms of rendering. And then there's Tao, which is a thin wrapper around OpenGL (and other useful c libraries), if you want to do everything the hard way (but can be cross-platform if you work with Mono).

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!
I have a DirectInput question - when I "EnumerateObjects" on a gamepad device, the controls returned are named:
code:
"Extra" - this appears to be the slider which is broken.
"Rudder" - this seems to be the x-axis of the second joystick.
"Throttle" - this seems to be the y-axis of the second joystick.
"Y axis" "X axis" - these are the left joystick and work fine
"Hat switch" - the d-pad, also fine
"A button" "B button" "C button"
"X button" "Y button" "Z button"
"Left trigger" "Right trigger"
"S button" - all the buttons are fine
Rudder's guidType is GUID_RzAxis, and throttle's type is GUID_ZAxis, when to any sane person a second joystick would just be another X and Y axis. Do the GUIDs of controls have to be unique to that control within a device or something? (I realise GUID stands for global unique ID, but that must be to uniquely identify a control type, not uniquely identify a control - after all, two gamepads will each have a control with GUID_XAxis)

Is there some way a gamepad can be set differently within DirectInput before I enumerate its controls, so it won't assume it's for a flying game or whatever the hell it's doing, and will just treat its controls as the generic things they are? I would expect a control to be GUID_RzAxis only if it's a forward-facing twist-control, because that's when the control itself is a rotation around the Z-axis - I don't want my controller to be telling me that it wants me to be using an X-axis as a Z-axis-rotator.

I don't like its name being 'rudder' either - when I put control names in the configuration box, how is a player going to know that the X-axis of their second joystick is called 'rudder'? That's pretty unintuitive.

(Note: not using the action mapper at all.)

Gyshall
Feb 24, 2009

Had a couple of drinks.
Saw a couple of things.

PnP Bios posted:

http://en.wikipedia.org/wiki/M.U.G.E.N - mugen may be worth taking a look at.

or

http://www.senileteam.com/beatsofrage.html - beats of rage

Thanks, these are both real sweet, although now my game has turned into more of a metroidvania beatem'up than a straight brawler. I'm thinking platforming and stuff like that - any decent game engine that would fit my needs for that type of game?

I'm looking at both GameMaker and Multimedia Fusion, but I'm not sure that's what I want.

ambushsabre
Sep 1, 2009

It's...it's not shutting down!

Gyshall posted:

Thanks, these are both real sweet, although now my game has turned into more of a metroidvania beatem'up than a straight brawler. I'm thinking platforming and stuff like that - any decent game engine that would fit my needs for that type of game?

I'm looking at both GameMaker and Multimedia Fusion, but I'm not sure that's what I want.

If you have to do either of those, gamemaker is the way to go. However, like the rest of the people in this thread, the design thread, and the SAGD V thread, I would really recommend construct for this sort of thing.

BizarroAzrael
Apr 6, 2006

"That must weigh heavily on your soul. Let me purge it for you."

ambushsabre posted:

If you have to do either of those, gamemaker is the way to go. However, like the rest of the people in this thread, the design thread, and the SAGD V thread, I would really recommend construct for this sort of thing.

There's a design thread? I've not seen it.

dogmaan
Sep 13, 2007
I'm having a really hard time finding relevant books or resources on tools development.

I am trying to roll my own Hammer / Qradiant + 3d Engine (I have 6 years to do it)

My friend lent me OpenGL Game Development, but it's really old, and very windows specific, the editor you have at the end of the book is purely orthographic, and separates the levels into floors, ceilings and walls, which doesn't suit me, as I'll just have to change it.

another book I looked at is Game Engine Toolset Development, but that seems to be aimed at someone who already has their own tools, and just want's to improve workflow.

It's starting to seem to me like tools development is chronically under-documented.

Also most of my experience with C++ is not GUI based (mfc, QT, Wx etc), I got into it about year ago through SFML(2d Graphics via OpenGL, kind of like SDL), for the purposes of a multi-platform editor, Is QT the framework to use nowadays?

thanks

Gyshall
Feb 24, 2009

Had a couple of drinks.
Saw a couple of things.

ambushsabre posted:

If you have to do either of those, gamemaker is the way to go. However, like the rest of the people in this thread, the design thread, and the SAGD V thread, I would really recommend construct for this sort of thing.

Construct looks loving perfect. Thanks, I'm going to give that a go.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Before you make tools, you need to decide how you want your game (especially world loading) to work. There are essentially three paradigms for creating world geometry that have survived: Terrain, convex plane-bound solids ("brushes"), and arbitrary triangle meshes. From there, you need to decide if you want closed levels, or a streaming world with no loading screens.

Once you get past the editor, you need to decide how you want lighting to work. Lightmapping has a lot of different techniques (I'd recommend looking at the Halo 3 presentation if you take this route), and some obvious drawbacks.

In essence, you really need to keep in mind that the tools are a front-end for the engine's data loading process, and must be designed with the engine's capabilities in mind.

As for a UI toolkit: I'd really recommend making any GUI editor in C# and use Windows Forms instead. Managed languages are just a lot less irritating to make non-performance-critical GUI apps with at the moment, and for performance-critical stuff you can always call unmanaged C++ code from it.

dogmaan
Sep 13, 2007

OneEightHundred posted:

Before you make tools, you need to decide how you want your game (especially world loading) to work. There are essentially three paradigms for creating world geometry that have survived: Terrain, convex plane-bound solids ("brushes"), and arbitrary triangle meshes. From there, you need to decide if you want closed levels, or a streaming world with no loading screens.

Once you get past the editor, you need to decide how you want lighting to work. Lightmapping has a lot of different techniques (I'd recommend looking at the Halo 3 presentation if you take this route), and some obvious drawbacks.

In essence, you really need to keep in mind that the tools are a front-end for the engine's data loading process, and must be designed with the engine's capabilities in mind.

As for a UI toolkit: I'd really recommend making any GUI editor in C# and use Windows Forms instead. Managed languages are just a lot less irritating to make non-performance-critical GUI apps with at the moment, and for performance-critical stuff you can always call unmanaged C++ code from it.
That's really good advice, thanks.

How portable is C#?

As I would like my (theoretical) tools to be as portable as possible

gibbed
Apr 10, 2006

dogmaan posted:

How portable is C#?
Mono works pretty decently but you would have to avoid any platform specific libraries (like WinForms, though I have not kept up to date with Mono and if they have any WinForms stuff working).

POKEMAN SAM
Jul 8, 2004

gibbed posted:

Mono works pretty decently but you would have to avoid any platform specific libraries (like WinForms, though I have not kept up to date with Mono and if they have any WinForms stuff working).

quote:

System.Windows.Forms (aka Managed.Windows.Forms, MWF, Winforms) is one of the many GUI Toolkits for use with Mono and is compatible with Microsoft's System.Windows.Forms. Support for Winforms 1.1 and 2.0 has been completed, and is now in a maintenance/bug fixing state.

http://www.mono-project.com/Winforms

gibbed
Apr 10, 2006

Awesome!

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
I'd really recommend NOT worrying about portability, non-Windows players are niche enough and the portion of that niche that will want to mod the game as well is even more microscopic.

dogmaan
Sep 13, 2007

OneEightHundred posted:

I'd really recommend NOT worrying about portability, non-Windows players are niche enough and the portion of that niche that will want to mod the game as well is even more microscopic.

I'm worried about portability because, this is going to be my project for the next six years, I use windows now, I may not some day, also when I finally go back into education this year, I wouldn't mind trying to bring some other people on board.

The other reason is, I like to put everything into wrapper classes/namespaces, that way if I use std::vector, and I decide I want to port it to the psp (or something), I can write my own allocators that don't eat RAM, without having to completely change every instance of std::vector, thats just a (crap) example.

Basically I like the piece of mind knowing I am not tied to one platform, even if I only ever develop software in windows for my entire life.

As for C# I would probably want to share a fair amount of code with the actual game engine, if I write an engine in C++ and an editor in C# won't there be some problems when, in the editor, my ortho/perspective views are running entirely in C++ and OpenGL?

seriously though thanks for your help, is it okay to come back here everytime I start pulling my hair out?

POKEMAN SAM
Jul 8, 2004

dogmaan posted:

I'm worried about portability because, this is going to be my project for the next six years, I use windows now, I may not some day, also when I finally go back into education this year, I wouldn't mind trying to bring some other people on board.

Let me guess, your first goal is to make an engine, then you'll figure out all the gameplay stuff afterwards!

dogmaan
Sep 13, 2007

Ugg boots posted:

Let me guess, your first goal is to make an engine, then you'll figure out all the gameplay stuff afterwards!

Nope, the idea is to create a framework to use while I am at Uni to demonstrate various gameplay ideas/implementations, without having to hard code each different implementation, also hopefully I will learn various low level 'workings' as I implement new features, I could just use Ogre, bullet, Lua and a 3d editor if I did not want to learn the low level stuff.

In theory, when creating a game you need to take a look at the artists assets and designers ideas, and create an engine around what they want to do, not force the artists/designers to conform to a programmer mandated engine.

dogmaan fucked around with this message at 19:11 on Jul 23, 2010

i am not zach
Apr 16, 2007

by Ozmaugh

dogmaan posted:

In theory, when creating a game you need to take a look at the artists assets and designers ideas, and create an engine around what they want to do, not force the artists/designers to conform to a programmer mandated engine.

So every game needs its own engine? That seems like a good way to repeat a lot of work.

dogmaan
Sep 13, 2007

i am not zach posted:

So every game needs its own engine? That seems like a good way to repeat a lot of work.

I was basically paraphrasing Mike Acton.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

dogmaan posted:

Nope, the idea is to create a framework to use while I am at Uni to demonstrate various gameplay ideas/implementations, without having to hard code each different implementation, also hopefully I will learn various low level 'workings' as I implement new features, I could just use Ogre, bullet, Lua and a 3d editor if I did not want to learn the low level stuff.

In theory, when creating a game you need to take a look at the artists assets and designers ideas, and create an engine around what they want to do, not force the artists/designers to conform to a programmer mandated engine.
I recall a particular mod author who released an ambitious but clearly less-than-optimal mod which was ultimately fairly successful. He was an egomaniac and I don't really like him, but I like what he said about it: "There are two kinds of mod, the best mod in the world, and the one you can finish."

I'm in no way opposed to aiming for unrealistic goals if your objective is to learn, but if you want something FINISHED then you need to be committed to finishing, and part of that means you need to quickly take the axe to anything that is either not terrifically necessary, or can be postponed until after release.

Porting definitely falls into the latter category, if you're REALLY concerned about it then write code that CAN be ported and worry about actually porting it later.

Porting TOOLS to non-Windows platforms shouldn't even be on the table unless you have at least one artist already using a non-Windows platform exclusively.


Always keep that in mind, and ask yourself whether your objective is to learn or complete. The vast majority of mod projects fail, and most of the ambitious ones fail by being too ambitious and letting feature creep, NIH syndrome, and "too much work, too few people" get the best of them. Don't be a George Broussard.

dogmaan posted:

In theory, when creating a game you need to take a look at the artists assets and designers ideas, and create an engine around what they want to do, not force the artists/designers to conform to a programmer mandated engine.
Part of the responsibility of the designer is to make a technologically-feasible design, and to balance the need to complete the product against the time cost incurred by piling on new features. This is especially the case on a single-programmer project with no professional tools and no budget, where you are severely technology-bound.

You have the art/engine relationship backwards as well, art is designed once the technical capability to present it is in place, so it's entirely bound by (and enabled by!) the technology. It's the sole medium through which the artists are able to realize the design.

OneEightHundred fucked around with this message at 23:08 on Jul 23, 2010

dogmaan
Sep 13, 2007

OneEightHundred posted:

I recall a particular mod author who released a somewhat less-than-optimal mod which was ultimately fairly successful. He was an egomaniac and I don't really like him, but I like what he said about it: "There are two kinds of mod, the best mod in the world, and the one you can finish."

I'm in no way opposed to aiming for unrealistic goals if your objective is to learn, but if you want something FINISHED then you need to be committed to finishing, and part of that means you need to quickly take the axe to anything that is either not terrifically necessary, or can be postponed until after release.

Porting definitely falls into the latter category, if you're REALLY concerned about it then write code that CAN be ported and worry about actually porting it later.

Porting TOOLS to non-Windows platforms shouldn't even be on the table unless you have at least one artist already using a non-Windows platform exclusively.


Always keep that in mind, and ask yourself whether your objective is to learn or complete. The vast majority of mod projects fail, and most of the ambitious ones fail by being too ambitious and letting feature creep, NIH syndrome, and "too much work, too few people" get the best of them. Don't be a George Broussard.

Part of the responsibility of the designer is to make a technologically-feasible design, and to balance the need to complete the product against the time cost incurred by piling on new features.

You have the art/engine relationship backwards as well, art is designed once the technical capability to present it is in place, so it's entirely bound by (and enabled by!) the technology.

Okay, Porting stuff, taken onboard, and accepted.

As for creating a game, do I have a game in mind...no

I am about to spend 2 years in college and 4 in Uni, I want to create my own toolkit for rapid prototyping, and learn the low level concepts as I go, if that toolkit is any good after 6 years of development Bonus!, if it's a piece of crap at the end, oh well at least I learned a lot of concepts on the journey alongside the concepts I learn at Uni.

I completely understand what you are saying to me, if I wanted to make a game right now, I would just use Ogre or SFML and an off the shelf editor, hell I could just use the UDK or Source.

Also my short term goals aren't that lofty, I just want to create an editor that can place a cube in 3d space, and then display it in 3 separate orthgraphic views and a perspective view, within the same application, from there I want to be able to subtract a cube from another cube, then so on from there.

My knowledge of C++ syntax is okay for what I need, but my practical experience working in 3d space is nil, copying out a function that draws a static torus that can be floated around, from the OpenGL SuperBible is not helping me learn a way to combine these different concepts into a dynamic pipeline.

So yes, my objective is to learn, not make an impossible fantasy engine.

dogmaan fucked around with this message at 23:38 on Jul 23, 2010

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

dogmaan posted:

I completely understand what you are saying to me, if I wanted to make a game right now, I would just use Ogre or SFML and an off the shelf editor, hell I could just use the UDK or Source.
I'm not even saying that, it's more like there are three types of work: Work you need to do to finish, work you could get away with not doing with varying degrees of sacrifice, and work you definitely don't have to do. If completion is your goal, the third category gets axed completely and the line gets drawn somewhere in the second.

If you want to learn low-level stuff you're probably best off taking the Quake 3 engine and making an engine mod. That's about as good as you can get right now as far as a fully-functional game with a replaceable renderer, and there is a LOT to be said for having something that already works.

dogmaan
Sep 13, 2007

OneEightHundred posted:

I'm not even saying that, it's more like there are three types of work: Work you need to do to finish, work you could get away with not doing with varying degrees of sacrifice, and work you definitely don't have to do. If completion is your goal, the third category gets axed completely and the line gets drawn somewhere in the second.

If you want to learn low-level stuff you're probably best off taking the Quake 3 engine and making an engine mod. That's about as good as you can get right now as far as a fully-functional game with a replaceable renderer, and there is a LOT to be said for having something that already works.

The course I am taking at Uni is about low-level Engine stuff, and applied mathematics, so I'm going to have to learn it at some point anyway.

Yes I could just Mod Quake 3, and use QuARk as the editor, but if I do that, I am avoiding the things I am going to have to learn eventually anyway.

Although I may download the quake 3 source code and check out how it parses md3 files, and take a general look at how the engine works.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Almost everything Q3 does could be reimplemented to work better, so you're not really avoiding anything.

dogmaan
Sep 13, 2007

OneEightHundred posted:

Almost everything Q3 does could be reimplemented to work better, so you're not really avoiding anything.

I was planning on doing something similar with Bullet, implement Bullet as a general physics engine, then re-implement parts of it as I learn more applied maths.

So are you saying to make things easier, I should target Q3 and roll my own editor, then once I have a functional editor, re-implement Q3, and/or roll my own renderer?

ambushsabre
Sep 1, 2009

It's...it's not shutting down!

BizarroAzrael posted:

There's a design thread? I've not seen it.

Isn't that essentially what this is? I know you've posted in it before..

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

dogmaan posted:

I was planning on doing something similar with Bullet, implement Bullet as a general physics engine, then re-implement parts of it as I learn more applied maths.

So are you saying to make things easier, I should target Q3 and roll my own editor, then once I have a functional editor, re-implement Q3, and/or roll my own renderer?
I'm saying that it's much easier to do things when you already have a functional product and nearly every aspect of Q3 is replaceable. Look no further than the fact that COD4 and MW2 were based on it.

dogmaan
Sep 13, 2007

OneEightHundred posted:

I'm saying that it's much easier to do things when you already have a functional product and nearly every aspect of Q3 is replaceable. Look no further than the fact that COD4 and MW2 were based on it.

what is the best version of Q3 to download?, I imagine there are quite a few cleaned up versions around now.

slovach
Oct 6, 2005
Lennie Fuckin' Briscoe

dogmaan posted:

what is the best version of Q3 to download?, I imagine there are quite a few cleaned up versions around now.

The CPMA version is probably your best bet, I would think.

Adbot
ADBOT LOVES YOU

BizarroAzrael
Apr 6, 2006

"That must weigh heavily on your soul. Let me purge it for you."

ambushsabre posted:

Isn't that essentially what this is? I know you've posted in it before..

Maybe, never regarded it as a purely design thread though.

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