Jump to content
  • Advertisement

Blogs

Tower Defense Indie Game Dev Blog #8: Tower Editing Menu and LASERS!

Hello again everyone! This week's start was kind of slow, but at the end of it I managed to add some features which I was planning to do for quite a while. The main feature is: tower upgrades! You can now upgrade towers using a little menu I designed. It gives you all the information about the upgrade such as its cost, damage, locking radius, shooting speed and gun rotation speed. Other thing I added is laser beams which have their own light sources so it looks cool when lots of turrets are shooting. It adds something to the feel of the game.  There are lots of other small tweaks and fixes I did related to tower placement/editing. Here you can see the gameplay in action:   As you might have noticed, as of now flying objects are tanks, this is because I haven't yet modeled planes or helicopters, but I'm planning on doing so. As of now there is only one completely upgradable tower, this is again mainly because I don't have the models yet. I should really find someone to help me out Anyways, that's all for today, I should better go and continue working on the game now, since there's still LOTS of work to do. So see you next week

EddieK

EddieK

Cube Cannon

Hello GameDev, Here is a screen shot of the Cube Cannon.  You can only build one! It is fully operational and it packs a punch, for squares that is.  Anyways I've made so many changes to the code I can't even really recap all the things I've done.  So here is the code TD.06.22.zip If you fancy, give the project a go.  I've included some instructions to go over.
I'm going to be plugging away come tomorrow to add the Hell-Fire Hex and the Tack Tower.
Then I'll be incorporating points and upgrades and a start screen

Yeish!  hopefully figures crossed.
 

Awoken

Awoken

Choconoa Devlog #11

Added a speed effect when sliding.

  Improved branch system.

  Enemies now die with smoke particles to avoid walking through them.



CURRENT STATUS
  GAME DESIGN DONE PROGRAMMING DONE LEVEL DESIGN / BUILDING JUST STARTED ENVIRONMENT ART JUST STARTED CHARACTERS DESIGN / ANIMATION JUST STARTED INTRO / OUTRO TO DO SOUND DESIGN JUST STARTED MUSIC TO DO TEST / OPTIMIZATION TO DO

Iridescent Waves

Iridescent Waves

 

Resistances and Defenses

I've just come off a several-months-long jag of playing Path of Exile. PoE has influenced the (sporadic) development I've done through that time on Goblinson Crusoe by a great deal. While GC is turn-based, it shares a lot of the same DNA as PoE, specifically in the influence of Diablo and Diablo 2, so a lot of ideas and mechanics from those games have been seeded throughout GC. Like Diablo 2, Path of Exile implements a system of resistances for elemental damage (fire, ice, lightning). Resistance stat values are obtained primarily through gear, and are obtained as percentage values that accumulate up to a maximum value. For example, you could get a belt with +35% lightning resistance. Resistance amounts from gear and other sources are accumulated, then capped to a maximum value (75% by default), with the option of obtaining small increases to this maximum value via other sources. Resistance either reduces or increases (it is possible to have negative resistances that actually boost the damage the player takes) the incoming damage by the given percentage.  As one progresses through the game, at certain checkpoints the player's resistance value has imposed upon it a penalty. In the beginning, this penalty was imposed in smaller stages as one progressed through the difficulty levels. (Difficulty levels simply repeat the story of the game, with higher-level monsters as well as the resistance penalty coming into play.) In current PoE, the penalties are imposed at two checkpoints within the story: the first after completing Act 5 (character level approximately L45) and the second after completing Act 10 (around 67 to 70 character level). The first checkpoint applies a -30% reduction to resistances, and the second checkpoint another -30%, for a total of -60%. I understand the thinking behind this design. The game is balanced around having maximum resistances. That is, any given encounter will be damage-tuned with the assumption that the player is at resistance cap, and thus not having the resistance value at cap can bring extra punishment and pain. This provides a constant pressure for equipment improvement as one progresses to end-game; gear that was fine before the checkpoint now is suddenly deficient, pressuring the player to seek upgrades. At a certain point, though, the player can obtain enough +res% to overcome the penalties and still raise their resistance to 75%, meaning they are effectively "done" with upgrading their resistances. (Further equipment upgrades for other stats must be chose to maintain these resistance caps, but that is usually not too difficult.) Typical players are encouraged to obtain these caps as soon as possible to ease the leveling and progression process. While I understand the design, I've always been bothered by the implementation. Having gear that was "fine" at one point suddenly become "totally deficient" in one instant after beating a single specific boss feels too abrupt. Also, I kinda don't like that at a certain point the pressure to maintain resistances eases up. So in GC,  I am exploring ideas for putting this resistance penalty system on a smooth curve, rather than having the abrupt steps. The current iteration of this system uses a logistic function, which is a type of sigmoid function. Instead of collecting gear that provides +X% resistance to a given damage type, you collect gear that gives +Y resistance rating. This resistance rating is plugged into a logistic function to obtain the actual amount of resistance % to apply against incoming damage. The logistic function is structured like this: function res(rating, levelbase, levelslope) return (1.0 / (1.0 + math.pow(e, -levelslope * (rating - levelbase)))) *2.0 -1.0 end The function operates using the rating (granted by equipment and other buffs) as well as a base rating for a given level, levelbase. At level M, if the player's rating is equal to level base, then the granted resistance value will be 0%. Rating less than levelbase results in a negative resistance, while greater than levelbase grants a positive resistance. The factor levelslope is used to affect the spread of the function at a given level; ie, how quickly the resistance approaches 1.0 or -1.0. For example, if you use a levelslope of 1, that means that the resistance value will be very close to -1.0 at a rating that is 6 points below base, and will be very close to 1.0 at a rating that is 6 points above base. This slope value determines the slope of the curve where it passes through the origin of the graph. By making the slope shallower as the character level increases, that spread can be made wider, granting a larger window within which the rating will grant a resistance value somewhere between -1 and 1. This way, as resistance ratings grow larger, the absolute difference between the rating and the levelbase has a more gradual effect on the value. These graphs show how this works: At a levelslope of 1, you can see here that around 6 points below the levelbase, the curve approaches -1, and at around 6 points above, it approaches 1. So if the base resistance rating for that level were, say, 10 then if you had a rating of 4, you would have a resistance value of -100% (or close to), meaning you would effectively take double damage, whereas if you had a rating of 16, you would have a resistance of 100%, meaning you would take no damage. Now, at a higher level, you might have a levelslope of, say, 1/3: Here you can see that the spread is now approximately -16 to +16 from level base. If the levelbase rating for that level were, say, 100 then if you had 84 rating or below you would take double damage, whereas if you had 116 or higher you would take no damage. Of course, the base and slope ratings would be a candidate for a great deal of tuning in the final game. The constant increase of levelbase applies constant pressure for the player to upgrade resistance, not simply at 1 or 2 main checkpoints, but all throughout the game, with that pressure growing larger the longer one plays and levels up without changing equipment. And this also doesn't account for having a resistance cap. In PoE, the default cap is 75%, which can be raised only through rare and special means, which is a sensible design decision in my opinion. A simple solution for this would be to multiply the output of the resistance function by the value of the cap if the output is positive (leaving the negative resistance value uncapped). Doing it this way, the positive side of the curve approaches the resistance cap, rather than 1.0, while the negative side is untouched. I could even implement a negative resistance cap, if so desired, to allow the player to build a stat to reduce the amount of damage taken from having a negative resistance. In my preliminary tests (which include no playtesting so far by anyone but myself) it seems to work fairly well, but this is one of those kinds of systems that I will need to tinker with and explore more fully in the final testing phases. Just because it works well now, doesn't mean it won't be massively exploitable in the future.   I have also been tweaking and experimenting with damage types. At the moment, I have a system of damage types somewhat similar to PoE, though with quite a few differences. In my system, any given attack or spell can deal a certain combination of damage types selected from the set {Crush, Slash, Burn, Poison, Bleed, Void, Shock}. These damage types can additionally be tagged with modifiers drawn from the set {Projectile, Melee, Attack, Spell, Area, DoT, Siege} which can be used to apply damage increases or reductions. So as an example, a basic fireball of some sort might deal 2 damages. The first would be tagged {Crush | Area | Spell} and the second would be tagged {Burn | DoT | Area | Spell}. Player stats exist that can amplify or reduce damage dealt by any of these various tags. So, for example, it might be possible to have a stat that increases Spell damage by 13%, meaning both damage rolls from this fireball spell will be boosted by 13%. Primary damage types all come with a secondary debuff effect. Crush causes a stun/slow effect, slowing the target by some amount for some period of time. Slash damage causes a Bleed debuff that causes damage over time (this damage bearing the {Bleed | DoT} tags). Poison damage also applies a stacking debuff to poison and burn damage resistance rating, meaning that poison and burn damages become more potent the more poison stacks there are. Void causes an increased chance to take a critical strike, and Shock increases all damage taken by a certain %. These effects are all subject to change as the game develops further. The idea, though, is that each damage type should be differentiated by a mechanic, and not just by a type. I've played games where there was no mechanical difference between, ie, Fire and Lightning, merely cosmetic differences and the necessity of maintaining resistances against two types instead of just one. If a damage type doesn't lend itself to some mechanical difference from the others, then it will be altered or removed.   At the moment, all damage types are mitigated in a similar manner, using the damage resistance calculations describe earlier. That is, 'physical' types such as Crush and Slash are not mitigated using any kind of armor rating, but instead are mitigated by Crush or Slash resistance rating granted by certain equipment. Homogenizing the various damage mitigation strategies in this manner vastly simplifies the design of the character combat back-end and balancing, though again it is subject to change in the future.

