solo developments ~~ creative productions




Welcome to Oddmatics, home of rozza's projects and development blog.

Remember to check out /newstuff for recent posts specifically to do with development and less rambling. Enjoy!

:: blog ~ page 2 ::

It's 2016, happy new year to everyone.

Maybe I'll finish FontProvider.cs sometime soon, the BuildString() function is the hold up, I know of a few ways to implement it but deciding which would turn out nicest in code is a pain. It'll no doubt be a mess first time round, it'll just have to get cleaned up later.

Not long left after stuff is supposed to be done so I genuinely need to hurry up. New Year crunch I guess. :p

Last week was a bit of a mess, but here's a change up for week 4/5 combined...

RozWorld needs some big changes, mostly, this includes moving a lot of stuff around. Most important is that the server stuff will be moved to a library thing.

Why is the server being moved to a library? The main reason is because parts of it are required for the RozWorld game client, the dedicated server mode thing, and the RozWorld Editor. I'd rather have them all link to one single library instead of a mash up of executables and stuff.

This means a lot of the networking code is being binned from the main RozWorld project, and to be honest, it needs a rewrite anyway.

Old RozWorld Netcode Files

Also the new netcode will be tested properly and stuff, so progress will move at a weirdly slow but not actually slow pace. I'll stick it all under the RozWorld repo anyway.

Final thing, I'm looking into sorting out some of the build stuff, automatically copying libraries blah blah blah. Basically, actually using some of the features of Visual Studio. We'll see how that goes too.

Cheerio for week 4/5!

Week 3!

I spent the day today exploring some backups of older project tests I had laying around on my drive and I realised that not only had I got good code for reading keyboard input... I needed to come up with a good hit detection system.

Previously, the old systems I whipped up used a really simple method of checking if wherever the player wanted to move to next was inside a 'solid' area or not... and if you moved more pixels than the area was in size, you could move through 'solid' objects.

Not good! But today I came up with a good scheme, whether I could just use an existing system or not is not the point here, RozWorld is just as much a learning project as it is a serious 'make-something-good' project.

So here's the plan...

Hit Detection Diagram

In this diagram, the player wants to move from the circle, to the star, which he shouldn't be able to do as he impacts the wall at the square. That's the scenario, but to go this in practice I have devised this:

First, we can get the gradient of the vector the player is moving at, by working with his initial point, and the point in which he wants to end up. Then we use this gradient to make two line equations either side of the wall, these are the cyan lines.

Then all the hit detection does, is check if the point the player wants to end up is past the wall, and between the two cyan lines. If he's going to that area, then he's obviously collided with the wall, and he shouldn't be allowed to make the move.

Aside from that, the move shouldn't just be cancelled, the player should be placed at the wall where the player's vector met the wall. That's as simple as equating the wall's line to the player's line and seeing what it ends up as.

...That's the supposed system in a nutshell, the only thing with it is getting it into working code... so I'm going to have to develop the idea a bit first.

Whilst getting on with that, I'll be working on finishing up the last font and then implementing a better rendering system into RozWorld. Tedious work but if it raises the framerate (which it should), then I won't be complaining once it's done. :P

Cheerio for week 3!

Week 2, sort of, of the update thing is here!

So the plan very soon is to completely finish up the font stuff, just today I sorted out the medium font, so there's just the last one to go.

Medium Font Editor Preview

After this is done, the next stage is to fix up the UI stuff to use the new texturing system so that the game doesn't render like 900 objects (we're talking 1 texture for a sentence for instance, instead of 1 texture per character).

Once the UI upgrades are done, language support will be added, alongside structure to the actual main menu, including profiles (for joining servers as different accounts), and other stuff, particularly video settings and texture packs.

Lastly... the netcode... yeah it needs to be largely rewritten and actually tested. This might take a while but it's the first stage to getting in game, so that's kind cool, it's pretty much been a year so... that's long overdue.

As usual, more updates coming soon, hopefully I've actually developed some of this stuff. I'm incredibly lazy still so whatever, I'll post something regardless.

Cheerio for now!

That's right.

This time the month is kicking off with an unoriginal but possibly welcome segment with the oddmatics weekly update thing! This should keep out the horrible dead times when I'm too lazy to post anything (or get out of bed) just like in the October just gone by [RIP].

GUIOMETRY is still in development, though it's mostly editor functionality and testing at this point, the rough implementation was completed and there is some basic test data in the RozWorld repository, it has basic chat font stuff but it'll have more when it's finalised.

All the fonts are complete-ish... I might need to add some more special language characters (like the c with cedilla) but aside from that they're roughly complete, here's a little preview:

Medium Font Preview

(Taken from the medium size font) Looks pretty good I think, and yes those are Xbox 360 buttons, I'd love to support 360 controllers somewhere in the future if possible, but for now I'd rather just support some of the icons. The best part about having buttons in the font is that you will be able to use them in your name to look like the coolest person in any server you join ever.

You might notice a selection of faces at the end of all fonts bar the chat font, and yes, they're included in the font just like the Xbox icons are. All in the name of fun and future immaturity.

Other stuff that I'll probably add will be some icons for the mouse in a similar vein to the Xbox buttons... one icon for the right mouse button, one for the scroll wheel etc. and also I'll include a special keycap looking icon for the same thing. Using the before and after kerning tools should allow them to act kind of like modifiers for normal characters.

Aaaaaaand that's enough for this week!

Expect a new post like this every Wednesday or so (whenever I get around to it), at least once per week. Other individual posts may still be dotted around, it's just that this feature is a guaranteed thing.

Cheerio for now!

older posts   newer posts