Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 182 183 [184] 185 186 ... 796

Author Topic: if self.isCoder(): post() #Programming Thread  (Read 903834 times)

Valid_Dark

  • Bay Watcher
  • If you wont let me Dream, I wont let you sleep.
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2745 on: August 02, 2012, 05:50:32 pm »

here's a picture of how it's looking,



well, thats 3 pictues,
and it looks better in person, you can't see all the gui detail in this picture, but w/e.
Logged
There are 10 types of people in this world. Those that understand binary and those that don't


Quote
My milkshake brings all the criminals to justice.

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2746 on: August 02, 2012, 06:13:34 pm »

Oh. God. Finding out boost::shared_ptr is actually not compatible with nullptr and that queue.front() is undefined when empty took me AGES.

But I now finally have a threadsafe messagepump. I'm not sure having input, simulation, world-data and graphics in 4 separate threads is necessary but WHY NOT?! ;)
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

Nadaka

  • Bay Watcher
    • View Profile
    • http://www.nadaka.us
Re: if self.isCoder(): post() #Programming Thread
« Reply #2747 on: August 02, 2012, 07:10:22 pm »

input, graphics and simulation make good sense in separate threads, but i cant think of  good reason to separate the simulation and data.
Logged
Take me out to the black, tell them I ain't comin' back...
I don't care cause I'm still free, you can't take the sky from me...

I turned myself into a monster, to fight against the monsters of the world.

alway

  • Bay Watcher
  • 🏳️‍⚧️
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2748 on: August 02, 2012, 07:17:44 pm »

GUIs are the worst part of making a game. Though luckily most of the framework can be reused if you do it right the first time.
Logged

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2749 on: August 03, 2012, 03:16:48 am »

input, graphics and simulation make good sense in separate threads, but i cant think of  good reason to separate the simulation and data.
Sorry I used the wrong terms. "Simulation" is the encompassing thread that I wanted to "watchdog" the other ones (but I just realised it needs to be a separate process to be able to do that), and data is the actual world-and-physics-simulation. I hope the whole process of move mouse->send to world->move object->graphics read object->display moved viewport doesn't have too much of a lag, even a little bit of lag can be irritating with game-controls.
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

Levi

  • Bay Watcher
  • Is a fish.
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2750 on: August 08, 2012, 01:11:16 pm »

GUIs are the worst part of making a game anything.
:)

Anyway, I've started working on an interesting project(well, interesting to me anyway) as of yesterday, and I'm seeking ideas on a small but fun portion of it.  After making some more progress, I'll probably talk more about it in the creative section.

One of the things this project needs is a way to generate random symbols(or glyphs?).  Something that looks vaguely like letters, but in an unknown language.

Something maybe looking vaguely like:
Spoiler (click to show/hide)

I was thinking of making a list of lines and curves at all possible locations and then just picking a random subset of those, but I'm a bit worried that it'll just look disjointed with all the lines often being disconnected and unnatural looking.  At the moment this is my only plan, but I figured I'd check here to see if anybody has any clever ideas on generating random glyphs.


« Last Edit: August 08, 2012, 01:19:12 pm by Levi »
Logged
Avid Gamer | Goldfish Enthusiast | Canadian | Professional Layabout

alway

  • Bay Watcher
  • 🏳️‍⚧️
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2751 on: August 08, 2012, 01:40:52 pm »

One of the things this project needs is a way to generate random symbols(or glyphs?).  Something that looks vaguely like letters, but in an unknown language.

Something maybe looking vaguely like:
Spoiler (click to show/hide)