JTippetts

JTippetts

 

Magic Item Tech, Summer Sale (Steam / itch.io)

Hi everyone!

Two Magic Item Tech games have joined the "Summer Sale" on Steam and itch.io

I Am Overburdened



The silly roguelike full of crazy artifacts and a "hero" who has 20 inventory slots, is 40% off so currently it's only 2.99$ (may vary based on region, base price is 4.99$) !

You can buy it at Steam or at itch.io.

   





Go go go dungeon crawlers !!!

Operation KREEP



The best couch co-op multiplayer Alien satire action game, is 83% so currently it's only 0.50$  (may vary based on region, base price is 2.99$) !!!
If you are a sucker for retro party games like Bomberman (Dyna Blaster) or Battle City make sure to give it a try!

You can buy it at Steam or at itch.io.

   





Remember:
In space no one can hear you KREEP...

I hope you check them out and they will be to your liking ! 

P.S.: Magic Item Tech also has a Steam developer page now. Feel free to follow me there to receive first hand news about my games, updates and sales.

Thanks for taking the time to read my post, have an awesome summer full of fun
Cheers!

Spidi

Spidi

Design Windows-like pause menu and color computations

So the game we develop is growing steadily. We've already added a pause menu. Its function is to be a... pause menu. (I don't know what you expected...) The design Because our game is going to be really Vaporwave, we knew that the visual had to be on point. We ended up trying a classic Windows-like design with header bars and everything, but with a twist... Here's the result: (Note that not all buttons are fully functioning. Also, the seed isn't actually used in the generation) The idea is that this window appears when the player pauses. It takes the form of a popup with fully functional tabs. We also plan to let the player easily navigate through the tabs with keyboard (or buttons, in the case of a controller) shortcuts. In addition, our game uses palettes, so the GUI elements are colored according to the active palette. Here's a example with a different palette: LESS-like color computations You may have noticed that there is a difference between each palette (for example, the title of the window has changed color). This is done by a beautiful library that I built for our project. Because I was a web developer for about 2 years, I already knew (and worked with) CSS compilers like SASS and LESS. My library is strongly inspired these compilers. Especially LESS. The luma value For this reason, I knew there was a way to know if a text of a given color would be readable when displayed on a given background. This feature is present in vanilla LESS : it's called "contrast".  That function uses the luma values (sometimes called "relative lightness" or "perceived luminance") of colors. This small practical value describes the perceived luminance of a color, which means that particularly brightly perceived colors (such as lime green or yellow) gets higher luma values than other colors (red or brown) despite their real lightness value. Here's how I compute a given color's luma value: Color color = Color.GREEN; // Fictionnal class, but it stores each components as floating points values form 0 to 1 float redComponent, blueComponent, greenComponent; if (color.r < 0.03928f){ redComponent = color.r / 12.92f; } else { redComponent = Math.pow((color.r + 0.055f) / 1.055f, 2.4f); } if (color.g < 0.03928f){ greenComponent = color.g / 12.92f; } else { greenComponent = Math.pow((color.g + 0.055f) / 1.055f, 2.4f); } if (color.b < 0.03928f){ blueComponent = color.b / 12.92f } else { blueComponent = Math.pow((color.b + 0.055f) / 1.055f, 2.4f); } float luma = (0.2126f * redComponent) + (0.7152f * greenComponent) + (0.0722f * blueComponent); The actual luma computation is fully describe here. With that luma value, we can then check and compare the contrast between 2 colors: float backgroundLuma = getLuma(backgroundColor) + 0.05f; float textLuma = getLuma(textColor) + 0.05f; float contrast = Math.max(backgroundLuma, textLuma) / Math.min(backgroundLuma, textLuma); With that, we can choose between tow color by picking the one with the lowest contrast: Color chosenTextColor = getContrast(backgroundColor, lightTextColor) > getContrast(backgroundColor, darkTextColor) ? lightTextColor : darkTextColor; This can give us a lot of flexibility: especially since we use many different color palettes in our game, and each with different luma values. This, along with more nice LESS colors functions, can make coloring components a breeze. Just for example, I've inverted our color palette texture and these are the results:   Yes, it looks weird, but notice how each component is still fully readable. Paired with our dynamic palette, color computation is now really easy and flexable.  

miimii1205

miimii1205

 

Mobile Week 14: Text Boxes and Artwork

Hey All, Not too much was done on actual coding this week. I worked on a lot of the artwork. Not my favorite part but essential for the game. Did all the artwork for world 2 room designs. This consisted of: Trees Bushes with flowers Picket fence Gate for fence (doors to other rooms) Grass Also created some images for world 1 that I needed so I can finish all the room layouts. This included: TV Dresser World one Boss! Fire (animated will have some particles) Light bulb fixtures with flickering light ( there will be dark rooms with little light) Text boxes What I did code was the text boxes. These will be essential for the game story. You will find diary pages throughout the game world and this is how you will read them and learn the story. (Also adds a collectible element to the game, have to find them all). For now I am showcasing the text boxes with a sign. These will also be found through out the game to give needed information. I just have to make little tweaks to the code so everything is perfect. Next will be working on the light engine for the darker rooms and coding the world 1 boss! Let me know your thoughts, feelings, opinions. Thanks, SOS-CC
View the full article

