Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411468 Posts in 69368 Topics- by 58422 Members - Latest Member: daffodil_dev

April 22, 2024, 11:40:10 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsoperation bloodshed
Pages: 1 2 3 [4] 5
Print
Author Topic: operation bloodshed  (Read 17036 times)
Quarry
Level 10
*****


View Profile
« Reply #60 on: September 29, 2013, 06:37:05 AM »

It might be too late as well, as you'll have to move like 70% of your code to server
Logged
vittorioromeo
Level 2
**



View Profile WWW
« Reply #61 on: September 29, 2013, 06:44:56 AM »

It might be too late as well, as you'll have to move like 70% of your code to server

I've seen projects (Risk of Rain, for example), that started as a completely single-player game then added an online multiplayer part.

Does coding a server mean completely change the way you code things?
Logged

Quarry
Level 10
*****


View Profile
« Reply #62 on: September 29, 2013, 08:08:55 AM »

The golden rule is "Never trust the server", that basically means that the only thing client must do is send input and receive data. This means that you'll move founctions to the server to calculate and leave just variables for the client
Logged
vittorioromeo
Level 2
**



View Profile WWW
« Reply #63 on: September 29, 2013, 09:23:10 AM »

"Never trust the server"

wut
Logged

Quarry
Level 10
*****


View Profile
« Reply #64 on: September 29, 2013, 09:33:09 AM »

Never trust the client*

WTF Embarrassed
Logged
vittorioromeo
Level 2
**



View Profile WWW
« Reply #65 on: September 30, 2013, 06:04:50 AM »

new videos - many new elements / example room







In the videos:
* New element: destructible wall
* New elements: doors and pressure plates
* New elements: laser beam turret, plasma cannon turret
* New enemy type: enforcer (shoulder-mounted plasma cannon)
* Many new editor features
Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #66 on: October 02, 2013, 11:44:33 PM »

Apart from playing Terraria 1.2, I implemented "sectors" and "levels".
A sector is a collection of levels, a level is a playable room.

You can create a sector in the editor and place levels around. Then, in-game, if you walk off-screen and there is a valid level in the direction you walked into, the level will be changed.

Currently, if you leave the current level and come back, the enemies respawn (and everything is the same as before) - unless you cleared the level before leaving.
I've also added green doors that toggle when the level is cleared.

So, I kinda have a design issue - should I put loot in the levels?
- If I put loot in the levels, should it be persistent or respawn if the player enters the same level again?

Or should I have a shop somewhere?
Logged

ghoulkid86
Level 0
***



View Profile WWW
« Reply #67 on: October 03, 2013, 02:15:57 AM »

There is not a single thing that I don't absolutely love about this project. That's all, bye.
Logged

Iso
Level 0
***



View Profile
« Reply #68 on: October 03, 2013, 02:46:44 AM »

Loot is always fun to find but you don't want it to be exploitable, so I'd say no to just re-entering the room to get it back.

Money might be a good idea, so it can be farmed then bought if the player wants to do that.

Btw, this project is cool. I used to love games like this.
Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #69 on: October 03, 2013, 06:37:56 AM »

There is not a single thing that I don't absolutely love about this project. That's all, bye.

Thanks!  Kiss


Loot is always fun to find but you don't want it to be exploitable, so I'd say no to just re-entering the room to get it back.

Money might be a good idea, so it can be farmed then bought if the player wants to do that.

Btw, this project is cool. I used to love games like this.

I've implemented some "energy shards" that the enemies drop.
At the moment, if you leave the level (before clearing it), the shards you collected in that room are discarded.

I was thinking about using the energy shards both as currency and both as "smart bombs":
* This makes the player decide between using a bomb (and possibly avoid death) or save money
* This gives a reason for being able to collect energy shards even before the level is clear

I could also go one step further and use energy shards also for ammunition... thoughts?

About loot: I'm not sure I'll implement trinkets/passives/stats, so loot would either be ammunition (unless I use energy shards) or medkits.

Or I could just refill the player's health at the beginning of every level.
So many hard design decisions  Concerned
Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #70 on: October 08, 2013, 01:45:37 AM »

new video - new elements, multi-level sectors




