Monday, October 13, 2014

Major Update 2c.5

So I originally wasn't going to consider this worthy of an update, but I changed my mind. Especially because I've ripped my hair out(/s) in the process, so its going to get attention.

The .5 in this update stands for artificial intelligence. Or AI. Or chase the player to murder him.
So I don't think it needs a bullet point system, so I'll just explain it.

There are 3 states an entity can be in(technically 4 but I'll get to that), wandering, chasing, stopped, and idle. While an entity is wandering it will randomly frolic around(not at the moment, but in theory). While an entity is chasing, it going after something. It seems counter intuitive but the chasing doesn't have to be the player or even an entity. It can simply be a point, it just means goto. And this may sound debatable, but there is a difference between stopped and idle. Stopped happens after the entity caught up with its target, so it will keep targeted on it, but not spin circles around it trying to get directly on it, but can't because of the way the pathfinding works. When an entity is idle, it has NO active AI status and will remain stationary. So if I were to set an entity to idle after it finished chasing down its target, it would stop, and not keep following the player if it were to move. Which is not a desired behavior.

Sorry if this message seemed a little choppy, I haven't had alot of sleep.

Stay Crazy, Monkey

Friday, September 26, 2014

Major Update 2c

It's here! Combat!

Well, rough combat at that, but none the less combat. I have been working very hard over the past few weeks, with my primary focus on cleaning up the project and obviously combat. Let me tell you, I was not ready for what I had to do to get it to play decent.

So to start off, I had to COMPLETELY redo the entire movement system. I went from about 16 lines of code, to 200+ with just character movement, but it was not for a redundant cause, the character is now based on a velocity system instead of simply adding 0.1 to his position 60 times a second while a key is pressed. It took me about a week to implement, but the movement feels much better and more suited for combat.

Changes/Features

  • Debug Information
    • Before I had to manually add a new string to the design to observe behind the scenes stuff, but know it automatically formats it and adds it to the screen in the proper order. Should significantly speed up development.
  • Target System
    • Overhauled and we went in a new direction, where every attack is AOE, so as long as an entity is within your range, and your weapon uses a swinging motion, it will damage all entities around you. 
    • Preparation for AI elements
  • Combat System
    • When you swing your sword, it now spins around you(in a rather glitchy fashion that I will fix).
    • Does damage respective to the item in your characters weapon slot. 
    • Combat Text
      • When you use a move, or an entity uses a move against you, text will scroll down the screen at a relatively random position on the horizontal x axis, and will fade away before it reaches the end.
  • Character Movement
    • Switched from point system to velocity system, feels significantly better to control, but still a bit awkward. 
That is pretty mush it on the major changes, obviously there are hundreds of more improvements/changes but I can't keep track of every change I make to code, nor are all of them significant. One problem I still have with the velocity system is that once the play stops moving the velocity rapidly maxes out the capacity of an integer. Like, the debug info says 1.401298 x 10^45. Somethings not right there, but I haven't worked out a solution yet.

On the story side of the game Arcie has been working VERY hard on the plot and its turning out pretty good. he won't be able to make any post about it because no spoilers.

Anyways, I think that's it, I'll edit if I forgot something.

Stay Crazy, Monkey

Sunday, September 7, 2014

Update Notification: Combat (and some extra stuff)

So school hit me harder than I expected so I haven't got as much work in as I have wanted, but I assure you I have been working.

I got combat implemented! Well, by implemented, I mean it in its most basic form.  I will trail with a simple diagram of whether an entity is targeted or not. Text in caps is a transition word, anything in parenthesis is an conditional and anything else is an argument.

         
IF  (entity)  IS  (less than)  (equipped weapon's range)  distance from  (player's position) THEN   add  (entity)  to  (players target array)*

FOR EACH  (entity)  IN  (players target array)
IF (entity's DistanceToPlayer)  IS  (less than)  (previously focused entity's DistanceToPlayer)
THEN  (players target) EQUALS (entity)

*The list of possible targets for the player

I don't think that logic I shared was above anyone's head, I tried to simplify it as much as possible. I can assure you the targeting system is longer and more complex than that, but that is essentially how it works.

In addition to the targeting system, targets have health and you can damage them, and you have health, but they can't damage you. In order to damage yourself press B and to heal press N. Obviously this is only for debugging purposes and won't be present in the final game. (But I am considering going back to the classic 'cheat codes' and have something of sorts, for nostalgia's sake)

UI:
Moving to the topic of UI, I converted every thing to a frame system so instead of saying whether a button is visible at this point in the loop, you say whether a frame is visible and its children components will be visible based in its parents visibility. Once I get more stock UI components I will make an options menu, but that's not a priority.

Backend:
For the backend of the game I got pissed off with some camera problems like that I couldn't convert a screen point to a world point and vice versa because I only used a transformation point matrix to calculate the sprite batch's position, and the 3D to Screen point Projector/Unprojector requires a world matrix, view matrix, and a projection matrix, which I couldn't provide obviously. I tried simulation the required matrices but I guess that didn't work because they were created, but never accounted for. So I got rid of ALL matrices and instead of moving a camera, I move the map, which has no noticeable visual/performance affect. So no projecting matrices is required, screen points are on the same definition plane as the world points.

Near Future:

  • Usable networking
  • Usable combat(currently its walk up to entity, attack, wait a second, attack again. I don't consider it usable)
  • Featureful GUI
  •  AI for entities(bit longer off than the rest)

I guess that'll be it, I'll edit any information I left out.

Stay Crazy,  Monkey

Wednesday, August 6, 2014

Update Notification: Soon

Greetings, Monkey here. Sorry its been awhile but i have been working nonstop. I will make the minor update 4 hopefully this week.

It has been so long because I have been experimenting with lighting. I have went from very complicated transparent tile arrays  that span the map except for near the player(only crash from OutOfMemoryException) to attempting actual shaders. The problem with shaders is I can only get them to work with 3D models, not flat sprites. So I converted the entire procedural level loading system to create 3D cubes with sprites on the front. To say it simply,  I had SEVERE camera issues. The camera I've been using is apparently only applicable for 2D surfaces. I got so pissed trying to fix the camera rotation problems that I went back to 2D sprites.

Luckily I came up with a solution that I'm disappointed that i didn't think of before. I have yet to test it so I'll save my embarrassment and not explain it.

But I'm currently uploading the glitch to our youtube channel, Telpath Studios.




Also I have been working on Networking support, since the game will be built with co-op in mind. I am able to get a connection established on a separate tool I made, but once I introduce it to the games loop, it flumps. So I'll need to find a way to integrate it to be able to exist in a game loop.

I believe that's it, so

Stay Crazy, Monkey

Thursday, July 3, 2014

Major Update 2i

I decided to make a Major update out of a couple of minor updates, because I like the idea :). So there will be 3 major update 2's to come all ending with the aspect of the game that it changed.

So I'm changing Minor Update 3 to Major Update 2i. The i is for inventory since that was the major thing that changed. There was some changes between Minor Update 3 and Major update 2. 

Major Update 2i:
everything from Minor Update 3 and:
  • Character  Screen
    • Slots for equipment(only the right piece can go into the right slot)
    • Equipment displays on character in the center of the armor screen
  • Action Bar
    • Has 2 sec cooldown
Upcoming:
Major Update 2c for combat
Major Update 2g for graphics 

Monday, June 30, 2014

Minor Update 3

Greetings,

It is I, Monkey, here to bring more great news of improvements and additions. I have been working very hard on the inventory system lately and it is a a point of sharing!

Inventory:

  • Slot highlighting much more consistent
  • Pick up items
  • Put down items
  • If there is an Item in the slot already, it will swap.
  • Item count(moves with item)
  • Currency(Haven't come up with a name yet)
  • Points(required to progress to next level)

Other Changes/Additions
  • Fixed fullscreen to also change resolution, not just stretch
  • Allowed camera to adjust to different screen sizes
  • Improved resolution scaling across the board for sharper, better textures
Currently working on:
  • Procedural UI System(Buttons, sliders, drop-down boxes)
  • Tweaking inventory here and there
  • Starting to work on a database system for storing large amount of data(ex. items)
Very soon:
  • To finish off the GUI Systems bulk will be Armor and stats buffs and that stuff
  • Completion of databases to begin the implementation of lots and lots of items
Near Future:
  • Combat System
  • Lighting(Brainstorming currently in the works)
  • Multiple levels

Tuesday, May 27, 2014

Major update 1.1

Greetings, 
There wasn't enough changes to be put as a minor update, and most of them were just finishing off implementing stuff from major update 1, so this will be major update 1.1.

Features:
  • Added a currency label to the inventory slot
  • Slots highlight when moused over
  • FPS reader
  • removed 'position' debug information because it was irrelevant to the camera position(the absolute position). plus the numbers never changed on it because after initialization the camera controls took over.

That's it!

Stay crazy, Monkey

Tuesday, May 13, 2014

Major Update 1

So I know it has been a very long time, but I can assure you I have not been inactive. Below is a full list of changes and additions.


  1. I have officially switched to XNA 4.0(c# framework )
  2. Game is now top down view like the original Zelda

Features:
  1. Load tile map from file.
  2. Displays map on screen
  3. Basic animations 
  4. Mobs spawn(no ai yet)
  5. Special content pipeline that has ridiculously fast load time.
Working on:
  1. Collision
  2. AI 
  3. Level switching
  4. Tools(like entity editor and map editor)
  5. Better input
  6. Options menu
  7. Implement levels to content pipeline
  8. GUI system
Near future:
  1. Combat system
  2. Advanced AI
  3. Items
  4. Inventory(once GUI is in)
  5. Better Graphics(lighting, particles, effects, etc.)
  6. Bosses
I will post a planned feature list soon, 

Stay Crazy, Monkey

Friday, February 28, 2014

Pace Change

Greetings,

I know it has been a very long time since the last update I made, but that's because of a shift in mindset. No, I'm not bailing out and quitting the project. The thing I'm changing in the focus of the project. Even though the point of the game is to eventually bring enjoyment to fans, the main reason for the project is learning. I cannot put into words how much stuff I've learned through development with Java. And a better game comes from more knowledge on the material your working with.

So I will I will stop development on "the game", and focus on a long term "game engine". This will result in a more polished and smoother game than something thrown together in a couple months. Because of limitations with optimization with Java, I will be switching languages. You may think that "Oh, well a 2D game doesn't need optimization" and your right in many ways, but I don't want to develop a game that has an thrown together engine running it, instead of a game that has a much more polished engine, that can work for many game titles.

To get a little more technical, I'll state more details. The language I'm switching to is Visual C#. This Language has almost identical syntax to Java, so it won't be much of a learning curve. And it is a native language so it will run a lot faster than Java as well. Obviously making my engine communicate with the CPU and GPU to draw lines and graphics would be reinventing the wheel, so I will use a DirectX header for C#, called SharpDX. I will be using VS10 because I can't get VS12 or 13 to install right.

I appreciate patience, and I am quite a patient person myself, so I find myself most comfortable around patient people, so a long-term goal is my thing. If you have and questions or tips please email me or Arcie at telpathstudios@gmail.com   (I'll be looking into a custom domain)

Stay Crazy, Monkey

Saturday, February 1, 2014

I'll be bauk

Hey, very sorry about the expanded leave, but I predict that very soon I will have me work freed up and I'll be back at hauling away thousands of lines of code. Not really, but close.

So I have one more big work project to finish up on and after that I'll be free to go! I have been available most weekends, but I haven't been able to work on the game because on time constraint. Would you want to play AC4, SC, or WoW, or would you want to write out hundreds of lines of code to not make much progress. I know it sounds selfish, but on time problems some things pass time better than others, so that's why I like to work on the game during the week, because most of my day has already been cut short by school.

-Stay Crazy, Monkey

Friday, January 24, 2014

Wallpaper

Working on some concept art for the game. Here is a wallpaper that recently made hope you enjoy it. Download.

Tuesday, January 21, 2014

Notification 2

Okay, so I had a little time this weekend to work, so I took advantage of it. I completed the following:
      -Complete backend overhaul

Thats it, but it consumed all of my time. The overhaul involved making my custom engine a separate project and using it as a jar library for the game itself.

On a side note, I have been using any free time I have during the week to organize some ideas for a future project. I am unsure of the name, but it will be a space based game. Now just to clear things up -- I will not be beginning work on my new idea until the current game is complete and shipped.
No matter how tempting it is to dump the current idea to move onto a fresh ideas sounds, I wont. I will demonstrate the utmost self control and pace myself. If I begin work on it now I fear that the current project will never get done. Additionally, I am using the current project as 1) an extreme learning tool to make myself fluent in a coding language and the logic behind game programming and 2) to raise funds for future projects. The funds will go to stuff like paying for an actual website host, licensing for music and licensing for software like photoshop, professional sound production software, hardware(such as physical drawing pads), and game engines. To give a few details on my new idea: I am hoping to get it developed in cryengine. Most likely 3, but 4 if it is more available at the time of work. It will be spaced based(this means I'll have to write my own custom planetary gravity system.). It will be open world(as any space game should), and I will attempt to compare it to a space ship assassins creed black flag, but I don't know how relevant that is. --I am aware of the new space sim Star Citizen, and do not want competition-- not saying that my skills are anywheres near that of a whole multi studio team, but I don't want my game to seem like a cheap knockoff of it. So i will try my best to focus more on the single-player intensely story driven style, while Star Citezen is seeming to approach it at more of a Multi-player economy system side(which is perfectly relevant for a space sim).
Anyways I've been rambling to I'll end it here.

Stay Crazy, Monkey

Friday, January 17, 2014

Texture Update 1

Hi, Arcie here and I just wanted to do a quick update about what I am doing. So, as you know it takes a while to texture and stuff and get insperation. I hand draw everything I do and trace it on a computer program, which takes alot of time to do because, you can't get it right on the first try. So, this update i just wanted to say that I have drawn alot of stuff but I have no clue if I would use it yet, just a bunch of concept art right now, so for i have made one boss and two wallpapers and still alot to be done in terms if figuring out what I will keep are not. I can't upload any pics nor do i want to spoil any thing before I am done with all the bosses.

Arcie "stay frosty" 

Tuesday, January 14, 2014

Notification

So I had a a little time to code over the weekend, but that was quickly trampled by other events so no real progress(at least on the coding side of things). I can assure you that arcie has been working hard at making textures. So far he has showed me a boss(which looks fabulous by the way), and an artwork.

Stay Crazy, Monkey.

Sunday, January 5, 2014

Quick progress update(not an official update) & info on my short leave

I have not had enough time this holiday to finish up enough features to claim it as a major update so major update 1 will be pushed back about 4 weeks, but I have been knocking out parts and pieces of each feature enough to consider it "working", but not stable enough to consider that feature complete. I will keep what I said in my last post true and come back with a punch after about 4 weeks so the features will end up getting finished. The following is a list of partially working systems that I have been able to work on.


  • Animations - The system is mostly complete and it works but my custom error handler picks up a null pointer exception when I activate the animation, but after the crash is reported, the animation works properly. So there is some initialization that is out of order that I'm not catching, but I'll find a solution.
  • Sounds - I have a currently very unstable sound system in, and I will wrap up the music situation in a following paragraph.
  • Damage-Point - This a system that assigns certain points on a entity that can receive damage, and each point contains its own damage meter, although the health bar ui(not in yet) will show an average of all the point damage count. Currently I have the system implemented, but I have not got it to a point of being able to test it. 
Current issues:
  • Very long loading time for this short into development, but I have some better systems in mind to fix that.
  • No options. The code I have says they should work, but the ui says they don't. So I am at a torn point where I will have to leave that behind for now or else it will hinder progression of development.
  • Character cant jump. I know it sounds simple, but I am stuck at a point where I can not work out a proper jumping algorithm. And any tutorial I find is using a different set-up than me. Sin waves just aren't working for some reason, and any other algorithm will take its own thread(which I am not able to create due to it not being sync with the LWJGL thread. BTW if any of you can give a solution that would be greatly appreciated)
Sounds:
          I found a guy named Kevin Macleod(incompetech.com) who offers royalty-free music for any commercial/noncommercial project as long as you give full credit. This guy has some pretty sweet stuff, he made some music for movies and stuff(no I am, not being paid to advertise). I will probably donate to make it more official, but he does offer custom scores so I might use that in case I run into copyright problem along the line.

This is the current situation that I am in and I hope that any one following along with us in this development cycle will understand my reason for my 4 week leave. I will edit this post in case I forget anything. Thanks.

Stay Crazy, Monkey