SOS-CC

SOS-CC

 

Scroll Mem and Text

s.Yep Yep!! Back again this time with more changes, it is probably the last stop (I hope) before I start to talk about the new game on its own. So what is new. Let see the main function for an overview, here is a test for almost all the features of the game engine: BKP_Entity_Agent * G[3] ; BKP_PlatformMap * Map; BKP_Vec2i g_scr; BKP_Vec2 TWH; //screen ratio based on game artist TWH.w = sprite.w * screen.w / expected.w same with TWH.h int main(int argc, char **argv) { //bkp_setMouse(GLFW_CURSOR, GLFW_CURSOR_DISABLED, mouse_callback, scroll_callback); //bkp_setLogInfo("logdir/",BKP_LOGGER_DEBUG, BKP_LOGGER_FILEOUT | BKP_LOGGER_TERMOUT, BKP_LOGGER_OAPPEND) //change default log //void bkp_setOpenGLInfo(3, 1) //minimal version 3.1 //bkp_setWindowInfo(1024, 768, BKP_TRUE,"BKP Test"); //fullscreen 1024x768 bkp_setWindowInfo(0, 0, BKP_FALSE,"BKP Test"); // window mode, auto detect screen resolution if(bkp_startEngine(argv) != BKP_TRUE) return EXIT_FAILURE; bkp_input_Init(); g_scr = bkp_graphics_getWindowDimensions(); TWH = bkp_graphics_getTWH(1920, 1080); bkp_input_setKeyPauseTimer(.05); G[0] = (BKP_Entity_Agent *) bkp_memory_getTicket(sizeof(BKP_Entity_Agent)); G[1] = (BKP_Entity_Agent *) bkp_memory_getTicket(sizeof(BKP_Entity_Agent)); G[0]->spritesheet = bkp_graphics_2dloadSurface("data/graphics/h_none.png"); G[1]->spritesheet = bkp_graphics_2dloadSurface("data/graphics/platform.png"); init_player(G[0]); setMap(); BKP_Font * myfont; myfont = bkp_graphics_newFont("data/fonts/DejaVuSans.ttf", 64, 128); BKP_ScreenText * fps = bkp_graphics_appendTextPool("do not care", 64, myfont, bkp_vec2(20 * TWH.w,64 * TWH.h), bkp_vec2(.3 * TWH.w,.3 * TWH.h), bkp_vec4(0.98f,0.98f,0.2f,1.0f)); BKP_ScreenText * mem = bkp_graphics_appendTextPool("can't see me", 128, myfont, bkp_vec2(20 * TWH.w,96 * TWH.h), bkp_vec2(.3 * TWH.w,.3 * TWH.h), bkp_vec4(1.0f,1.0f,1.0f,1.0f)); while(G[0]->input->Cancel == 0) { bkp_input_capture(G[0]->input); manage_platforms(Map); //rotating and moving platforms manage_player(G[0]); bkp_graphics_2dscroll(G[0]->dyn.gbox); Ugp_draw(); _update_fps_counter( fps); _update_memUsage(mem); } bkp_graphics_releaseTextPool(fps); bkp_graphics_releaseTextPool(mem); bkp_graphics_freeFont(myfont); unsetMap(); bkp_memory_releaseTicket(G[0]->input); bkp_memory_releaseTicket(G[0]->spritesheet); bkp_memory_releaseTicket(G[1]->spritesheet); bkp_memory_releaseTicket(G[0]); bkp_memory_releaseTicket(G[1]); bkp_logger_write(BKP_LOGGER_INFO,"\t________________________________\n"); bkp_logger_write(BKP_LOGGER_INFO,"\t*POOLS* Allocated : %.1f Kb\n",(float)bkp_memory_allocated() / 1024); bkp_logger_write(BKP_LOGGER_INFO,"\t*POOLS* Used : %.1f Kb\n",(float)bkp_memory_usage() / 1024); bkp_logger_write(BKP_LOGGER_INFO,"\t*POOLS* Free : %.1f Kb\n",(float)bkp_memory_free() / 1024); bkp_stopEngine(); return EXIT_SUCCESS; } For those who have an allergy to global variables don't worry it is just for testing :P. So, now before starting the engine, it is possible to change some engine states by using functions like bkp_set*(); here they are commented. When the engine starts it will set up my memory pools. Those are a number of memory stacks of a different size.  Every time I require some memory it will give me a "ticket" (pointer of size N)  popped from stack #n. All allocations are made at the first time an object of size N is required. For example, if I want 64bytes and the pool is empty it will malloc(64 * default_number_of_object) then later I will just need to pop the ticket or push it back. There is no garbage collector but memory leaks are detected and logged. PRO: the number of calls to malloc is very low or at least computable before a game starts. CON: the default values may waste memory. However, using bkp_set_memory*() allows changing the parameter for pools of the same memory. Anyway, I will need to make statistics for each game to calculate how to set up the memory manager. G[0] = (BKP_Entity_Agent *) bkp_memory_getTicket(sizeof(BKP_Entity_Agent)); This line shows how to ask a ticket (pop a block). I can show the details of the memory manager if asked. Next is the text-engine (if I can call it like this), it is still temporary as I am still a beginner with freetype and I am not sure I will continue with it at the moment, I used it because I want a result and don't want to reinvent the wheel.  The function to draw  is the following, it needs a font loaded by bkp_graphics_newFont (not sure if I want to separate Text module and Graphics module yet) void bkp_graphics_renderText(const char * str, BKP_Font * font, BKP_Vec2 pos, BKP_Vec2 scale, BKP_Vec4 color) In the previous code you don't see any calls of that function because I use an OnscreenTextBuffer, it is a buffer of linked lists where each node contains everything to draw a text on screen such as Text, Position, Scale, Color.  Any text can be added to buffer with the following: BKP_ScreenText * fps = bkp_graphics_appendTextPool("do not care", 64, myfont, bkp_vec2(20 * TWH.w,64 * TWH.h), bkp_vec2(.3 * TWH.w,.3 * TWH.h), bkp_vec4(0.98f,0.98f,0.2f,1.0f)); Here a pointer to the buffer entry is returned to "fps", so you guess for which purpose. 64 is the size in bytes of the text length. Once set, the size cannot change but the content can be changed, for example, like this: sprintf(fps->text, "%s : %d", "fps = ", vfps); void _update_memUsage(BKP_ScreenText * stext) { ssize_t s = bkp_memory_using(); sprintf(stext->text,"memory pool : %.2fMb | %ldKb |%ld bytes", (float)(s/ 1024) / 1024, s / 1024, s); return; } and the internal function will write all texts like this: void bkp_graphics_OnScreentext() { if(NULL == stc_Btext->head) return; BKP_ScreenText * ps = stc_Btext->head; // if text not initialize will segfault. Warning for(; NULL != ps; ps = ps->next) bkp_graphics_renderText(ps->text, ps->font, ps->pos, ps->scale, ps->color); return; }   The last thing I did was scrolling. I didn't do anything fancy or special here, just adding a VIEW matrix in the shader. Every time I move the view portbkp_graphics_2dscroll(G[0]->dyn.gbox); in the GPU otherwise it keeps its values. It is a single function that takes as a parameter a rectangle to focus on. In the following example, the center of the player's bounding box is used as the point of focus: bkp_graphics_2dscroll(G[0]->dyn.gbox); Something I didn't show here is that is possible so set an autoscroll by just giving a default x/y speed to the scroller once again with a function like bkp_set*(). If I comment one of the bkp_memory_releaseTichet()  lines at the end  we get this in the log file or/and screen: [ INFO ][ 2018-06-21 15:56:08 ] -> Graphics Engine stopped [OK] [WARNING][ 2018-06-21 15:56:08 ] -> Ticket for Memory pool are not all released, **MEMORY LEAK** P(4) s:320 [ INFO ][ 2018-06-21 15:56:08 ] -> Destroying Memory pools[OK] The memory leak is detected in the Pool number 4  (320 bytes/ticket) unfortunately I do not provide a way to find exactly where it is. However, it is already a good hint to find it. Now a small video to show everything. I made the character bounce to show clearly all platforms' properties.     What will come next? So far in my learning process I start to go away from my main goal, indeed if this demo shows a Mario like a game, it is not at all what I am making but some features I needed are now present. As an example, the double jump will not be in my game but I implemented it. It is time to pause the game engine development and go to game dev. Next step should be creating the main character and his/her basic movements. I spend a lot of time separating tasks, making the project ready to receive other contributors. That's why I am creating and documenting all the functions. I also have an artist now, not official yet but... Anyway, my experience made me suspicious. Something I  have to recognize I am bad at is levelling. I needed such a long time to pass all basic levels of Soul of Mask, this game is difficult and the difficulty doesn't come crescendo, it is too sudden. I didn't even finish the last level, it looks impossible for me. And as always thanks for reading.                                                      Until next time   ps: I am thinking about making the game engine open-source, for those who read it please tell me in the comment what you think about that Idea.

