Mikes Crazy Universe.

RSS

Posts tagged with "development"

Little screenshot showing the recent optizations, mainly the cut off points around your screen, again - This will be widened soon, i just needed to see a few things while debugging.

Little screenshot showing the recent optizations, mainly the cut off points around your screen, again - This will be widened soon, i just needed to see a few things while debugging.

Progress!

Well after a while of not developing the game at all, i’m finally back onto full throttle ahead progress (sounds cool!).

Anyways - My plan a week ago or so was to get started on the Artificial Intelligence, unfortunatly this kind of hasn’t gone as planned as i thought it would of.
I thought i may as well start doing the core optimizations now - Getting as much optimization out of it as i can at the moment, and also take my time altering the tile picking algorithm to work a bit better in game.
I can happily say that both of these tasks where a great success!
It has taken me a few days to finally figure out, i was getting preeeeetty damn pissed off - Then today it just appeared in my head, the solution. I kinda hate that, but then i guess it puts an edge on programming, plus the fact that my mathematics is completely shite haha.
For the core optimization i basically had to try and figure out how i can reduce the tiles visible on screen as low as i possibly could, all the possibilities i tried where not to my liking, and i would always end up with this cropped part of the map, displayed in isometric format. So a cropped diamond. It looked terrible i have to admit, so i ploughed on to find something that didn’t feel like a slap in the face when you load it up.
It now doesn’t display in that typical “isometric” diamond cropped map, but rather fullscreen kind of, there is a slightoffset at the moment - But that’s for debug purposes of course, after i will set it so it fully fills your screen!
I’m quite happy with the result of all this and now that honestly leave me with nothing left (yet) to begin working on, other than starting the Artificial Intelligence! yaaaay.

Just to brag anyway, i managed to reduce the amount of tiles loaded at any given time from
From: 3461 (Above ground)    To: 1127 (Above Ground)
From: 4500 (Below Ground)     To: 3780 (Below Ground)
I think thats a big jump anyway - The perfomance is running smooth on my computer, dread to think all those entities being drawn at once on a shitty computer.
Oh well - I have an idea how i can reduce them even further, but that can wait!
So over the next few days you can expect more AI updates rather than usual terrain generation logs.

Over and out!

Crafting!

Well thats good. I’ve taken a step back and i am happy with how everything looks (apart from my awful pixel art), but i have the things that i originally wanted to see on the map. Aswell as underground, of course there are only a few underground rareties at the moment, but i want to also add alot more, since alot of the time of the player most likely will be spent digging to find them, maybe different types of stone underground, again they could be used for crafting later on, a yellow-ish stone block underground may be relativly useless to the player, but may give them something to craft.

I am unsure about why alot of the things i am making are geared towards crafting - Been as i take alot of inspiration from qutie a few games i enjoy playing, the main one being Minecraft - Whats the main thing you are doing sometimes in Minecraft? Building, and crafting… And i enjoy that - So i want to apply that awesomness in my own ways in this game, partly in the crafting aspects.

Crafting in this game will allow you to create a variety of differnt things, from decorative, to usefullness - You just decide what the people you are controlling in the game will create. I want alot of different things that you can create, alot.. Alot of the content may come from crafting and discovering new things in it.

The main idea i have at the moment, is that you create a sort of crafting bench (Kind of like the one in Minecraft), but allows you to add certain things to it. Maybe while logging some trees you turn them into sticks, then find a rock on the floor, add them together to create a blunt dagger of some sort? I’m sure there are loads of possibilties that you can do, and as i said, i enjoy this part of games, so i want it to play quite an important role in this game.

Mid-day Update?

Well - For needing to experiment alot more on how the map generation differs, between each seed, i changed the way they are loaded in, currently there is a 6-7 digit number (It is generated randomly), that is fed into the main noise map that deals with the terrain generation and ore generation ect. The main stuffs.
I then half that seed number and use that in the second noise map that is used for level detail (Mostly above ground for now), things like trees placement, flowers placement and a few more in the future.

Oh yes, i also added 2 new block types, flowers, red and yellow. Currently the yellow flower is more common than the red flower, like just under double? It was a bug originally, but i like it that way, it allows me to think of a few more things i can do with the red flowers, that you can’t with the yellow.
Now i want to work on creating a one or two new block types, mainly for decoration above ground, and would be used for the crafting feature.
I have not created “Crafting” - Yet. And hopefully will be able to code it over the next week and create a post detailing how it would work. I think before that though i will need to implement basic AI for the villagers/people of the game first though.

The game progress is going great, my pile of coursework however is just getting higher and higher, so i suppose i best take a break and blitz through that and come back to the game later on!

