Archive for August, 2016

Open Sourcery

After the approaching patch, it could be a while before the next Creo update. This is for a few reasons. 

The first of which is that there are three updates left for the game before I submit Creo to Steam Greenlight. Two of these three updates include more content than this past update (which took me nearly three weeks during the summer, when I have the majority of days free), and the third of which includes multiplayer, which is shaping up to be more than a bargained for. In addition, do to my current living situation I only have access to a port-forwardable router on a week-on week-off basis. This will mean I will be working on different updates simultaneously, which will of course push back both dates.

Another reason, to which I hinted at earlier, is that school will take up a large portion of my time. I will have time outside of school to work on Creo, but I can’t be certain how much. It is for this reason that I am hesitant to set dates for updates.

The final reason is that I want and need to work on a few open source projects. Here they are:

  • GMSUIL
    • A hate my current UI package. It’s clumsy and I basically had to rewrite every aspect of it before I kind of got it working. Thus, I will create the Game Maker Studio User Interface Library. I want this to be done right, so it will probably take a while. As I’ve mentioned in a previous post this will greatly simplify monolith code, and on the user side the process will be faster and easier. I’ve already started on this.
  • GM:S + Java Networking
    • Yah, I know I already have this working, but the code is rushed and a disaster. I also need support for data being sent in multiple packets to avoid hitting limits. This won’t take too long.
  • gmfxr
    • This is a port of a port of a port (or something like that) of sfxr. It would allow for on-the-fly sound creation in Game Maker: Studio. This is obviously imperative in a project like Creo, and this isn’t something that is already available to GM:S users. This will likely be the last of the projects I start on, because I have already made a significant effort and failed, leading me to dread starting again. The good news is this should also be the shortest of the three.

-David

R15 (D154)

A Very Large Update

Has arrived (although not as in large of a fashion as I had intended). I had to knock a few things off the checklist to regain some sanity.

Things in the update:

  • Custom tool types
  • Custom tools
  • Custom weapons
  • Better/stylized background
  • Custom crafters
  • Custom storage
  • Locked slots
  • Items now appear in the players hand
  • Swinging animation
  • Fog
  • Celestial bodies
  • An overhauled power system

A video showcase:

[youtube https://www.youtube.com/watch?v=p1yd050_UYU?feature=oembed&enablejsapi=1&origin=https://safe.txmblr.com&wmode=opaque&w=540&h=304]

See yah next time!

-David

Fog

It is 2:16 AM as a type this. I have just finished implementing fog. Fog has taken me, in total, 20-25 hours to implement. This includes creating and tweaking a variety of systems. In the end, I went with a shader that uses Fractal Brownian Motion to procedurally generate cloud-like shapes on the GPU.

Fog.

Fucking fog.

I spent all that time on something players will likely notice after playing for a while, at which point their brains will flag fog as irrelivant and they will never notice it again.

Fucking fog.

I was debating whether to tag this is an official dev update or a personal one.

After 20 hours its fucking personal.

New update (development edition, no release yet) arrives tomorrow. I’ll make a GIF then.

D151

image

Time lapse showcasing panel-based backgrounds and celestial bodies.

Remember when I thought I could have this update wrapped up by last Sunday? Ha! Not so.

This update includes a host of visual upgrades. I added the capability for items to appear in the players hand (the pickaxe is just a test, I’ll make the system dynamic later today). I also changed the way the background is drawn (in a number of solid colored panels). A sun and moon can now be seen floating across the sky. As I am typing this I realize I forgot to make it so the panels turn orange when the sun is setting and rising. I’ll change this in a bit.

Sorry for the lack of cohesiveness, but I’ve been programming for quite a while and am eager for a rest.

D150

Back end, resource saving, and sending-to-server of crafters, storage, tools, and weapons. It was as exciting as it sounds.

That wraps up the majority of these “sections” of the update. To finish, I’ll complete a few UI tweaks (REALLY getting pissed off with my current UI setup, can’t wait to write a proper library) and add a new feature to weapons. I want to distinguish between “charged” weapons and “cooldown” weapons. Cooldown weapons would be things like swords, where you swing and then a fraction of a second later you can swing again. Charged weapons would be things like bows, that are activated once the mouse has been helped for a set amount of time, after which “charging” can immediately begin (think drawing the bow back).

D149

I finished this update a couple days ago. Basically, I got the foundations of the storage and crafter UI edited. I went for a buttons attached to slots approach for editing slot properties. These buttons ended up being really small though. I might have to change this in the future but I’ll leave it the way it is for this update.

Lately I’ve been thinking of creating a huge, done right UI library for game maker studio. I estimate I could cut my monolith handling and drawing scripts in half and increase performance. I haven’t had much time but if I could tie the project to Creo I could be able to justify working on it.

Anyways, today I hope to implement saving and server sides for crafters, weapons, storage and tools, wrap up storage and crafter creation UI and make server changes such as a ping-pong system for verifying connection, a better console and console timestamps.

Schedule and Delay

Ok. After two and a half weeks of development I’ve made, and I’ll be brutally honest with myself, very little progress. There are three reasons for this. Two of them are decent excuses, but none of them excuse my lack of planning.

The last two weeks (starting August 1st) I’ve been working Monday-Thursday from 8:00 to 5:30 and Friday 8:00 to 12:30. This is in addition to running practice, which is 5:45 to 7:30 right after work every weekday and early in the morning for two hours Saturday. This leaves me with my work break (2 hours midday) and after cross country practice to get stuff done. I guess in my head I figured I would have had more time. I’m usually exhausted and don’t feel at all like programming, but in the last few days I’ve had more and more success. I’ll have a week and a half completely free before going back to school.

This, of course, left the weekends. My first weekend I spent working on tool and weapon creation UI. I’d like to have been more productive, but was thwarted by reason number three. This past weekend, I was pretty ill. I couldn’t focus on anything, which lended itself to…

Hurtworld. This game has held my attention for a couple hundred hours and has frequently been the antagonist to my attempts at productivity on Creo. I’m not proud of that, but I’ve been cutting down on playtime since this past weekend.

Things are better now. I’m writing this from work and currently spend nearly all my time at the computer working on Creo. I hope to have A Very Large Update out Sunday. I’ll also add those of you who have applied since the last update, and hope that the enthusiasm you had weeks ago hasn’t yet melted away. Anyways, that’s all.

-David

D148

Snoop Fogg

In this update I did a few things.

The immediately noticeable of which is the inclusion of the player arm swinging animation in the direction of actions such as attacking, block breaking and block placing. This will be coupled with a system that will draw items such as tools in the hands of the player. Both of these changes exist under the aesthetic umbrella of A Very Large Update.

I also added UI in the monolith for tool and weapon creation. This was just a matter of copy and pasting existing code and tweaking things here and there. Tool creation adds a tool properties screen including break chance, health and damage followed by a tool type selection screen. Weapon creation adds a weapon type screen (melee and ranged, ranged is disabled until I implement scripted entities) followed by a weapon properties screen that includes all fields in the tool properties UI with the addition of player and enemy knockback fields. These additions were strictly UI related, the server side and client side saving of these resources will be implemented later.

My next post will included details relating to schedule and delays.