lilington

lilington

 

Battle Gem Ponies DevLog #176 (Summer Makeover)

Notice a bit of a facelift? I worked on some of the Ultra Pony designs this week, just filling in those gaps in design I was drawing a blank on for the longest while. Now I can say I'm satisfied with how everypony looks and can clearly see them animated in my head.

     Actually animating the sprites is a step to come much later in development, but I can roll with these for now. Come see the steps toward a new playable build featuring a new level editor and a few more motivating surprises in this week's gamedev update!

Yotes Games

Yotes Games

 

Featured #MadeWithCorona Game: OverRapid

Corona can be used to make many different kinds of apps, but undoubtedly it’s a great tool for games. There of course are many different types of games too. We would like to introduce you to OverRapid, a musical puzzle game. OverRapid, created by Byeong-Su Kang of Team ArcStar, is a mobile rhythm action game similar in style to famous titles like Rock Band and Guitar Hero. OverRapid lets you select songs and you’re sent notes down rows and tap on the various lines to have the note counted in your score. You have notes you have to just touch to count and other notes you have to “scratch” to have counted. The game has over 250,000 installs on Google Play and over 116,000 installs on iOS. It also made the Google Indie Game Festival Top 20 in Korea. The game is available as a free download on both Google Play and the App Store with in-app purchases.  
View the full article

CoronaRob

CoronaRob

#5. Mad to the Bone.

We’re going to talk about the new enemy and some balance changes that will appear in the upcoming update. Mad Mage Even among mages there are criminals and undesirables that need to be taken care of and the nobles certainly do not allow for more than one transgression against their power.  Due to their inherent magical talent it is a lot more difficult to keep them as slaves but dwarves of the alchemist’s guild made some progress in said direction. The serums they use erode free will as readily as they erode sanity, making these spellcasters particularly unstable. But as long as the profits outweigh the losses, there is no reason to worry about a bunch of miners drying to an errant spell here and there. Bone Golem The ferocious appearance of the Bone Golem is hiding equally ominous power, that can destroy every living thing in its path. Just look at this. Work Process We’re still working on balance and also changing some abilities. We would like to underline some developments that will be included in the next update. Dark Knight won’t move anymore when using skills “Hollow Stare” and “Futile Hopes”. He will thereby be more effective in the rear via stress attacks. Our Skeleton is a nice little fella, so we decided to increase his initiative. This change will allow you to increase the damage of your allies right at the beginning of the combat or to use skeletons control skills. It’s up to you. We decided to nerf the Mummy’s ability “Cursing Touch”. Now the target will lose 100% luck for two actions, not until the end of combat. We’re going to change abilities of the Lich to make him more playable as a support in the 4th position. For example, his skill “Sacrifice” will not require an action, just like Vampire’s ultimate ability. The Head Hunter was starting to move closer and closer to the role of a “Glass Cannon”. His low durability will be offset by his high damage output that is definitely going to be a problem for your enemies. This time we will change the following abilities: “Catch’ Em” will ignore the block of the target; “Feel’ Em” will double physical damage and stress; And finally, the damage of “Contract” will be increased, but now you need 2 souls to use it. That’s all. We will be happy to answer your questions! Previous Devblogs

IratusLord

IratusLord

June 2018

I suppose I should recap my trip to Las Vegas. I got to attend the Dell World Expo at The Venetian and one of the stations for Dell was dedicated to showing off the application I built for them. Here are a few pictures I took:


This is the booth setup before the show begins. There's two podium stations, a set of wireless headphones, and a Leap Motion device attached to a laptop via USB cable.


The convention is in full swing and people are coming up and interacting with my application. It's driven entirely with hand gestures. No mouse, keyboard, game pad, etc.


This is the first application of its kind in the world. Nobody else has used hand gestures to control and interact with 360 video before. Usually there were healthy crowds of people watching other people try it out.


I had three different interactive scenarios people could play through. The game portion was a fun way to learn about Dells philanthropic programs. I had some people literally go through every single video because engagement was so high. Who wants to watch 15 minutes of corporate feel good video? These guys do! Just in case, I brought my laptop with me and had it setup to create new builds if I needed to. There were some small bugs and changes I wanted to fix, so I started to create another build. I copied all of the files over... and then disaster happened. I don't know how it happened, but somehow, the source code folder was completely empty. I still don't know how that could happen because I just copy/pasted the root project folder and the source code folder was a sub folder. All of the other subfolders had all of their files copied successfully, so it shall remain a mystery. So, if there was a critical bug, we would either need to just deal with it or I would have to catch an emergency flight back to Seattle. There were bugs, but fortunately they were minor enough that we could brush over them.

I had to train the Dell employees how to run the application. Fortunately, I had already anticipated this need and tried to simplify the application management to be as easy as possible. Basically, you could jump between scenes with the number buttons, and the first button just resets the whole app. Unfortunately, there were a few small lighting artifacts which popped up on a reset level, so I had to train them how to quit and restart the app. It only took a few seconds, but it did mean that a booth attendant had to always be on hand and paying attention.