After i came home from work i ended up working on more of the game i have been thinking and creating for a good few weeks now.
Now i’ve kicked the pace up, it is clearly evident of how good the progress is going.
Today i have done alot of things. As you can see by the photos, they are mostly graphical changes. Being new to pixel art, i think i’m not bad i have to say haha.

Anyways, enough of that, bring on the update breif!

  • Added a zoom function, this allows you to zoom in and out of the map (duh!) using “practical” keyboard buttons. I have decided to use the I key to zoom “In”, and O key to zoom “Out”. A much needed function for a game like this i think.
  • Ability to switch the current height level you are seeing, this allows for other functions to be built ontop of this.
  • View Distance is now taken into consideration for each render, this only applies to Height for now, for example, show current level 6 and the above 3 levels (The default view distance for height is 3).
  • Added a new block type: Stone, this is found not far under the ground surface and gradually fades in from the dirt.
  • Added Ores! (Yaaaaaaay!!!) - These are cool. This allows for alot of things i have planned in the game, at the moment there are only copper, iron and coal (See above for images) - These ores are only found in Stone.
  • Trees and “baby-trees” are now added into the level generation, there are clusters of larger trees, and scattered around the map are the baby trees. In the future i want these to grow after a certain amount of time (Will happen in some farming update maybe?). Trees and baby-trees are only found on Grass and will not be found on Dirt blocks.
  • Map heights are now treated as dynamic and can be changed relativly easily per level generation, i have also set a minimum height for the level generation too.
  • Fixed the correct ordering of larger sprites on the map, luckily i found out this was happening because the trees would be layering ontop the trees from the height level above. Very handy for later on, better figuring it out sooner rather than later.
  • Added the ability for “double-height” blocks on the map, the first example of this is the Tree block (Not baby tree!).
  • I can now set the rarety of the ores when the world is generating, making it more difficult or easier to obtain resources below ground.
  • Coal is now only found 6 levels below the ground surface, making Copper the only resource available untill you reach coal.
  • Changed the way the Grass block looks (See above picture for the slight change), it basically transitions into the dirt alot nicer.
  • Trees will not spawn ontop of each other anymore, neither on water, or in thin air.
  • When moving around the viewport, it now has a “speed” variable where i can easily globally edit the speed of moving inside the viewport. Handy!

Of course there where quite a few bug fixes that where done in between that but as i said above. I am proud of todays progress, it’s all going very good - Soon i’ll get to be working on the AI for the Villagers or People of the world!.

Well - I’m suprised i completed todays task in a whole day, usually when i plan to do things, i always say right - Im going to finish it in a day, and then it takes 2-3 days to actually do. Most likely because it’s the first time doing it or experimenting with doing it that way, but alas it’ll be working.Enough babbling on!
Now, i’ve had heightmaps from a few earlier versions a few weeks ago? But they wasn’t “proper” heightmaps, well. They was, but they just wasn’t logical.This way im doing it is “proper”, there is “levels” or height levels if you like, and can have a tile for each one. At the moment - Rendering is a nightmare, it’s not that fast, but i expected that, at the moment i havn’t optimized it, at all with the new heightmaps.Anyways, again tweaking the map generation while i was doing the heightmaps, just to save me doing it tomorrow. Kill 2 birds with one stone? Why not.Here’s for the screenshot of todays progress.Overall. Totally impressed with what ive acheived in a good few hours, i’m glad i still am programming a game, rather than a standard web application. The possibilities blow my mind sometimes. Fun fun. Time to tinker a bit more before bed, and of course, laughing along while listening to the YogPod (By the YogsCast ironically).

Well - I’m suprised i completed todays task in a whole day, usually when i plan to do things, i always say right - Im going to finish it in a day, and then it takes 2-3 days to actually do. Most likely because it’s the first time doing it or experimenting with doing it that way, but alas it’ll be working.
Enough babbling on!

Now, i’ve had heightmaps from a few earlier versions a few weeks ago? But they wasn’t “proper” heightmaps, well. They was, but they just wasn’t logical.
This way im doing it is “proper”, there is “levels” or height levels if you like, and can have a tile for each one. At the moment - Rendering is a nightmare, it’s not that fast, but i expected that, at the moment i havn’t optimized it, at all with the new heightmaps.
Anyways, again tweaking the map generation while i was doing the heightmaps, just to save me doing it tomorrow. Kill 2 birds with one stone? Why not.
Here’s for the screenshot of todays progress.
Overall. Totally impressed with what ive acheived in a good few hours, i’m glad i still am programming a game, rather than a standard web application. The possibilities blow my mind sometimes. Fun fun. Time to tinker a bit more before bed, and of course, laughing along while listening to the YogPod (By the YogsCast ironically).