In the video:
* Editing 32x speed timelapse
* Playthrough of a multi-level sector
* New elements (green/red doors, trapdoors, enemy spawners)
* More aggressive enemies (tweaked bouncing)
* Energy shard collection

Also...

« Last Edit: October 08, 2013, 02:24:42 AM by vittorioromeo » Logged

Iso
Level 0
***



View Profile
« Reply #71 on: October 08, 2013, 02:46:49 AM »


-awesome gif snip-

Particles go through walls, would not buy.

Just kidding, that's awesome, the FPS stayed constant too!
Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #72 on: October 18, 2013, 12:19:45 AM »

Today I made a logo:


(I'm also going to turn it into two usable in-game bitmap fonts)

---

I've also added new elements and features that I'll cover in a future video, such as pressure-plate activated explosives, player-only trapdoors and vending machines.

---

So far:


« Last Edit: October 18, 2013, 12:45:42 PM by vittorioromeo » Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #73 on: October 22, 2013, 12:25:15 AM »

new video - vending machines, on/off pressure plates, explosives, ...




In the video:
* Healing vending machine
* New pressure plate type
* More elements have IDs that can be bound to pressure plates
* Explosive crates!
* New trapdoor type
* Weapon sprite changes

Not in the video:
* Major refactoring and performance improvements

Probably in next video:
* Switches (alternative to pressure plates)
* Sensors (alternative to pressure plates that bullets can trigger)
« Last Edit: October 22, 2013, 12:38:04 AM by vittorioromeo » Logged

Udderdude
Level 10
*****


View Profile WWW
« Reply #74 on: October 29, 2013, 02:02:59 PM »

You've certianly added lots of cool stuff to build interesting levels out of .. how about some more enemy types, though?
Logged
vittorioromeo
Level 2
**



View Profile WWW
« Reply #75 on: November 09, 2013, 09:32:19 AM »

Needed a GUI system for the editor, so I created one...

Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #76 on: November 15, 2013, 09:08:38 AM »

Just thought I'd give a little update: I've been working on the editor interface.



Never thought programming a GUI from scratch would be so hard: focusing the correct widgets in nested lists, textbox focusing and text entering, and culling off-form widgets all gave me headaches... but it seems to work now.

Video coming soon!
Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #77 on: November 23, 2013, 03:31:23 AM »

new video - GUI, force fields, bullet boosters





In the video:
* GUI system: A graphical user interface for the editor, written from scratch with no prior knowledge of GUI code design.
* Force fields: they prevent player and/or the enemies movement in the opposite direction. Can be turned on/off.
* Bullet force fields: they prevent player and/or enemies bullet from passing through a specific side. Can be turned on/off.
* Bullet boosters/direction changers: they alter the bullets's velocity - useful for trap creation and multi-directional turrets.
* Acceleration-based player movement
* Other minor changes...

I've also created a Facebook page for the game (WIP), which I will use for future video updates:
http://www.facebook.com/operationbloodshed

And I've also had the idea of creating tutorial screencasts about modern C++11 game development for beginners. What do you think? Is someone interested?

Logged

vittorioromeo
Level 2
**



View Profile WWW
« Reply #78 on: December 08, 2013, 06:48:20 AM »



Spent most of my day working on automatic console formatting.
Basically, you can define template specializations that get automatically called when sending a certain object type to the log stream:

Code:
template<> struct Stringifier<ssvs::MBtn>
{
    using T = ssvs::MBtn;
    template<bool TLogify> inline static void impl(const T& mValue, std::ostream& mStream)
    {
        // TLogify determines whether to apply formatting or not,
        // since the same "Stringifier" object is used for simple toStr(...) conversions
        if(TLogify) mStream << Console::setColorFG(Console::Color::Green);
        mStream << "(" + ssvs::getBtnName(mValue) + ")";
    }
};

Also, I've adapted my naive GUI system to work with any font, as shown in the screenshot.
Logged

Udderdude
Level 10
*****


View Profile WWW
« Reply #79 on: December 08, 2013, 11:20:23 AM »

Starting to get really complex ..
Logged
Pages: 1 2 3 [4] 5
Print
Jump to:  

Theme orange-lt created by panic