For most of the event, I stood nearby and just watched people using my app and took notes. Where were the pain points? What assumptions were people making about the interface? How long was user interest being held? What was holding their interest? What mistakes did I make? How can I fix them in the next update? What am I missing?
One thing that I realized is that our introduction screen is terrible at attracting attention. I initially wanted to use an interface which trained the user on how to use the application, so to do that, I kept it bare minimalist so that people could focus on only one thing: Learning how to grab things. The interface started with a black background, a floating acorn, and a bit of white instructional text. In terms of focusing and training, it doesn't get any simpler and more clear. As far as capturing the attention of passer bys, it was TERRIBLE. So, if you're walking by and all you see is the intro screen waiting for users to engage, you have no idea what the application does or is about, so you'll just keep walking. This means that if you're the booth attendant, you have to be actively engaging with people walking by and trying to hook them. My opening line is always, "Hey, you want to see something amazing?! Come check this out!". This engagement stuff is always a really good skill to have if you're ever giving demos of your game at events like E3, PAX, meetups, game jams, etc.

After the expo was over, I felt drained and lost a majority of my interest in the application. I don't really know why, but I just got really bored with it. A month later, I'm still bored. My attitude feels like, "Yeah, that was pretty cool and it was hard to pull off, but it's been done now." I was hoping that I would get lots of contacts and leads for more work, but that didn't really happen. Maybe it's my fault. Maybe I needed to be more outgoing and aggressive about getting to know people. Or maybe it wouldn't have mattered one way or another?

During the event, we were put in touch with a team at VMWare, a subsidiary owned by Dell. They were looking for a vendor who would build them a virtual reality application and we were the only ones they could find. So, we had a phone call meeting to get an understanding on what they're trying to build. Basically, it was a group of marketing people who had just seen Ready Player One and they wanted to build a VR experience for their customer experience team. Great! This sounds like a big project and a good opportunity! I started digging into their requirements. They... really didn't know what they wanted or could do. They said that they want every person in the company to be able to use their VR app, and they have 25,000 people. I asked them if they were going to buy 25,000 VR headsets. They didn't realize they needed to buy a headset. ...Okay... They decided that maybe they didn't want to do a VR app. What about a 3D game app instead?
"Sure! I can definitely build one! What do your client workstations look like in terms of hardware specs?"
"We run thin clients throughout the whole enterprise."
*long silence on my end*
"uh... that's not good."
So, I asked them to try running a 3D game on their server and playing it on their thin clients. The big, obvious problem is that all of the 3D GPU processing will happen server side, and the amount of GPU processing is going to be a function of the number of connected clients. So, can their server GPU handle a high rendering load? I'm still waiting to find out...a month later.
I found that they're trying to create a multiplayer app... in vr... with voice over IP...with a content management system backend... supporting up to 25,000 users... on thin clients... in three months! WTF?! Okay, I know I have the capability to build an enterprise level multiplayer CMS app. It's not going to be easy, but I could pull it off. But probably not alone in three months. I'd have to hire people to help. The problem is, it's going to get very expensive, very quickly. And if I put on my hat of pragmatism +5, I have to ask, "Why not just build an enterprise web app?". "Because we want to do something cool and different." That's a valid reason, especially for marketing folks who need to differentiate themselves from other marketing folks. Anyways, I submitted a ridiculous budget proposal last week. I think this project is going to fail before it starts because it's just not technically feasible, but I will probably just have to end up turning down the project if I don't get fully funded by the end of June. I just can't pull this off in less than three months... a corporate MMORPG in VR. In my mind, I'm already expecting it to fall through so I'm not getting any hopes up or counting on it to happen. They have to be moving a lot faster than they're moving right now if they want this to get built.

In other news, I've been in a bit of a professional rut lately. I need to make money. Money is a resource which enables me to do things, and the lack of money is seriously holding me back. For example, I want to create a 3D VR travel application. I've created a working MVP, so now all I have to do is go out and shoot some footage with a camera. I borrowed a 360 camera, but it sucked so bad that all the footage I shot was unusable. I've been looking hungrily at the Insta360 Pro camera. It's got everything I want and need to make my app. 8K 360 video in stereo. Automatic stitching. Image stabilization. Good battery life. etc. But, it costs $3,500 which I don't have. I asked my local community if anyone had one I could borrow one, but no replies. So, this project is on hold until I can get enough funds to purchase equipment. *Sigh*

My girlfriend has been getting on my case about not making enough money as well. It's really hard on her because I don't contribute enough financially. All of my money making schemes tend to be long term (6+ months out). And when I get clients, I tend to vastly undercharge for my services. For example, the leap motion app I just made for Dell, I charged at an hourly rate of $75/hour and grossed about $6,500. I should have at least added another zero to that. My girlfriend tells me I am a stubborn fool who won't listen, and I'll always be poor and broke unless I raise my rates. She's entirely right. She said I should 100% stop doing engineering work for a month and instead focus on sales and marketing. Full time sales and marketing. That's scary, I absolutely hate phone calls, and doing cold calls has zero appeal to me. But, my girlfriend is right. Nobody knows who I am or what I do, so how are they supposed to find me and hire me? Nothing is going to fall into my lap just by existing. I need to build a pretty website which highlights my work and abilities. Then I need to promote that website. So, for the next month, I need to focus on self promotion, sales and marketing.

It's SO tempting to do engineering stuff though. Yesterday I spent a few hours researching machine learning using reinforcement learning. It's really enticing, but it would take a LOT of engineering talent and time to pull off. And I want to try, and I could probably do cool stuff, but it won't help pay for tomorrows bills. So I kind of need to shelve that desire as well. Harsh.

slayemin

slayemin

First Wave of Shapes TD

Here is a video showing the first wave of Shapes TD It features some of the sound effects I've sourced as well.
I've implemented two major functions into the game.  It's now a functioning game.
There is a stage manager, which loads all the models before a given stage begins
And there is a wave manager which determines whether a new shape needs to spawn for a given wave, and if the shape has already spawned what actions it should take.
As well as a tower manager which handles tower targeting and tower animations.

I'll post a code update by the weekend.

Awoken

Awoken

 

These Weeks (Bi-Weekly) in Game-Guru - 06/18/2018

So as you've noticed, I've switched to a bi-weekly update system.  This is to lessen the load on me, which has grown tremendously over the past few months.

I have simply too many obligations to attend to to do this consistently and as such, this is the result.  Good news though - we're in a slow period so there's not a significant amount of content to curate anyways.

So let's get on with it.

OFFICIAL GAME-GURU NEWS Not a lot I can find here.  Seems like most of the news is done by the community as of current.  Work continues towards refining PBR's output and the engine in general.
NEW ITEMS IN THE STORE My least favorite section to review because there's simply too much. Here's some pictures:







So the rundown:  There's some good stuff by M Stockton, Wolf, Campana Productions (love the butterflies and crystal cave stuff), and more.   I think I'll be picking up the gun supplies soon enough from MStockton.  Looks great and at 2.50 sale price - that's a steal.  Pick it up here: https://www.tgcstore.net/pack/11032


THIRD PARTY TOOLS & TUTORIALS You'll notice the addition of '& tutorials'.  I am adding this because I want to ensure that the really noteworthy tutorials get encapsulated along with interesting third party tools.  And frankly, I already have too many subheadings.