I was thinking of making a list of lines and curves at all possible locations and then just picking a random subset of those, but I'm a bit worried that it'll just look disjointed with all the lines often being disconnected and unnatural looking.  At the moment this is my only plan, but I figured I'd check here to see if anybody has any clever ideas on generating random glyphs.
Depending on how deep into it you want to get:
1. Create symbols based on certain loose 'rules' of how the lines should be; this not only helps define something which looks more letter-like, but different sets of glyphs with similar 'rules' will appear to be related, while those with different 'rules' will look unrelated. English and Russian glyphs look similar due to have a partially shared origin, whereas Kanji glyphs follow entirely different stylistic rules. Thus, a method based on some loose rule system will generate a glyph system with an easily extended pseudo-history generation built in. By plugging the rule parameters into any history-generation you may be doing, you can then geographically distribute rules according to historical events, ect; or just leave them random.

These rules would likely describe parameters like 'how many lines should be in the glyph?' 'how much of the glyph should be connected (dots, umlats, ect)?' 'average straightness or curvyness of lines,' 'loops,' 'average length of a line,' 'do lines connect at 90 degree angles?' all those sorts of things, from which they can be generated. These rules don't need to be followed precisely, but the character set should follow them for the most part.

2. Now, this is a more advanced feature, which you probably won't want but it depends on how important it is. Essentially it's to prevent characters which look too similar to one another. Character recognition algorithms can be trained using the symbols; add some noise and distort them slightly for training and testing datasets. You then train the recognition algorithm on the characters, and test against the test dataset. Then, check how accurate the testing was; if it is below a set threshold, the characters look similar and conflicting ones can be regenerated. This may not actually be all that important (after all, even in our character set, capital I and lowercase l look almost identical in some fonts), and there are probably faster ways of doing it.
« Last Edit: August 08, 2012, 01:43:16 pm by alway »
Logged

Valid_Dark

  • Bay Watcher
  • If you wont let me Dream, I wont let you sleep.
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2752 on: August 08, 2012, 01:42:59 pm »

The only thing that came to mind for me, was that in the example you gave many of the glyphs were mirrored across the x or y axis, or both.  So I'd consider maybe doing what you had planned, but making sure it touches an edge and then mirror on whatever edge it touches.  Just a suggestion.
Logged
There are 10 types of people in this world. Those that understand binary and those that don't


Quote
My milkshake brings all the criminals to justice.

Levi

  • Bay Watcher
  • Is a fish.
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2753 on: August 08, 2012, 01:51:46 pm »

Hmm.  Adding rules like that DOES seem like a good idea. 

I suppose rather than my "select valid lines/curves from a list" I could do a more iterative thing, where it starts drawing, and continues or stops based on randomness and a set of rules.  Its a bit trickier, but it would probably make for more interesting looking symbols.  It would probably be more fun to tune that way as well.

This actually would make it easier for me to choose between simple glyphs and complex glyphs, which I might need later on.
Logged
Avid Gamer | Goldfish Enthusiast | Canadian | Professional Layabout

Mego

  • Bay Watcher
  • [PREFSTRING:MADNESS]
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2754 on: August 14, 2012, 11:50:01 pm »

I came up with what I think is a cool and fun idea, and after talking with some friends, I want to share it.

"Collaborative" Programming Week

Premise: See if people can make something useful by writing a bunch of code and handing it to one person to use.

Number of People: 3 or 5

Rules:

1. Use any language you wish. Languages that allow for separation of code into groups (like namespaces) are preferred. (My friends and I are using C++, but you don't have to)
2. Each person gets assigned a day of the week (M-F) which they have exclusive control over the code for 24 hours (starting at 00:00 UTC and ending at 23:59 UTC). In the case of only 3 people participating, one person will get Monday/Wednesday, one person will get Tuesday/Thursday, and one person will get Friday.
3. Each person assigned to M-Th gets a file (and a namespace, if the language supports it) which they will place all of their code in. Participants cannot edit the code of others.
3a. If the language does not support namespaces, care must be taken to ensure that identifier collisions do not happen between coders. A good way to prevent this is to prefix identifiers with the coder's name (for example, Mego_foo instead of foo).
4. The person assigned to Friday is to take all of the code created by the M-Th coders and make something useful out of it. They are responsible for compiling and uploading the result.
5. When a coder passes the project, it is expected that all of their code will compile without error, and, if the stated conditions are met, will run without error.
6. External libraries are allowed, but make sure you include any needed files in the project package. Platform-dependent libraries and code are not allowed unless all participants have the capabilities to utilize them.
7. If you want to do something that doesn't violate any of the above rules, go for it. Anything not expressly forbidden is allowed and encouraged.

Bonus points: Stream a live video feed of your programming, including the code and your voice. We all would love to hear your reaction to your friends' code.
Even more bonus points: Use this as an opportunity to raise money for charity. Programmers are good people.

Two of my friends and I are looking at doing this next week. I will be streaming my two days (Tuesday and Thursday) if we decide to do this, and will have a ChipIn box up on my stream page for the Organization for Autism Research.

Let's see what we can make, people!

(edited to loosen restrictions a bit, and to clarify some things that didn't come across clearly)
« Last Edit: August 15, 2012, 12:05:50 am by Mego »
Logged

GalenEvil

  • Bay Watcher
    • View Profile
    • Mac-Man Games
Re: if self.isCoder(): post() #Programming Thread
« Reply #2755 on: August 15, 2012, 01:13:03 am »

@Mego: This is an awesome idea :D Good luck!
Logged
Fun is Fun......Done is Done... or is that Done is !!FUN!!?
Quote from: Mr Frog
Digging's a lot like surgery, see -- you grab the sharp thing and then drive the sharp end of the sharp thing in as hard as you can and then stuff goes flying and then stuff falls out and then there's a big hole and you're done. I kinda wish there was more screaming, but rocks don't hurt so I guess it can't be helped.

MorleyDev

  • Bay Watcher
  • "It is not enough for it to just work."
    • View Profile
    • MorleyDev
Re: if self.isCoder(): post() #Programming Thread
« Reply #2756 on: August 15, 2012, 05:13:17 pm »

As a random comment, it'd be awesome to try to fit in a pair programming-esque system where the next person is a passenger and the current is the driver, bringing the first person back to pair with the last person at the end and closing the circle ^^ Also two source files where one is just a "unit tests" file and the other is the "code" file would let them document the code much better...

In other news, Ludum Dare 24 next week. Planning on streaming this time now I actually have a decent computer again. I tried to do the last one using my netbook. The 3 minute compile times made me ragequit after the first day of no real progress :D
« Last Edit: August 15, 2012, 05:41:11 pm by MorleyDev »
Logged

alway

  • Bay Watcher
  • 🏳️‍⚧️
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2757 on: August 15, 2012, 05:37:23 pm »

As a random comment, it'd be awesome to try to fit in a pair programming-esque system where the next person is a passenger and the current is the driver, bringing the first person back to pair with the last person at the end and closing the circle
"We developed our program using a SCRUM development cycle!"
"Oh yeah? Well we developed our program using a Homestuck development cycle!"
Logged

MorleyDev

  • Bay Watcher
  • "It is not enough for it to just work."
    • View Profile
    • MorleyDev
Re: if self.isCoder(): post() #Programming Thread
« Reply #2758 on: August 15, 2012, 05:41:50 pm »

What can I say? My time at a professional company has ruined me :D It's more just so the last guy can come back and be like "What the fuwah?" at what's been done with the code, and so the next person isn't spending half the day figuring out just what the devil the last guys code does and has time to implement things xD

Good luck and may your codes be efficient and effective :)
« Last Edit: August 15, 2012, 05:55:33 pm by MorleyDev »
Logged

Mego

  • Bay Watcher
  • [PREFSTRING:MADNESS]
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #2759 on: August 15, 2012, 05:55:07 pm »

What can I say? My time at a professional company has ruined me :D

Good luck and may your codes be efficient and effective :)

BWAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA

EFFICIENT AND EFFECTIVE!

CAN YOU BELIEVE THIS GUY?
Pages: 1 ... 182 183 [184] 185 186 ... 796