Mathematics… :(

After spending a good 2 hours or so improving the perlin noise method for various things, the main one was the base ground elevation, it is tweaked alot better, it simply has larger area’s of ground, and less of a wide variety, it looks better!

I also figured out a few bugs, one which ended up creating a new noise map 10 times - How embarressing.. That was simply because i was trying to figure out proper Z-rendering yesterday, it’s all good now!
I also have an idea of how im going to create random rareties underground… Lovely!

But now though, i think i have to work on adding a basic zoom level, and stop canvas automatically blurring images on zoom, super annoying!
Then after thats done work out a good way to move around the map with your mouse.. Not even attempted doing dubble buffering yet in canvas, could be an option though…
Development is going very speedy, and efficient. It’s awesome :)

Enhanced by Zemanta

I play, alot of Minecraft (Well, Tekkit now)… And i meant, aloooooot. It’s usually what i do when i get in from work, to wind down (Where as i used to end up coding something instead).
My plan is to start developing something new, something different in my eyes, after developing Dream online quite alot - I’ve gotten a bit bored of it, now thats not a good thing when it’s your own game, especially. So when i have the time to figure out what i can do to make it more enjoyable for me, im sure it will be much more enjoyable for others. When i eventually do release it, that is haha.

Anyway! So if i want to start coding something different. And i want to still enjoy the Minecraft aspects of things. Why don’t i combine the two?
No i don’t mean a shitty ass Minecraft clone in the browser… I mean something different!
I like playing Minecraft with others, in the sense of, not feeling alone in the world of Minecraft, but sometimes, having some annoying bastards playing with you is kind of offputting…
So why don’t i create a game, kind of an Sandbox type thing, but one which involves the gameplay style of other people playing with you, but only, solo.
So im thinking, random tasks being carried out by those “people/characters”, random events happening to them (Suddenly dying?) or even giving birth to other “characters/people”. But not another “travian” clone. It’s different.
This got my mind wide open, flooding with creative ideas on what i can do with this. So i’m here to share my idea’s with you guys… My plan!

The name of the game, is currently unknown. But starting today, i will start brainstorming some major ideas of how the gameplay will be, what i want it to be like. I figured if it’s something i’ll really enjoy to play - Then others would enjoy playing it too?

I’ll keep you guys updated.

Enhanced by Zemanta

Bugging. Me… Hmm…

Well this problem has been bugging me for quite a while now in the engine, it simply doesn’t perform properly as it should in Chrome, but with no obvious errors of course.
Me and Jan ended up fixing up quite a few good optimization changes and it performs really well now.
All i need to figure out is how to get the Tiles to actually load from the Minimap in Chrome. Although this isn’t how it will “work out” in the final game, i like to also know why on earth it isn’t working how it should.

I have tested loads, i mean, loooooads of different things that it “could” be, from not loading properly (Or yet), to the algorithm changing RGB code to Hex, but i just can’t figure it out. Odd!


Debugging is hell, but a fun hell i guess!
Hmm… Off till it’s working…

Enhanced by Zemanta

Update *Finally*

Well first i guess i’d have to apollogise for not posting any news earlier - I guess there wasn’t that much to post about, it’s been a busy few weeks in personal life…

Me and the other developer decided to switch to Canvas to optimize the game enigne, i’ve always been wary of choosing it, constantly thinking, is the web ready for it? But we’ve grown up, i think the web is more than ready for canvas now…

So slowly by slowly, were porting everything over to work with canvas, well - I say porting, we ended up rewriting the whole thing and ended up going for a much better structured approach attempting to use the best of “fake” Classes in Javascript. It works, and the performance is alot better, even though it’s early stages - I think we’ll be fine, i added walking/Character animation, tile detection, auto-tile support (Woo!), npc’s and mobs are now back in (static at the moment until i code any behaviours back in for them).

Of course through out most of doing this i decided to do some stress testing on the canvas, and it holds out pretty damn well - Im impressed, sometimes it’s a little bit jumpy but we havn’t even started optimizing anything yet so im sure we’ll be fine…

The idea behind switching to canvas was to allow for a much more detailed enviroment and to allow for alot more events to be shown, live, animating, ect all at once - And i can tell it’s going to handle that just fine.
So yeah! Thats the latest update on the Dream Online Game Engine…
I guess soon i best start putting in some screenshots back up here! :)


Oh also, my hamster died, i now have a new one. Mhm. It’s a week old and i still have no name… She’s fully ginger (no not calling it ginger either…).

Oh and over the weekend me and Jan want to finish off a few bugs regarding the mobs jumping about a little bit while the Character is moving, once that’s done it’s time for networking to be implemented, yay!

Enhanced by Zemanta