An interesting visual scripting framework.  My son, who uses MIT's scratch, will love this.  https://forum.game-guru.com/thread/219760

A really great tutorial by DK (DuchenKuke) on how to do lightmapping. A  must watch!  https://www.youtube.com/watch?v=d6-7m6QLQMA
Work has begun by BOTR (Bored Of The Rings) of making his heightmap import tool an integrated package in Game-Guru on the GitHub source.  https://forum.game-guru.com/thread/218876?page=4#msg2601811

Graphix made a quixel (graphic tool) script for GG: https://forum.game-guru.com/thread/219569

ALERT-EMERGENCY-ALERT - AMENMOSES RELEASED A PHYSICS LIBRARY! GET IT HERE: https://forum.game-guru.com/thread/219758

FREE STUFF
Free Motorcycle Helmet by Bod: https://forum.game-guru.com/thread/215012?page=17#msg2601335

Free monitor tables by Wolf:  https://forum.game-guru.com/thread/219741



Free rubber boat by GraphiX: https://forum.game-guru.com/thread/217932?page=11#msg2601597

RANDOM ACTS OF CREATIVITY
Currently there's a lot of really good work going on in the community by committed members.  I recommend following:
Acythian, by Wolf: https://forum.game-guru.com/thread/211124/newest

Direct Action 2, by Bugsy: https://forum.game-guru.com/thread/219234?page=1#msg2600578

Into the Ice, by Ertlov: https://forum.game-guru.com/thread/206985

Welcome to Manchester, by MooKai wins the honor of getting a screencap put in my blog this week.  What fantastic work using very elementary components of GameGuru:



You can learn more about WoM here: 
https://forum.game-guru.com/thread/219645?page=1#msg2601704

Lots of really good stuff here.  Still waiting on an update by Dimoxinil for his 'Space Losers' game, which should really be honestly one of the 'best of the best' games made by Game-Guru upon release.


IN MY OWN WORKS.
I'll admit, I've allowed a lot of my "Battletech: A Time of War" pen and paper (roll20.net, actually) campaign to preoccupy me, but it's served as a valuable creative writing tool so I can't fault it, too much.  The book is coming along slowly.  I'm dedicating a few hours each week to getting a couple of thousand words done, so it's progressing at the proper pace.  Currently I'm working on a segment discussing 'building your first game' - simply put priorities and configurations.

This chapter already has a few thousand words but is getting a second pass to really expand on it.



View the full article

Bolt-Action Gaming

Bolt-Action Gaming

Tower Defence - Post Mortem

Background It's been a few days since I put my latest alpha of my entry for the Tower Defence challenge on itch.io and my project page: https://lawnjelly.itch.io/ramsbottom I think I've covered the requirements for the challenge, and made the game a bit above just the requirements so it is a bit more fun to play and has some longevity. The reason I entered this time is because I'd been watching the previous challenges with a little envy, and had been waiting for one that seemed simple enough (I think the last one I looked at had multiplayer and I knew that could be a bit of a bag of worms). My usual low level c++ / opengl approach would probably be overkill for a small / low timescale game, so I decided it would be a good opportunity for me to try out Unity engine, which a lot of people are using currently. What went right 1. Using Unity Rapid development, well suited for this type of small game. 2. Attempting to get as much of the challenge completed asap, then leaving further time for more features / polish. I finished much of the base functionality in the first week, then spent time on and off in the next few weeks just making it better. There are lots of advantages to getting something 'finished' up front, and this is a development model I am trying to move towards. You can 'call time' at any time, and still have a functional product. Unforeseen events always seem to appear and limit the time you can spend on a project. This approach guarantees that even in this situation you will still have a 'product' rather than a half-done version of your 'glorious vision'. 3. Using the asset store, not building all the models myself, and using sites such as freesound for the sound, and creative commons music. For small learning games such as this it didn't make sense for me to make the assets. I know it takes me 2/3 of the time to make artwork etc, and while I am improving at it, I am better at (and enjoy) programming more than making artwork. 4. Finding some good tutorials to learn Unity (then throwing out their approaches!). There are some great tutorials out there (brackys for instance), and these are good for learning unity specific stuff, but in some cases I could instantly see better ways of doing things. I put this down to many tutorials being pitched at total beginners, who are happy to get anything on the screen. But e.g. using Unity editor to lay out levels just seemed ridiculous and limiting. What went wrong 1. C# . I hate it, absolute abomination of a language. I spent more time than should ever be necessary screaming at the damn thing, it makes visual basic look like Shakespeare. I could write a whole blog post just on the things about it that make me seethe, but yeah, if I could avoid ever having to use it again, that would be great. 2. Monodevelop Yeah, see point 1. Pretty bad. I might have to see if I can get another editor working if I use Unity again. I hear VS code may be worth a go (I'm on Linux). Monodevelop seemed really keen to reformat my code in stupid ways I couldn't turn off, and kept trying to autocomplete words incorrectly (that I also couldn't turn off). 3. Lack of debugging support. This may have been due to my setup, it might not be straightforward to get debugging working on Linux (I'm assuming with Unity it is possible to do step by step debugging?). This meant huge problems debugging anything but the simplest code (I had to resort to lots of Debug.Log statements). 4. Unity editor. I'm not really a drag and drop sort of guy. I tried to avoid having half the game 'code' being a particular setup in the drag and drop editor. I'm not even sure how to backup that stuff, I'm sure if I'd have had a crash I could have lost the lot. Come to think of it, did I have to backup all the assets too? With all that .meta stuff? I don't know. At least with code you can zip it up small and keep lots of backups. There should be an option in the menu to save your entire project in a compressed form without all the bloated assets etc, just the stuff that is a pain to lose. 5. Unity build times. I had massive problems with excessive build times taking hours when changing platform particularly, it kept baking lightmaps (or maybe something with shaders?) when as far as I knew I had tried to turn them off. Eventually more by luck than judgement, I found that deleting some skydome assets I had imported and deleting (rather than turning off) an extra light finally cured the problem. Far too little debugging info is given out by the build tool logs, to enable you to know WHY your builds are taking hours. Googling reveals I was not the only one with this problem. Don't just tell me 'baking lightmaps', tell me which light is causing this, which objects etc etc. Conclusion Overall I found the challenge very worthwhile. There are several of us working on it, and bouncing ideas around and spurring each other on works very well. Also a little hint of friendly competition is good too!
I managed to get fair basic grounding in Unity, and have a better idea of whether it would be worthwhile using in any future projects.. I may use it for a couple more small games, or evaluate some more current engines (Unreal, or perhaps something more code orientated).
Doing such small projects is also great for experiencing and practising the whole development cycle including release and marketing. This can give a much better perspective on how much time you should invest in different stages, and improve your ability to schedule / finish larger projects. It is something I would recommend to beginners through to advanced developers.

lawnjelly

lawnjelly

 

Second Post!

Hello In my second post, I would like to talk about such things as "Magic and Mechanics, Character Development, Interface and Weather Conditions." At once I would like to note that this is only part of what already exists at the moment. In the process of developing the game, one way or another, some of its elements will be supplemented.
For example -  globaly numbers and stats (25 points of damage, 35 armor, 81.995% of oxygen in the blood), I DO NOT SEE meaning and therefore I WILL NOT do this.(those figures, which in the screenshots - are approximate.)
Everything has its time. So, let's begin! MAGIC: At the moment there are 3 magic skills. 1) Fireball. Average damage. Long flight. A small radius of hit. Relatively small cost of mana.
The Fireball is not only the average damage at low cost of mana, but also a good way to illuminate the narrow and dark places, for lack of the best! Noel studied the art of twisting mana in energy clots in his youth, like his sister.
He always got a good ball-shaped form, so this spell, he applied without much difficulty. But not in combat.
And in battle he still was not, although he was very anxious, during the attack of robbers on the village ...
He is often visited by the thought: "What if I went with my mother to defend village... Was she alive? Was I alive?" 2) Electroball. (yes, that's right.) Not an Electric Ball, no-no ...) High damage. Short flight. Large radius of hit. The average cost of mana.
Electroball appeared relatively recently. Of course, earlier many races used the power of air magic, to create thunderstorms and a downpour to water the crops.
But recently, metropolitan engineers are increasingly using the magic of electricity for various inventions. Electroball, Noel learned by chance ... Carolyn often showed her husband how to use the magic of electricity, and later, for fun, began to train and Noel to slightly push his father.
"Look, Noel is almost getting it! Come on, ????? and you can do it!". He did not succeed ... 3) Healing Waves. Zero damage. Static healing (40 units). Fixed radius of application (around itself). Average radius of hit. Low cost of mana.
Magic is not only destruction, chaos, pain, death, but also healing, help, hope, life. Unfortunately, as a child, Noel was not very worried about healing spells.
Despite the fact that they are owned mainly by women (I would like to remind you that there were no magical academies in the village, and the main types of earnings were: trade, ore mining, logging and harvesting.) Herbs and treatment, mainly engaged women .)
I think that now Noel regrets about it more than ever. Why so few? I explain. MECHANICS: Directly to business!
Features: 1) To each hand - each spell! Many of you, for sure, played TES 5: Skyrim. (if not - very curious game)
Among all the variety of aspects of the game, I was interested in the possibility of using spells, both with two hands, and with each separately.
I decided to implement a similar mechanics.
Almost any spell can be cast alternately from each hand, or simultaneously from two hands.
It looks something like this: The chip is that regardless of the current cooldown (recovery time), you can switch to any other spell right in the battle, by pressing just one button (currently it's Z and X - the spell sheet back and forth).
Thus, if there were a lot of spells, it would be difficult to control each of them (mana cost, radius, cooldown, whether it is selected and on which hand, etc.). Of course, for hardcore hardcore fans and / or fans of Magicka, this would be a trifle, but still the game is not only aimed at fighting, but also on survival, so keep an eye on the indicators (more on this below).
P.S Do not forget that 3 spells - this is the realization that there is at the moment! Ultimately, this number can and will be increased. 2) Mana.
Mana regeneration is a rather ambiguous thing.
At the moment, passive recovery is extremely small. And flacon with mana are not restored to the "sleep" of the Hero. Accordingly, saving on mana is extremely important.
So, throwing all the magic in a row is not the best idea.
There is also a chance that after the death of the enemy, you can absorb some of his mana (and some health or experience). 3) Enhancement of magic skills, their reorganization and rethinking.
At the moment, each of the skills has its own (not a hero) level.
For the enhancement of the character (improving his health, mana, protection, etc.), there are "Points of Characteristics". To improve skills - "skill points".
This is how (approximately) the tree of improvement of skill looks. Everyone of skills has his own! Where there is no branching - you need to learn the previous feature of the skill. Where there are ramifications, you can choose to improve. (or improve everything at once, if you have enough points)
Learn what will happen next, before you can not learn the previous skills - you can not. Intrigue
But something, I'm still spoiler. For example, the "Healing Wave" skill can temporarily increase the Hero's resistance. So it's not just a healing skill, it's also a useful buff. (Gain) Also, some skills will be universal - for example, you can simultaneously deal damage and reduce enemy defense. And this is ONE skill with ONE hand! Imagine how many effects there will be if EACH of these skills can be applied from ANY hand. (x2, but with different CDs) 4) What was said at the beginning, but perhaps part of you, did not betray this value ... I'll just repeat:
This is not the final version. This is what is now. And this is what works now. I hope you heard me
Let's continue! CHARACTER DEVELOPMENT: In addition to the development of skills, there are also points of characteristics, which I mentioned earlier. You can choose what you think is necessary for improvement:
More health, more mana, increased resistance, and maybe a good LUCK? Perhaps I will tell more about it (I think the rest is understandable, except for the figures). Luck is a unique indicator. From this depends, how often Noel will find the islands or dungeons. Will there be spring water, palm trees with bananas, coconuts or trees?
Also how valuable will be the loot (items, reward) in the dungeons.
It also depends on it on how good the weather will be. (about the weather - a little lower)
Of course, luck does not give a 100% chance that Noel's life will turn into a fairy tale. No no. This is only a small percentage of the total fate of Noel. Someone does not even feel it, but someone will always smile at it.
Funny paradox - in life a person can be unsuccessful, but in the game vice versa. That's just ... In life, to improve your luck - it's not so easy, right? So ... I would advise you to take a chance and raise this luck, at least in the game. Let's talk more about the mechanics of mana restoration, which I touched lightly ...
Many are familiar with such projects as Dark Souls, Bloodborn, etc., where to restore something, you need to go somewhere or use something (usually bed / fireplace / bonfire / potions).
In Noel Hope, you will initially have 3 (at the moment) type of flacons. A health potion. Mana Potion. And a potion of rage. Potion of Health - restores health. Mana Potion - restores mana (that's a surprise ...). A potion of rage - increases the damage from all abilities for a specific time.
Also, falling into a rage - your vision changes. You see better in the dark, but worse with light. Side Effects - Oops! Each of flacons is restored after your sleep on the ship.
In certain locations, you can find an extra flacon. (For example, in chests with treasures, or after killing particularly dangerous monsters.)
In dungeons/ instanced dungeon or special places without a fixed value (for example, a shipyard / port / berth / quay), the bubbles will not be restored.
It will be necessary to carefully choose when to spend them. In addition to the potions, there will also be items of equipment, but I will talk about them, as well as about the dungeons / islands, later. Not this time, no. Mechanics of Survival: An important element is survival. Noel has indicators not only of health, mana, experience, but also hunger, thirst and temperature.
 
Hunger is not a very frequent phenomenon, if you sit at home on a chair and look through some forum.
But on a ship, in the middle of the MAGIC ocean, where strange and sometimes not very understandable phenomena happen - hunger is a dangerous thing.
You will have to get food either on the islands, or in dungeons, or through attempts to plant a seed. The islands have to be found, as well as the wildfowl itself, which must still be caught.
And to grow seeds found on a flooded boat or in a commercial barrel, or maybe in cargo on ships - it's a complicated matter. Watering with MAGIC water - will not work!
And even if you find normal water (or get it through the magic of steam), will the seed come up? Increase the chances of success - will help perfume. But I'll tell you about them later, in a new post: P Thirst - it tortures people more often than hunger. Perhaps right now! Want to drink?
You should just go to the kitchen, but Noel has a problem ... MAGIC water can also taste unusual, but you can not call it drinking.
Fortunately, the ship was designed so that it can accommodate special mechanisms that allow processing some liquid into drinking water. Of course, these mechanisms only on drawings. Temperature - this is something that should pay attention more often. On average, the body temperature is 36.6.
I tried to realize this indicator as realistic as possible. (although realism in RPGs with magic is ... mmm ... Conditionally?)
Depending on the weather conditions, from the magic of enemies / spirits and Noel himself - his temperature will change.
If during a meteor storm, Noel is touched at least by a little meteorite, then he will get a burn. And accordingly the temperature of his body will also rise.
If during a snow storm, you want to swim in the water - the temperature of the body will fall.
And so on...
The same applies to his temperature at various islands / dungeons / locations. In addition to the visible indicators - there are those that appear after some events. For example, when lifting loot (inscription) or while running.(stamina) Stamina is only consumed during the run. Well, actually, the INTERFACE itself with all the elements: WEATHER: Less words - more screenshots. Rain with fog: Light snow: Snowfall: Meteorite clouds: Toxic fumes: Just a sunny weather: Tornado: The weather also affects the speed of the ship. During a storm or a hurricane - the speed of the ship is much lower than during a calm. I will draw your attention. These are NOT finite types of weather phenomena. In total there will be more! Perseverance. The work. Well, you understand. I'm just lazy. On this I will finish the story about magic and mechanics, as well as the development of the character and weather phenomena. I'm more than sure that you probably have more questions
In each post, I will give more information, figures, screenshots and plot. Thank you for attention! I hope it was not boring to read! To new posts. P.S. Original Text on russian Language:  

Valsi_Noen

Valsi_Noen

Tower Defense Indie Game Dev Blog #7: Finished Rewriting The Game

All of this week was spent rewriting the whole game in Unity Engine. What can I say... It took me over a month to make a game in OpenGL + Kotlin, but it took only 1 week to learn Unity and do it there. I guess I'm a little bummed that I didn't start using Unity earlier. But at the same time I'm VERY happy that I switched. It made my life so much easier and programming in Unity is FUN!  What I've Done So I haven't implemented new features per se (except for particles), but only redid the old ones. But still here's a list of what I've done: Added collision detection (which was only few clicks in Unity) Added GUI (main menu, splash screen, resume menu) Improved pathfinding Added object placement Added new tower Added heath bars Added event management system Added sounds Added particles (enemy exploding) Added enemy waves Next Week This coming week I think I'm finally going to start implementing new features and make the game feel like a proper game. I plan to finish at least one fully playable level, but I'll see how it goes.   Thanks for reading! I'll see you next week!  

EddieK

EddieK

OpenGL Analog video post-process filter

In order to increase the aesthetics, we looked for tips on the post-processing filter for our engine and came up with the idea of using a VHS / Analog post-processing filter, Because my teammate had already built OpenGL shaders in the past and that's kind of his hobby, he gave me the link to shadertoy. This site is amazing! There're a lot of shaders to use as a base we can build on, and it's also 100% web thanks to WebGL. This shader in particular caught my eye: It's really cool, and yet there are no VHS artifacts that can really obstruct the players' view . So I did a little tinkering with JMonkeyEngine and got this result: I'm really happy with the results. I could however reduce the blur amount: it can be annoying it it's too high...

miimii1205

miimii1205

 

From the Forum – Issue #183

Welcome to this week’s From the Forum. In this post, we highlight a few Corona Community Forums posts that cover important topics. Custom Timers Several Corona developers are starting deep discussion topics that you may find interesting. This topic dives into taking an OOP (Object Oriented Programming) approach to using timers based on objects. Take a chance Game designers have to make quite a few decisions when designing games and those decisions could mean the difference between success or not. In this thread, the question of how much randomness should a game have is discussed and a link to a great resource on skill vs. chance was shared that every game developer should read. Cool retro TV shader Our community is great. They love to share. In this post, see a great new shader that lets you add a retro-TV look to your game. Do you have a particular forum thread that was helpful for you? Let us know about it! Email support@coronalabs.com, put FTF: and the forum title in the subject, and include the URL in the email. We will consider adding it to an upcoming edition of From the Forum.
View the full article

CoronaRob

CoronaRob

Rail Route - Demo R0.3, Train contracts

Try the third demo of Rail Route - a rail network simulator! We intended it to demonstrate how contracts work. You will find quite a big rail network inspired by Prague railways to prove your dispatcher skills. Still no building & research (career mode). We hope it will be our next release.

Any feedback is more than welcome! Tell us what else would you like to see in the game.

Download on our blog: https://railroute.bitrich.info/2018/06/15/demo-r0-3-released/

dozd

dozd

 

Mobile Week 13; Touch controls done, randomization optimized, headache gone

Hey All, Blog is a day later than usual, there was a bug with saving that I wanted to complete before posting. The auto save feature was not saving some global variables correctly that was needed for the room randomization scripts. In order to resolve this I had to re-write the scripts as it was really messy and caused a huge headache. The re-write is great, I took about 30 lines of code down to about 10 so it was a great optimization at the same time. The good news is though it works flawlessly with auto save now. It works perfectly on the phone so if there’s a crash or you don’t finish a run it auto saves from the last room you cleared and the save is deleted upon game over. Items added for touch controls: Changed size and location of vstick and on screen buttons Made it so the item you equip to a button is now displayed on the button itself!! Added a pause button to the GUI. Pressing this pauses the game and draws the inventory. Hitting pause again un-pauses the screen. Added a go to main menu button on the game over screen Added a continue game button on the title screen. If there is no save present it will display no save found. Bugs fixed: If you have full health hearts are now pushed out of your way. Was a bug stopping this from happening on the phone Save game issue resolved Issue resolved on player not being destroyed on game over Features added: Added smoke to the explosion animation. Slowed the animation down. Changed smoke color on fireballs. Title Screen!! Added what will be the official start screen. This will also be random. The blurred background will be chosen randomly and show different room layouts. The character shown on the right side will also be chosen randomly between all enemies, boss, and player!! Added fade in screen transition for new game There might be some little changes I forgot. Gameplay video showcasing everything above and was on an iPhone 7 Plus.
View the full article

SOS-CC

SOS-CC

 

first time coding in python on ios: Guess My Number (rated M: language)

So I used python 3 for ios on my ipad to do part one of this assignment. Part One: create a guess my number game: numSpecial = 0 time = 0 guesses = 0 g = 0 i = 0 import random numSpecial= random.randint(1,9) print ("guess my nmber, biatch! between 1 and 10") while g!= numSpecial:     time = time + 1     if time > 5:         print ("you took too long, loser")     elif g > numSpecial:         print ("too high, shithead")         guesses = guesses + 1     elif g < numSpecial:         print ("too low, asshole")         guesses = guesses + 1     elif guesses > 10:         print ("I have had enough of your shit")     else:         print ("you found an error")     g = int(input("what is your guess?"))     if g == numSpecial:         print ("you guessed right, you are not as stupid as I thought.")         i = input ()   Part Two: figure out where in the program the computer recognises time and place a time limit on the game.   And no it doesn't have an ending because I haven't covered ending a program in the text yet.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!